【问题标题】:Strip radiotap headers from a pcap file从 pcap 文件中去除 radiotap 标头
【发布时间】:2015-01-18 23:05:30
【问题描述】:

我正在做一个项目,我需要捕获包含 h264 视频流的 pcap 文件。我需要从数据包中重建视频。我找到了一个名为 videosnarf 的工具,它可以做到这一点,但问题是我捕获的 pcap 文件包含一个 radiotap 标头,我需要先将其剥离,然后才能将数据包与 videonarf 一起使用。有什么办法可以去掉 radiotap 标头?如果有人可以指导我使用可用于修改 pcap 文件的实用程序或 python 库,那就太好了!谢谢。

【问题讨论】:

    标签: python wireshark pcap scapy


    【解决方案1】:

    scapy 是您正在寻找的 python 库。可以使用rdpcapwrpcap读写pcap文件,详见official API documentation

    rdpcap(filename, count=-1)

    读取一个 pcap 文件并返回读取数据包的列表。如果count 为正,则仅读取第一个count 数据包。

    wrpcap(filename, pkt, linktype=None)

    将数据包或数据包列表写入 pcap 文件。 linktype 可用于强制将链接类型值写入文件。

    因此,从pcap 文件中去除RadioTap 标头的代码将是这样的:

    from scapy.all import rdpcap, wrpcap
    
    pkts = rdpcap('h264_file.pcap')
    stripped_pkts = [pkt.payload for pkt in pkts] # strip the RadioTap header; extract just its payload
    wrpcap('stripped_h264_file.pcap', stripped_pkts)
    

    【讨论】:

    • 您应该使用生成器而不是构建(可能很大)列表。
    猜你喜欢
    • 2016-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-30
    • 2018-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多