使用PYTHON解析Wireshark的PCAP文件方法
PYTHON首先要安裝scapy模塊
PY3的安裝scapy-python3,使用PIP安裝就好了,注意,PY3無法使用pyinstaller打包文件,PY2正常
PY2的安裝scapy,比較麻煩
from scapy.all import *
pcaps = rdpcap("file.pcap")
pcaps便是解析后的類似結(jié)構(gòu)體的東西了
<pre name="code" class="python">packet=pcaps[0] #第1個數(shù)據(jù)包結(jié)構(gòu)
packet.time#數(shù)據(jù)包時間戳
packet[Raw].load#PY3讀取節(jié)點(diǎn)數(shù)據(jù)方法,packet[IP].src;packet[IP].dst
packet['Raw'].load#PY2讀取節(jié)點(diǎn)數(shù)據(jù)方法,PY3也應(yīng)該可以
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是一種表達(dá)式,這里使用字符串,也可以不用eval,直接寫表達(dá)式,然后返回經(jīng)過篩選的數(shù)據(jù)包
python解析數(shù)據(jù)包十分占用內(nèi)存,建議先用tshark命令行預(yù)處理篩選一遍數(shù)據(jù)包再進(jìn)行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文件方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python中__new__與__init__方法的區(qū)別詳解
這篇文章主要介紹了Python中__new__與__init__方法的區(qū)別,是Python學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-05-05
在Tensorflow中實(shí)現(xiàn)leakyRelu操作詳解(高效)
這篇文章主要介紹了在Tensorflow中實(shí)現(xiàn)leakyRelu操作詳解(高效),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
基于Django的樂觀鎖與悲觀鎖解決訂單并發(fā)問題詳解
這篇文章主要介紹了基于Django的樂觀鎖與悲觀鎖解決訂單并發(fā)問題詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-07-07
Python實(shí)現(xiàn)的合并兩個有序數(shù)組算法示例
這篇文章主要介紹了Python實(shí)現(xiàn)的合并兩個有序數(shù)組算法,涉及Python針對數(shù)組的遍歷、計算、追加等相關(guān)操作技巧,需要的朋友可以參考下2019-03-03
對pandas讀取中文unicode的csv和添加行標(biāo)題的方法詳解
今天小編就為大家分享一篇對pandas讀取中文unicode的csv和添加行標(biāo)題的方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
Python異常信息的不同展現(xiàn)方法總結(jié)
在日常開發(fā)的過程中,當(dāng)代碼報錯時,我們通常要不斷打印、閱讀traceback提示信息,來調(diào)試代碼,這篇文章介紹了如何實(shí)現(xiàn)一個Exception?Hooks,使得traceback模塊的提示信息更加精確;同時還介紹了一些第三方庫,這些庫也提供了Exception?Hooks的功能2022-11-11
Python實(shí)現(xiàn)mysql數(shù)據(jù)庫中的SQL文件生成和導(dǎo)入
這篇文章主要介紹了Python實(shí)現(xiàn)mysql數(shù)據(jù)庫中的SQL文件生成和導(dǎo)入,首先通過將mysql數(shù)據(jù)導(dǎo)出到SQL文件中展開詳細(xì)內(nèi)容需要的小伙伴可以參考一下2022-06-06

