【问题标题】:Grabbing multiple IPs from a PCAP file using dpkt使用 dpkt 从 PCAP 文件中获取多个 IP
【发布时间】:2017-02-14 18:17:19
【问题描述】:

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

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

【问题讨论】:

    标签: python pcap dpkt


    【解决方案1】:

    一种方法可能是使用 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)
    

    【讨论】:

      猜你喜欢
      • 2011-09-14
      • 1970-01-01
      • 1970-01-01
      • 2013-12-04
      • 1970-01-01
      • 1970-01-01
      • 2012-04-29
      • 2015-10-16
      • 1970-01-01
      相关资源
      最近更新 更多