La création d'un fichier pcap

J'ai besoin d'enregistrer des paquets UDP vers un fichier et que vous souhaitez utiliser le ppce format de réutiliser les différents outils disponibles (wireshark, tcpdump, ...).
Il y a quelques informations à ce fil mais je ne trouve pas comment écrire le fichier global de l'en-tête 'struct pcap_file_header'.

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);

Comment dois-je écrire le fichier global de l'en-tête?
Si il n'y a pas ppce fonction est disponible, comment puis-je récupérer le descripteur de fichier pour insérer l'en-tête à l'aide de write()?

OriginalL'auteur Robert Kubrick | 2012-04-11