小编给大家分享一下python怎么实现集中式的病毒扫描功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
<强>一,点睛强>
本次实践实现了一个集中式的病毒扫描管理,可以针对不同业务环境定制扫描策略,比如扫描对象,描述模式,扫描路径,调度频率等。案例实现的架构图如下,首先业务服务器开启clamd服务(监听3310端口),管理服务器启用多线程对指定的服务集群进行扫描,扫描模式,扫描路径会传递到clamd,最后返回扫描结果给管理服务器端。
,
本次实战通过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怎么实现集中式的病毒扫描功能