【发布时间】:2014-10-18 20:35:15
【问题描述】:
我写了下面的代码来抓包;但是,它实际上保存了最后一个数据包。
process_Packet(const struct pcap_pkthdr *header,
const u_char * packet)
{
FILE* pFile = NULL;
pFile = fopen ("myfile.pcap" , "wb"); // open for writing in binary mode
pcap_dumper_t * dumpfile = pcap_dump_fopen(pcap_handle,pFile);
if (dumpfile == NULL)
{
printf("***NOOOO Dump!!!!!!!***");
}
else
{
pcap_dump((unsigned char *) dumpfile, header, packet);
printf("***Dumped!!!!!!!***");
}
pcap_dump_close(dumpfile);
}
我想编写一个代码来收集数据包并将新数据包附加到以前的数据包。
我应该说fopen("...", "ab") 损坏了文件并且不起作用。
【问题讨论】:
标签: c++ pcap libpcap tcpdump packet-sniffers