读取数据包并将其写入pcap文件



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

您的问题不够清楚。

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

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

希望这给了你一些方向。

要打开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>
}

最新更新