使用 ClamAV 通过其 url 通过 Internet 扫描文件

アレッ*_*ックス 2 remote clamav

有时我需要根据文件的 url 通过 Internet 扫描文件。我在 ClamAV 的文档中没有找到有关此容量的任何信息。它允许这样做吗?如何获得扫描结果?

fal*_*ner 5

要扫描文件,您必须下载它。您只能在服务器上扫描它,前提是它是您的服务器并且您可以远程访问它。因此,如果您想从终端下载它并在下载后立即运行扫描,您应该使用如下命令:

wget -O /tmp/filetoscan http://LINK_TO_THE_FILE && clamscan /tmp/filetoscan
Run Code Online (Sandbox Code Playgroud)

或者如果您在下载后不需要该文件,您可以将其通过管道传输到 clamscan:

 wget -qO- http://LINK_TO_THE_FILE | clamscan -
Run Code Online (Sandbox Code Playgroud)

以上仍将下载文件,唯一的区别是它不会将其存储在您的存储中。(因此在此过程中您的带宽仍将被使用,如果您确定该文件是干净的,则必须在您的 PC 上需要时重新下载它。)

如果您不想下载它,那么您必须使用云服务为您下载并扫描它,例如virustotal 会这样做并且它也使用ClamAV 扫描文件。Virustotal 还有一个公共 API,您可以使用它从您的终端或您编写的任何程序启动扫描。

如果它是您的服务器上安装了 clamAV 并且您有权ssh访问它,那么您只需ssh访问服务器并扫描文件,就像您在客户端上扫描它一样。您可以使用以下内容:

ssh YOUR_USER@`echo "example.com/file1" | awk -F "/" '{print $1}'` "clamscan /var/www`echo "example.com/file1" | awk -F ".com" '{print $2}'`"
Run Code Online (Sandbox Code Playgroud)

当然,这取决于您的服务器根 ( /var/www) 以及服务器上是否有其他设置,在从 URL 重建文件路径时应该考虑到这些设置,但是因为您知道服务器的设置方式,所以您可以做到。