Clam AntiVirus(Clam AV)是一个免费而且开放源码的防毒软件,软件与病毒库的更新由开源社区免费发布,目前ClamdAV主要为Linux、Uinux系统提供病毒扫描查杀pyClamad是一个python的第三方模块,可让python直接使用ClamAV病毒扫描守护进程clamd来实现一个高效的病毒检测功能。
一、实现集中式的病毒扫描
1、客户端(病毒扫描源)安装clamavp clamd 服务的相关程序包
# yum install clamav clamd clamav-update -y
# chkconfig clamd on
更新病毒库
# /usr/bin/freshclam
更改配置文件修改监听地址到所有网络,启动服务
# sed -i -e '/^TCPAddr/{ s/127.0.0.1/0.0.0.0/;}' /etc/clamd.conf
# /etc/init.d/clamd start
2、主控端安装pyClamd模块 参考:http://xael.org/pages/pyclamd-en.html
# pip install pyclamd
验证安装结果:
>>> import pyclamd
>>> cd = pyclamd.ClamdAgnostic()
>>> cd.ping()
True
工作原理:管理服务器通过python发出多线程指令连接业务服务器的3310端口,执行病毒扫描,然后返回结果给管理服务器。 业务服务器必须安装clamd相关程序包,并启动服务监听在3310端口才能正常收到指令;可以针对不同业务环境定制相应的扫描策略,比如扫描对象、描述模式、扫描路径、调试频率等。
实现代码:simplel.py
1 #!/usr/b