我使用wireshark捕获数据包并将其保存在pcap文件中。 现在我想从文件中读取这个数据包并多次写入另一个文件。 我该怎么办?
答案 0 :(得分:0)
你的问题不够明确。
如果您只想获取文件并将其附加到自身(您可以在file-> merge中选择wireshark的 merge 选项 - 读取更多here) 但是如果没有编辑它,你会得到很多重复的ack和其他“奇怪的东西” - 因为序列号将保持不变(如果你只是复制当然)。
如果您想进行整个编辑过程,您应该考虑使用pcap编辑工具,例如: bittwist,libcrafter,editcap(假设您在wireshark安装文件夹中)或者powereditpcap (当然你可以找到其他人:))。
希望能给你一些指导。
答案 1 :(得分: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>
}