2
이 파일의 출력을 libpcap 형식으로 저장하려고하는데 파일이 저장되고 올바른 데이터가 기록되지만 Wireshark에서 열 수 없습니다. 아무도 내가 여기에서 놓친 것을 본다? 감사.Wireshark에서 pcap_dump 파일을 열지 못했습니다.
// 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);
}
+1. http://www.manpagez.com/man/3/pcap_dump_open/ –
감사 마크를 참조하십시오. 이것은 그것을 돌 보았다. dump = pcap_dump_open (handle, "/ tmp/sniff.pcap"); pcap_loop (핸들, -1, & pcap_dump, (char *) dumper); – ZionKing
그 동안 pcap_dump_open()이 널 포인터를 반환하는지 확인하십시오. null 포인터를 반환하면 파일이 쓰기 위해 성공적으로 열리거나 작성되지 않고 * 프로그램이 작동하지 않습니다. * 실패 할 수있는 호출이 실패하지 않는다고 가정하지 마십시오. –