0

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

4

2 回答 2

0

你的问题不够清楚。

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

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

希望能给你一些方向。

于 2013-07-05T15:42:16.007 回答
0

要打开 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>
}
于 2014-09-12T17:35:48.900 回答