clamscan에서 반환된 오류 및 경고 메시지 목록이 있습니까?

clamscan에서 반환된 오류 및 경고 메시지 목록이 있습니까?

저는 clamscan 실행 파일의 시스템 호출에 대한 Java 래퍼를 작성하고 있습니다.

나는 clamscan이 제공한 오류 및 경고 메시지 목록을 찾으려고 노력했지만 성공하지 못했습니다.

예를 들어 다음과 같은 clamscan 문제 경고를 본 적이 있습니다.

"경고: ***바이러스 데이터베이스가 7일 이상 지났습니다!"

...그리고 다음과 같은 오류

"LibClamAV 오류: cli_load(): /var/lib/clamav/bytecode.cvd 파일을 열 수 없습니다."

가능한 모든 경고 및 오류 목록을 얻을 수 있는 방법이 있습니까?

답변1

하드코딩된 경고 또는 오류 메시지 목록은 어디에도 없습니다. 메시지는 기본적으로 인쇄 명령문일 뿐입니다. 표시될 수 있는 메시지 목록(및 해당 내용)은 버전마다 다를 수 있으며 ClamAV 구성 방법에 따라 다릅니다.

정말로 목록을 작성하려면 코드에서 cli_warnmsg또는 를 검색하여 시작할 수 있습니다 cli_errmsg. 예를 들어:https://github.com/Cisco-Talos/clamav-devel/search?q=cli_errmsg&unscoped_q=cli_errmsg

stderrclamscan취할 수 있는 또 다른 접근 방식은 코드를 해당 메시지의 내용과 긴밀하게 연결하는 대신 실행 후 확인 하고 이를 기반으로 조치를 취하는 것입니다. freshclam비슷한 일을 했습니다(참조:https://github.com/Cisco-Talos/clamav-devel/blob/5087673200af439707dab8ae44c7b567cdabc567/freshclam/manager.c#L1426).

오류가 발생했는지 확인하는 가장 신뢰할 수 있는 방법은 반환 값을 확인하는 것입니다 clamscan. 하지만 매뉴얼 페이지를 읽으면 가능한 반환 코드는 3개(0: 바이러스가 발견되지 않음, 1: 바이러스가 발견됨, 2: 오류가 발생함)만 있습니다. 아마도 이것을 위의 접근 방식과 결합하면 래퍼가 스캔이 성공했는지 여부를 표시하고 경고/오류를 제공하여 사용자가 무엇이 잘못되었는지 확인할 수 있게 하기에 충분할 것입니다.

관련 정보