- 論壇徽章:
- 2
|
gashero的pypcap實(shí)踐筆記
一個(gè)規(guī)范的抓包過(guò)程
import pcap import dpkt pc=pcap.pcap() #注,參數(shù)可為網(wǎng)卡名,如eth0 pc.setfilter('tcp port 80') #設(shè)置監(jiān)聽(tīng)過(guò)濾器 for ptime,pdata in pc: #ptime為收到時(shí)間,pdata為收到數(shù)據(jù) print ptime,pdata #...
對(duì)抓到的以太網(wǎng)V2數(shù)據(jù)包(raw packet)進(jìn)行解包
p=dpkt.ethernet.Ethernet(pdata) if p.data.__class__.__name__=='IP': ip='%d.%d.%d.%d'%tuple(map(ord,list(p.data.dst))) if p.data.data.__class__.__name__=='TCP': if data.dport==80: print p.data.data.data # by gashero
一些顯示參數(shù)
nrecv,ndrop,nifdrop=pc.stats() 返回的元組中,第一個(gè)參數(shù)為接收到的數(shù)據(jù)包,(by gashero)第二個(gè)參數(shù)為被核心丟棄的數(shù)據(jù)包
轉(zhuǎn): |
|