2017-02-14 126 views
0

我是Python新手,還有dpkt模塊,需要一些幫助。我儘可能在這個問題上做了儘可能多的研究,但無濟於事。我的經理希望我創建一個解析PCAP文件的程序,並將IP地址寫入文本文件,而不考慮流量類型(HTTP,FTP等)。我已經想出了基礎知識(因爲示例代碼在線發佈),但我不知道如何解析.pcap文件中的第一個條目。使用dpkt從PCAP文件中抓取多個IP

我得到的最接近的是試圖使用「zip」命令,但這並沒有工作,我不知道如何獲得多個IP打印出來,這是令人沮喪的沒有結束。任何人都可以給我任何指針?我不反對使用其他模塊,如scapy,如果這使得這個任務更容易。

回答

0

一種方法可能是使用Scapy來讀取.pcap並遍歷每個數據包並取出其IP。也許是這樣的:

from scapy.all import * 

fob = rdpcap('test_pcap.pcap') 
cap = [] 

for pkt in fob: 
    if pkt.haslayer(IP): 
     if pkt[IP].src not in cap: 
      cap.append(pkt[IP].src) 

    if pkt.haslayer(ARP): 
     if pkt[ARP].psrc not in cap: 
      cap.append(pkt[ARP].psrc) 

print(cap)