0

我是 Python 和 dpkt 模块的新手,需要一些帮助。我已经尽可能多地对这个主题进行了研究,但无济于事。我的经理希望我创建一个程序来解析 PCAP 文件并将 IP 地址写入文本文件,而不管流量类型(HTTP、FTP 等)如何。我已经弄清楚了基础知识(因为在线发布了示例代码),但我不知道如何解析 .pcap 文件中的第一个条目。

我得到的最接近的方法是尝试使用“zip”命令,但这不起作用,我不知道如何打印出多个 IP,这令人沮丧。任何人都可以给我任何指示吗?我不反对使用其他模块,例如 scapy,如果这样可以使这项任务更容易。

4

1 回答 1

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)
于 2017-02-17T21:09:10.553 回答