欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python實(shí)現(xiàn)集中式的病毒掃描功能詳解

 更新時(shí)間:2019年07月09日 12:16:24   作者:cakincqm  
這篇文章主要介紹了python實(shí)現(xiàn)集中式的病毒掃描功能,結(jié)合實(shí)例形式分析了Python集中式的病毒掃描相關(guān)原理、實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了python實(shí)現(xiàn)集中式的病毒掃描功能。分享給大家供大家參考,具體如下:

一 點(diǎn)睛

本次實(shí)踐實(shí)現(xiàn)了一個(gè)集中式的病毒掃描管理,可以針對(duì)不同業(yè)務(wù)環(huán)境定制掃描策略,比如掃描對(duì)象、描述模式、掃描路徑、調(diào)度頻率等。案例實(shí)現(xiàn)的架構(gòu)圖如下,首先業(yè)務(wù)服務(wù)器開(kāi)啟clamd服務(wù)(監(jiān)聽(tīng)3310端口),管理服務(wù)器啟用多線程對(duì)指定的服務(wù)集群進(jìn)行掃描,掃描模式、掃描路徑會(huì)傳遞到clamd,最后返回掃描結(jié)果給管理服務(wù)器端。

 

本次實(shí)戰(zhàn)通過(guò)ClamdNetworkSocket()方法實(shí)現(xiàn)與業(yè)務(wù)服務(wù)器建立掃描socket連接,再通過(guò)啟動(dòng)不同掃描方式實(shí)施病毒掃描并返回結(jié)果。

二 代碼

#!/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):
    """構(gòu)造方法"""
    Thread.__init__(self)
    self.IP = IP
    self.scan_type=scan_type
    self.file = file
    self.connstr=""
    self.scanresult=""
  def run(self):
    """多進(jìn)程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

三 結(jié)果

1 無(wú)病毒的情況下,掃描結(jié)果

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 有病毒的情況下,掃描結(jié)果

2.1 制作病毒測(cè)試文件

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

2.2 掃描結(jié)果

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')}

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python Socket編程技巧總結(jié)》、《Python進(jìn)程與線程操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 解決Django模板無(wú)法使用perms變量問(wèn)題的方法

    解決Django模板無(wú)法使用perms變量問(wèn)題的方法

    這篇文章主要給大家介紹了關(guān)于解決Django模板無(wú)法使用perms變量問(wèn)題的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09
  • 淺析Python中的heapq優(yōu)先隊(duì)列

    淺析Python中的heapq優(yōu)先隊(duì)列

    在Python中,heapq模塊提供了實(shí)現(xiàn)最小堆算法的數(shù)據(jù)結(jié)構(gòu),能夠用作優(yōu)先隊(duì)列,本文將詳細(xì)介紹heapq模塊,包括堆的基本概念、heapq的功能和示例代碼,需要的可以參考下
    2023-12-12
  • Python命令行解析器argparse詳解

    Python命令行解析器argparse詳解

    大家好,本篇文章主要講的是Python命令行解析器argparse詳解,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • python計(jì)算程序開(kāi)始到程序結(jié)束的運(yùn)行時(shí)間和程序運(yùn)行的CPU時(shí)間

    python計(jì)算程序開(kāi)始到程序結(jié)束的運(yùn)行時(shí)間和程序運(yùn)行的CPU時(shí)間

    這篇文章主要介紹了python計(jì)算程序開(kāi)始到程序結(jié)束的運(yùn)行時(shí)間和程序運(yùn)行的CPU時(shí)間的三個(gè)方法,大家參考使用
    2013-11-11
  • 詳解Python對(duì)某地區(qū)二手房房?jī)r(jià)數(shù)據(jù)分析

    詳解Python對(duì)某地區(qū)二手房房?jī)r(jià)數(shù)據(jù)分析

    這篇文章主要為大家介紹了Python數(shù)據(jù)分析某地區(qū)二手房房?jī)r(jià),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • 使用PyTorch實(shí)現(xiàn)隨機(jī)搜索策略

    使用PyTorch實(shí)現(xiàn)隨機(jī)搜索策略

    這篇文章主要介紹了使用PyTorch實(shí)現(xiàn)隨機(jī)搜索策略,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-07-07
  • django使用多個(gè)數(shù)據(jù)庫(kù)的方法實(shí)例

    django使用多個(gè)數(shù)據(jù)庫(kù)的方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于django使用多個(gè)數(shù)據(jù)庫(kù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • opencv設(shè)置采集視頻分辨率方式

    opencv設(shè)置采集視頻分辨率方式

    今天小編就為大家分享一篇opencv設(shè)置采集視頻分辨率方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作

    pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作

    這篇文章主要介紹了pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 使用python動(dòng)態(tài)生成波形曲線的實(shí)現(xiàn)

    使用python動(dòng)態(tài)生成波形曲線的實(shí)現(xiàn)

    今天小編就為大家分享一篇使用python動(dòng)態(tài)生成波形曲線的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12

最新評(píng)論