您好,登錄后才能下訂單哦!
準備兩臺機器做測試
一臺檢測機 192.168.251.134
一臺被測機器 192.168.3.24
在被測機器上
安裝clamav 之前還需要安裝zlib 要不然安裝過程中會報錯的.
tar -zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
make
make install (zlib 編譯安裝)
因為我用源碼包安裝,需要手動創建clamav 用戶
groupadd clamav (創建clamav組
useradd -g clamav clamav (創建clamav用戶并加入clamav組)
tar -zxvf clamav-0.95.2.tar.gz (解壓)
cd clamav-0.95.2 (進入目錄)
./configure --prefix=/usr/local/clamav
make
make install (編譯并安裝 )
到此clamav 的安裝完畢下面讓clamav 啟動起來.
首先創建一個目錄.
mkdir /usr/local/clamav/logs (日志存放目錄)
mkdir /usr/local/clamav/updata (clanav 病毒庫目錄)
vi /usr/local/clamav/etc/clamd.conf
可能會有clamd.conf.simple文件 你可以修改這個文件再
cp clamd.conf.simple clamd.conf
這樣就可以了
# Example 注釋掉這一行. 第8 行
LogFile /usr/local/clamav/logs/clamd.log 刪掉前面的注釋目錄改為logs下面 第14行
PidFile /usr/local/clamav/updata/clamd.pid 刪掉前面的注釋路徑改一下 第57行
DatabaseDirectory /usr/local/clamav/updata 同上 第65行
vi /usr/local/clamav/etc/freshclam.conf
# Example 注釋掉這一行. 第8 行
DatabaseDirectory /usr/local/clamav/updata
UpdateLogFile /usr/local/clamav/logs/freshclam.log
PidFile /usr/local/clamav/updata/freshclam.pid (忘記寫多少行了自己找一下吧.)
下面創建日志文件
touch /usr/local/clamav/logs/freshclam.log
chown clamav:clamav /usr/local/clamav/logs/freshclam.log
touch /usr/local/clamav/logs/clamd.log
chown clamav:clamav /usr/local/clamav/logs/clamd.log
chown clamav:clamav /usr/local/clamav/updata
/usr/local/clamav/bin/freshclam (升級病毒庫) 保證你的LINUX可以正常上網哦.
[p_w_upload=43384]
需要一點時間的.
等了我半個小時終于下載完成了.
在更新的同時可以在檢測機器寫腳本了192.168.251.134
寫之前要注意需要安裝pyClamad的環境
在http://xael.org/pages/pyclamd-en.html下載源碼包
解壓安裝 python setup.py install
安裝后 vim pyclamd.py
#!/usr/bin/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() #重載clamd病毒特征庫,建議更新病毒庫后做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"
except Exception,e:
self.connstr=self.IP+" "+str(e)
IPs=['192.168.3.24'] #指定掃描主機列表
scantype = "multiscan_file" #指定掃描模式,支持multiscan_file,contscan_file,scan_file
scanfile = "/tmp" #指定掃描路徑
i=1
threadnum = 2 #指定啟動的線程數
scanlist = [] #存儲掃描Scan類線程對象列表
for ip in IPs:
currp = Scan(ip,scantype,scanfile) #創建掃描Scan類對象,參數(IP,掃描模式,掃描路徑)
scanlist.append(currp) #追加對象到列表
if i%threadnum==0 or i==len(IPs): #當達到指定的線程或IP列表數后啟動,退出線程
for task in scanlist:
task.start() #啟動線程
for task in scanlist:
task.join() #等待所有子線程退出,并輸出掃描結果
print task.connstr #打印服務器連接信息
scanlist = []
i+=1
-------------------------------------------------------------------------------
完成腳本,別急著直接運行
在192.168.3.24被測服務器上啟動服務,并且開放監聽端口
先sed -i =e '/^TCPAddr/{s/127.0.0.1/0.0.0.0/;}' /usr/local/etc/clamv/clamv.conf
可能這個已經注釋掉,最好還是直接vim進去手動改
/usr/local/clamv/sbin/clamd start 啟動
開放端口為3310
lsof -i:3310 檢測是否監聽
如果監聽成功則
在檢測服務器上運行腳本,即可
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。