您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何使用PYTHON解析Wireshark的PCAP文件方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
Python是一種跨平臺的、具有解釋性、編譯性、互動性和面向對象的腳本語言,其最初的設計是用于編寫自動化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發獨立的項目和大型項目。
PYTHON首先要安裝scapy模塊
PY3的安裝scapy-python3,使用PIP安裝就好了,注意,PY3無法使用pyinstaller打包文件,PY2正常
PY2的安裝scapy,比較麻煩
from scapy.all import * pcaps = rdpcap("file.pcap")
pcaps便是解析后的類似結構體的東西了
<pre name="code" class="python">packet=pcaps[0] #第1個數據包結構
packet.time#數據包時間戳
packet[Raw].load#PY3讀取節點數據方法,packet[IP].src;packet[IP].dst
packet['Raw'].load#PY2讀取節點數據方法,PY3也應該可以
lambda="lambda pcap:IP in pcap and UDP in pcap and pcap[IP].src=='192.168.1.1' and pcap[UDP].sport==80"
results=pcaps.filter(eval(lambda))#lambda是一種表達式,這里使用字符串,也可以不用eval,直接寫表達式,然后返回經過篩選的數據包
python解析數據包十分占用內存,建議先用tshark命令行預處理篩選一遍數據包再進行PYTHON處理
cmd_filter="%s && ip.src==%s && ip.dst==%s && %s.srcport==%s && %s.port==%s"% \ (Node['proto'].lower(),Node['src'],Node['dst'],Node['proto'].lower(),Node['sport'],Node['proto'].lower(),Node['dport']) os.system('start /WAIT "" "%s\tshark" -r "%s" -R "%s" -w "%s"'%(Wireshark_path,pcap_filename,cmd_filter,Temp_pcap_File))
然后在處理Temp_pcap_File文件就好了
關于“如何使用PYTHON解析Wireshark的PCAP文件方法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。