欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

基于「ClamAv」通过python进行病毒检测(0)-- 基础技术概述

程序员文章站 2022-05-27 13:31:48
...

以一种高效而简单的方式,通过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.

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

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