使用 ClamAV 通过 URL 扫描互联网上的文件

使用 ClamAV 通过 URL 扫描互联网上的文件

有时我需要根据 URL 扫描互联网上的文件。我在 ClamAV 的文档中没有找到有关此功能的任何信息。它允许这样做吗?我如何获得扫描结果?

答案1

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

wget -O /tmp/filetoscan http://LINK_TO_THE_FILE && clamscan /tmp/filetoscan

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

 wget -qO- http://LINK_TO_THE_FILE | clamscan -

上述操作仍会下载文件,唯一的区别是它不会将其存储在您的存储中。(因此,在此过程中仍会使用您的带宽,如果您确定文件是干净的,则必须在您的电脑上重新下载它。)

如果你不想下载,那么你必须使用云服务来为你下载和扫描,例如病毒总数它会扫描文件,并且还会使用 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}'`"

当然,这取决于您的服务器根目录(/var/www)以及服务器上是否有其他设置在从 URL 重建文件路径时需要考虑,但是因为您知道您的服务器是如何设置的,所以您可以这样做。

答案2

您可以使用 curl 来执行此操作:

curl http://example.com/file | clamscan -

默认情况下,curl 不会将文件保存到您的驱动器空间。

相关内容