中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python怎么實現集中式的病毒掃描功能

發布時間:2021-04-07 09:52:44 來源:億速云 閱讀:164 作者:小新 欄目:開發技術

小編給大家分享一下python怎么實現集中式的病毒掃描功能,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

一 點睛

本次實踐實現了一個集中式的病毒掃描管理,可以針對不同業務環境定制掃描策略,比如掃描對象、描述模式、掃描路徑、調度頻率等。案例實現的架構圖如下,首先業務服務器開啟clamd服務(監聽3310端口),管理服務器啟用多線程對指定的服務集群進行掃描,掃描模式、掃描路徑會傳遞到clamd,最后返回掃描結果給管理服務器端。

 python怎么實現集中式的病毒掃描功能

本次實戰通過ClamdNetworkSocket()方法實現與業務服務器建立掃描socket連接,再通過啟動不同掃描方式實施病毒掃描并返回結果。

二 代碼

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time
import pyclamd
from threading import Thread
class Scan(Thread):
  def __init__ (self,IP,scan_type,file):
    """構造方法"""
    Thread.__init__(self)
    self.IP = IP
    self.scan_type=scan_type
    self.file = file
    self.connstr=""
    self.scanresult=""
  def run(self):
    """多進程run方法"""
    try:
      cd = pyclamd.ClamdNetworkSocket(self.IP,3310)
      if cd.ping():
        self.connstr=self.IP+" connection [OK]"
        cd.reload()
        if self.scan_type=="contscan_file":
          self.scanresult="{0}\n".format(cd.contscan_file(self.file))
        elif self.scan_type=="multiscan_file":
          self.scanresult="{0}\n".format(cd.multiscan_file(self.file))
        elif self.scan_type=="scan_file":
          self.scanresult="{0}\n".format(cd.scan_file(self.file))
        time.sleep(1)
      else:
        self.connstr=self.IP+" ping error,exit"
        return
    except Exception,e:
      self.connstr=self.IP+" "+str(e)
IPs=['192.168.0.120']
scantype="multiscan_file"
scanfile="/data"
i=1
threadnum=2
scanlist = []
for ip in IPs:
  currp = Scan(ip,scantype,scanfile)
  scanlist.append(currp)
  if i%threadnum==0 or i==len(IPs):
    for task in scanlist:
      task.start()
    for task in scanlist:
      task.join()
      print task.connstr
      print task.scanresult
    scanlist = []
  i+=1

三 結果

1 無病毒的情況下,掃描結果

E:\Python\python_auto_maintain\venv\Scripts\python.exe E:/Python/python_auto_maintain/4_1_2.py
192.168.0.120 connection [OK]
None

2 有病毒的情況下,掃描結果

2.1 制作病毒測試文件

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

2.2 掃描結果

E:\Python\python_auto_maintain\venv\Scripts\python.exe E:/Python/python_auto_maintain/4_1_2.py
192.168.0.120 connection [OK]
{u'/data/EICAR': ('FOUND', 'Eicar-Test-Signature')}

以上是“python怎么實現集中式的病毒掃描功能”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

淮安市| 澎湖县| 河源市| 靖安县| 黑山县| 卢龙县| 邢台县| 扬州市| 金塔县| 安丘市| 仪陇县| 吴旗县| 驻马店市| 阜南县| 清水河县| 宁陕县| 大丰市| 桐梓县| 东港市| 张家界市| 萨嘎县| 抚州市| 崇义县| 栾城县| 朝阳县| 朝阳市| 开阳县| 万年县| 五家渠市| 务川| 墨脱县| 吴忠市| 碌曲县| 黄大仙区| 科技| 阳泉市| 隆德县| 盐池县| 清丰县| 香河县| 安乡县|