Questo è quello che ho combinato ma come ripeto restituisce IP a caso sempre diversi..
codice:char *getip (u_long in); int main () { struct { struct iphdr ip; char data[sizeof (struct iphdr)]; } Packet; printf("SOURCE IP: %s\n",getip(Packet.ip.saddr)); } char *getip ( u_long in) { struct in_addr s; s.s_addr = in; return inet_ntoa(s); }