Código:
printf(" %i :%g",iphead->saddr,udphead->sport);
printf("%i  %g\n", iphead->daddr,udphead->dport);

Código:
/root/C/sniffer.c:50: error: 'struct udphdr' has no member named 'sport'
/root/C/sniffer.c:51: error: 'struct udphdr' has no member named 'dport'
Segun el copilador la estructura no contiene nada, vamos que me los esta tocando pero bien, a ver si me podeis echar una manita .


A las librerias:

#include <linux/if_ether.h>
#include <netinet/in.h>
#include <fcntl.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <netinet/ip.h>
#include <netinet/udp.h>