Erstellen einer pcap-Datei
Ich muss UDP-Pakete in einer Datei speichern und möchte das pcap-Format verwenden, um die verschiedenen verfügbaren Tools (wireshark, tcpdump, ...) wiederzuverwenden. Es gibt einige Informationen indieser Thread aber ich kann nicht finden, wie ich den globalen Datei-Header 'struct pcap_file_header' schreibe.
<code>pcap_t* pd = pcap_open_dead(DLT_RAW, 65535); pcap_dumper_t* pdumper = pcap_dump_open(pd, filename); struct pcap_file_header file_hdr; file_hdr.magic_number = 0xa1b2c3d4; file_hdr.version_major = 2; file_hdr.version_minor = 4; file_hdr.thiszone = 0; file_hdr.sigfigs = 0; file_hdr.snaplen = 65535; file_hdr.linktype = 1; // How do I write file_hdr to m_pdumper? while( (len = recvmsg(sd, &msg_hdr, 0)) > 0 ) pcap_dump((u_char*)m_pdumper, &m_pcap_pkthdr, (const u_char*)&data); </code>
Wie soll ich den globalen Datei-Header schreiben? Wie kann ich den Dateideskriptor abrufen, um den Header mit write () einzufügen, wenn keine bestimmte pcap-Funktion verfügbar ist?