基于「ClamAv」通过python进行病毒检测(0)-- 基础技术概述
以一种高效而简单的方式,通过python程序查杀木马、病毒等
利用python,结合ClamAv引擎杀毒。需要用到两个模块:ClamAv引擎、pyClamd。
一、ClamAV简介
简单介绍ClamAV,扩展知识,了解即可!
英文好的朋友,可以直接浏览ClamAv官网介绍。
https://www.clamav.net/documents/introduction
1.1、概述
ClamAV,全称"Clam AntiVirus",是一款用于检测木马、病毒、恶意软件及其他恶意威胁的开源杀毒引擎。
ClamAV,原本是专为邮件网关而设计的,主要用于邮件扫描。
但是呢,功能太强大了!所以,也可将它用于其他场景下的病毒扫描。如,linux系统、文件交换系统等。
tip:一般,应该没人在linux下装360吧?
1.2、功能和特点
ClamAv具有以下主要功能和特点:
- 快速文件扫描。
- 实时保护扫描(仅支持linux)。扫描守护进程在linux下支持"on-access"扫描。即:在文件被扫描前,可以阻止文件被访问。能够有效阻止病毒自启动吧。
- 可以检测超过100万种病毒、蠕虫和木马。包括Microsoft Office宏病毒、移动恶意软件和其他威胁。
- 支持多种格式文件扫描,包括压缩文件、工具等。如:zip、rar、arj、tar、gzip、img、pkg、apm、xz、二进制文件等。
- 支持windows可执行文件解析,包括PE文件。
- 支持ELF和Mach-O文件(32位和64位)。
- 支持几乎所有的邮件文件格式。
- 支持其他特殊文件,如html、pdf、CryptFF &ScrEnc加密文件等。
- 病毒库持续维护,可通过工具在线更新。
1.3、平台支持
ClamAv是高度跨平台的,持支Linux、UNIX(包括macOS)、Windows。
1.4、硬件要求
最低内存推荐:
- FreeBSD和Linux 服务器版本:1G+
- Linux非服务器版本:2G+
- Windows7 & 10 32位:2G+
- Windows7 & 10 64位:3G+
- macOS:3G+
最低CPU推荐:
- FreeBSD 和 Linux 系统:1 CPU 2.0 Ghz+
- Windows7 & 10:1 CPU 2.0 Ghz+
- OSX: 2 CPUs at 2.0 Ghz+
1.5、误报漏报提交
为开源做贡献吧!
如果,使用ClamAV最新的病毒库,存在某个病毒未被检测出(漏报),可以将病毒样本提交到这个网站:
https://www.clamav.net/reports/malware
同样,如果某个正常文件被标记为了病毒(误报),可以将文件样本提交到这个网站:
https://www.clamav.net/reports/fp
tip:安装、配置过程,后续文章单独介绍!
二、pyClamd简介
ClamAV安装后,具有守护进程clamd。
tip:后台运行的进程,也称之为:守护进程
pyClamd是clamd的python接口,即:通过pyClamd,可以利用python控制clamd执行某些命令。
2.1、安装
pyClamd是python的第三方模块,可以通过pip快速安装:
pip install pyClamd
2.2、测试
在使用pyClamd之前,必须要正确安装ClamAv。
ClamAv的守护进程clamd,可以通过监听socket套接字接收命令,一般为3310端口。即:pyClamd连接clamd监听的3310端口,通过网络套接字传递命令,clamd获取到命令后,控制本地扫描器或其他工具执行操作。
安装pyClamd后,可以简单测试clamd是否可用,代码如下:
>>> import pyclamd
>>> cd = pyclamd.ClamdAgnostic()
>>> cd.ping()
True
tip:具体使用方法,后续文章单独介绍!
END.
我的部分文章会首发在公众号上。微信读者,可以搜一搜:【程序员的一天】,感兴趣的朋友可以关注,支持一下,谢谢!
每一个关注、点赞,都是极大的支持和鼓励。最后,非常感谢阅读。
上一篇: Easypack:安全防护工具之:ClamAV之一键安装
下一篇: linux病毒扫描并输出报告