最近為了對(duì)無(wú)線數(shù)據(jù)進(jìn)行深度學(xué)習(xí)分析,需要定時(shí)抓包采樣,當(dāng)然這種事情還是讓python來(lái)做吧梯捕,畢竟人力資源是昂貴的。腳本非常簡(jiǎn)單窝撵,但結(jié)構(gòu)絕對(duì)嚴(yán)謹(jǐn)傀顾。有些伙伴在創(chuàng)建子進(jìn)程后就不知道去結(jié)束子進(jìn)程。這個(gè)腳本就包含了子進(jìn)程中的進(jìn)程問(wèn)題碌奉,遂在結(jié)束進(jìn)程后再去結(jié)束調(diào)用程序的進(jìn)程短曾。
import os
from time import strftime,sleep
import subprocess
while 1:
filename=strftime('%H:%M')#獲取系統(tǒng)時(shí)間,作為文件的輸出名稱
#print(filename)
cmd='airodump-ng {} --output-format {} -w {} -c {}'.format('wlan0mon','pcap',filename,13)#wlan0mon指無(wú)線網(wǎng)卡,pcap為抓包文件輸出格式道批,13為access point的信道错英。
proc=subprocess.Popen(cmd,shell=True)#shell=True 子進(jìn)程不會(huì)繼承父進(jìn)程的輸出树瞭,管道等窖张。
sleep(300)#每隔五分鐘進(jìn)行一次抓包
proc.terminate()#結(jié)束子進(jìn)程
os.system('pkill airodump-ng')#結(jié)束調(diào)用程序airodump-ng的獨(dú)立進(jìn)程
print("capture data again!")
22 (2).png