python怎么实现集中式的病毒扫描功能

  介绍

小编给大家分享一下python怎么实现集中式的病毒扫描功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

<强>一,点睛

本次实践实现了一个集中式的病毒扫描管理,可以针对不同业务环境定制扫描策略,比如扫描对象,描述模式,扫描路径,调度频率等。案例实现的架构图如下,首先业务服务器开启clamd服务(监听3310端口),管理服务器启用多线程对指定的服务集群进行扫描,扫描模式,扫描路径会传递到clamd,最后返回扫描结果给管理服务器端。

,  python怎么实现集中式的病毒扫描功能

本次实战通过ClamdNetworkSocket()方法实现与业务服务器建立扫描插座连接,再通过启动不同扫描方式实施病毒扫描并返回结果。

<强>二,代码

# !/usr/bin/env  python   #,- *安康;编码:utf-8  - * -   import 时间   import  pyclamd   得到threading  import 线程   class 扫描(线程):   def 才能;__init__ (自我、IP、scan_type、文件):   ,,,“““构造方法“,“   ,,,Thread.__init__(自我)   ,,,self.IP =, IP   ,,,self.scan_type=scan_type   ,,self.file =,文件   ,,,self.connstr=?“   ,,,self.scanresult=?“   def 才能运行(自我):   ,,,,,,多进程运行方法“,“   ,,,试一试:   ,,,,,cd =, pyclamd.ClamdNetworkSocket (self.IP, 3310)   ,,,,,if  cd.ping ():   ,,,,,,,self.connstr=self.IP +“, connection [好]“;   ,,,,,,,cd.reload ()   ,,,,,,,if  self.scan_type==癱ontscan_file":   ,,,,,,,,,self.scanresult=皗0} \ n" .format (cd.contscan_file (self.file))   ,,,,,,,elif  self.scan_type==癿ultiscan_file":   ,,,,,,,,,self.scanresult=皗0} \ n" .format (cd.multiscan_file (self.file))   ,,,,,,,elif  self.scan_type==皊can_file":   ,,,,,,,,,self.scanresult=皗0} \ n" .format (cd.scan_file (self.file))   ,,,,,,,time . sleep (1)   ,,,,,其他的:   ,,,,,,,self.connstr=self.IP +“, ping 错误,exit"   ,,,,,,,回来   ,,,except 例外,e:   ,,,,,self.connstr=self.IP +“,“+ str (e)   IPs=[& # 39; 192.168.0.120& # 39;】   scantype=癿ultiscan_file"   scanfile=?data"   i=1   threadnum=2   时间=scanlist  []   for  ip  IPs拷贝:   currp =,才能扫描(ip、scantype scanfile)   scanlist.append才能(currp)   if 才能;我% threadnum==0,趁机我==len (IPs):   ,,,for  task 拷贝scanlist:   ,,,,,task.start ()   ,,,for  task 拷贝scanlist:   ,,,,,task.join ()   ,,,,,print  task.connstr   ,,,,,print  task.scanresult   ,,,scanlist =, []   我才能+=1

<强>三,结果

1,无病毒的情况下,扫描结果

E: \ Python脚本\ python_auto_maintain \ venv \ \ Python。exe E:/Python/python_auto_maintain/4 _1_2.py
192.168.0.120连接[好]

没有

2,有病毒的情况下,扫描结果

2.1,制作病毒测试文件

X5O ! p % @AP [4 \ PZX54 (p ^) 7 cc) 7} $ EICAR-STANDARD-ANTIVIRUS-TEST-FILE ! $ H + H *

2.2,扫描结果

E: \ Python脚本\ python_auto_maintain \ venv \ \ Python。exe E:/Python/python_auto_maintain/4 _1_2.py
192.168.0.120连接[好]
{u # 39;/数据/eicar # 39;:(& # 39;发现# 39;& # 39;Eicar-Test-Signature& # 39;)}

以上是“Python怎么实现集中式的病毒扫描功能”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

python怎么实现集中式的病毒扫描功能