J'essaie d'enregistrer la sortie de ce fichier au format libpcap et bien que le fichier soit sauvegardé et que les bonnes données y soient écrites, Wireshark est incapable de l'ouvrir. Quelqu'un voit-il ce qui me manque ici? Merci.Fichier pcap_dump non ouvert par 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);
}
+1. Voir http://www.manpagez.com/man/3/pcap_dump_open/ –
Merci Mark. Cela a pris soin d'elle. dump = pcap_dump_open (handle, "/ tmp/sniff.pcap"); pcap_loop (handle, -1, & pcap_dump, (char *) dumper); – ZionKing
Pendant que vous y êtes, * veuillez * vérifier si 'pcap_dump_open()' renvoie un pointeur nul ou pas; si elle renvoie un pointeur nul, le fichier n'a pas * été * ouvert avec succès/créé pour l'écriture, et le programme ne fonctionnera pas. * Ne supposez pas qu'un appel qui échoue n'échouera pas. –