【问题标题】:reading and writing packets to a pcap file读取和写入数据包到 pcap 文件
【发布时间】:2014-09-13 01:35:48
【问题描述】:

我使用了wireshark 来捕获一个数据包并将它保存在一个pcap 文件中。 现在我想从文件中读取这个数据包并写入另一个文件 n 次。 我该怎么做?

【问题讨论】:

    标签: wireshark pcap


    【解决方案1】:

    你的问题不够清楚。

    • 如果您只想获取文件并将其附加到自身(您可以在文件中选择wireshark的merge选项->merge - 阅读更多here)。
      但是如果不对其进行编辑,您会得到很多重复的确认信息和其他“奇怪的东西”——因为序列号会保持不变(当然,如果你只是复制的话)。

    • 如果您想进行整个编辑过程,您应该考虑使用 pcap 编辑工具,例如:bittwist、libcrafter、editcap(假设在您的 wireshark 安装文件夹中)或powereditpcap(当然你也可以找到其他的:))。

    希望能给你一些指导。

    【讨论】:

      【解决方案2】:

      要打开 pcap 文件,您可以使用:

      pcap_t *pcap, *handle;
      char errbuf [PCAP_ERRBUF_SIZE];
      pcap = pcap_open_offline(argv[1],errbuf);
      

      如果 pcap!=NULL,那么您已经成功打开了 pcap 文件。现在您可以循环遍历文件,直到到达文件末尾。

      struct pcap_pkthdr header;
      const unsigned char *packet;
      for (i = 0; (packet = pcap_next(pcap, &header)) != NULL; i++) {
         <do what you want to do with the packet using the packet pointer>
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-10-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多