adresse src = adresse destin ?
bonjour,
je programme un sniffer en c et j'ai un probleme dans les adresses source et destination, voila ma structure :
Code:
1 2 3 4 5 6 7
| struct iphdr // structure IP Header
{
.....
.....
unsigned int saddr; // Source address
unsigned int daddr; // Destination address
}; |
lorsque je tente de les afficher de cette maniere :
Code:
1 2 3 4 5
| unsigned char * src = (unsigned char *)&(ip->saddr);
unsigned char * dest = (unsigned char *)&(ip->daddr);
fprintf(stdout,"[ IP : %d.%d.%d.%d -> ",src[0],src[1],src[2],src[3]);
fprintf(stdout,"%d.%d.%d.%d ]\r\n",dest[0],dest[1],dest[2],dest[3]); |
j'ai 2 adresses differentes donc tous est normal , mais quand j'essai de les afficher comme ça :
Code:
1 2 3
| char *src = inet_ntoa(*((struct in_addr *)&ip->saddr));
char *des = inet_ntoa(*((struct in_addr *)&ip->daddr));
printf("%s ---> %s\n",src, des); |
j'ai toujours l'adresse source identique à l'adresse destination.
savez-vous pourquoi ??
merci d'avance!