ملف PCAP_DUMP لم يتم فتحه بواسطة Wireshark
سؤال
أحاول حفظ إخراج هذا الملف بتنسيق libpcap ، وعلى الرغم من أن الملف يتم حفظه ويتم كتابة البيانات الصحيحة فيه ، إلا أن Wireshark غير قادر على فتحه. أي شخص يرى ما أفتقده هنا؟ شكرًا.
// opening the device here to listen
handle = pcap_open_live( dev, BUFSIZ, 1, 1000, errbuf );
unsigned int dlt = DLT_EN10MB;
pcap_set_datalink(handle,dlt );
FILE *filename;
filename = fopen("/workarea/capture","a+");
pcap_dumper_t * dump = NULL;
// opens the file
dump = pcap_dump_open( handle, (const char *)filename );
pcap_loop(handle,-1,my_callback,(unsigned char *)filename);
return (0);
}
void my_callback(u_char *dump,const struct pcap_pkthdr* pkthdr,const u_char *packet)
{
unsigned int i=0;
pcap_dump(dump,pkthdr,packet);
}
المحلول
مكالمتك إلى pcap_dump_open
لا يبدو صحيحا. إنه يمرر ملف* ولكن يجب أن يمرر اسم الملف. يستخدم pcap_dump_fopen
لمؤشر ملف. أو متابعة باستخدام PCAP_DUMP_OPEN ولكن ببساطة تمرير اسم الملف إليه.
لا تنتمي إلى StackOverflow