Bonjour, j'aurais besoin d'aide au sujet de la libpcap, je cherche comment avoir acces aux données des paquets sniffé par la fonction pcap_loop(). Je vous donne ma fonction callback()
et mon probleme est que je voudrais faire un printf("Contenu du packet : %s \n\n",??->??); et il me manque l'endroit ou je peut l'obtenir, et également l'ip du destinataire ne marche pas, il donne dans les 2 cas l'adresse ip de la box qui as envoyé le pquet, comment optenir l'ip^du destinataire (celui qui recoit le packet).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 void callback(u_char *user, const struct pcap_pkthdr *h, const u_char *buff) { struct iphdr *ip_hdr = (struct iphdr *)(buff+14); struct protoent *prot = getprotobynumber(ip_hdr->protocol); struct in_addr adrsend,adrrecv; adrsend.s_addr = ip_hdr->saddr; adrrecv.s_addr = ip_hdr->daddr; printf("Packet de taille : %d | protocole : %s\n",h->len,prot->p_name); printf("De: %s | A: %s\n",inet_ntoa(adrsend),inet_ntoa(adrrecv)); printf("TTl: %d | Version:IPv%d \n\n",ip_hdr->ttl,ip_hdr->version); printf("Packet \n\t%c\n",buff[0]); }
En vous remerciant d'avance
A tres bientot
Partager