基于「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.

我的部分文章会首发在公众号上。微信读者,可以搜一搜:【程序员的一天】,感兴趣的朋友可以关注,支持一下,谢谢!

每一个关注点赞,都是极大的支持和鼓励。最后,非常感谢阅读。

猜你喜欢

转载自blog.csdn.net/pythontide/article/details/108648454