我可能误解了如何使用clamd。我的情况是,我的媒体服务器功能不够强大,无法扫描文件以及托管它正在运行的其他服务(树莓派)。当我浏览 clamd.conf 和手册页时,似乎有一个选项可以让 clamd 监听指定的 IP 地址和套接字。有没有办法将文件从远程文件服务器流式传输到另一台运行 clamd 的机器上进行扫描?
我也遇到过这种“远程蛤蜊扫描”,尽管它甚至在代码中指出
您必须使用本地套接字来扫描本地文件
(它也被设计为一次扫描一个文件,而不是一个很好的目录)
尽管sandroid指出了类似的问题,但这里已经提出了类似的问题
Clamd 坐下来听取有关需要扫描哪些文件的指令,即它通过 TCP 接收的通信。我们需要知道它如何访问要扫描的邮件文件...
那么,clamd 不支持远程文件扫描吗?如果不是,那么扫描远程文件的最佳方法是什么?我可以临时对文件进行 rsync 并扫描它们或将 raspbian 配置为文件服务器并将其安装到我托管 clamd 服务的机器上。如果有更好的建议,将不胜感激。
我同意 jezzaaaa 的上述答案,您确实可以根据您的需要配置客户端/服务器。例如:
如果您希望 clamaV 作为将执行扫描并捕获受感染文件的服务器,这里是 Ubuntu 20.04 的配置...
服务器端 在“/etc/clamav/clamd.conf”文件中添加选项“TCPSocket 3310”,使其可用于接收在端口 3310 上侦听的请求。完成,服务器现在正在侦听并等待请求。
客户端添加选项
客户端测试TCPAddr
和TCPSocket
(TCPAddr 1.2.3.4 TCPSocket 3310) 并从客户端/etc/clamav/clamd.conf
文件中删除 (LocalSocket)。如果服务器和客户端机器可以通过端口 3310 进行通信,则输出应记录在您
clamav-daemon
正在运行的服务器机器上。ClamAV 支持使用带有“--stream”选项的 clamdscan。您可以将文件提供给 clamdscan 客户端,它会通过网络将文件发送到 clamd 实例进行扫描。
通过指定 TCPSocket 和 TCPAddr,配置 clamd 以侦听 TCP 上的远程连接。TCPAddr 告诉 clamd 要监听的 IP 地址。
然后在您的 Pi 上,为 TCPSocket 和 TCPAddr 配置相同的设置。运行 clamdscan 时,它将连接到运行 clamd 的服务器,并将文件作为流发送。(在您的 Pi 上,您只需要指定 TCPSocket 和 TCPAddr;clamd.conf 中的所有其他选项都可以省略。)