Protocole ICMP (ping)

bouzakaria Messages postés 2 Date d'inscription lundi 7 mars 2011 Statut Membre Dernière intervention 30 avril 2011 - 30 avril 2011 à 17:32
pop70 Messages postés 181 Date d'inscription mardi 6 avril 2010 Statut Membre Dernière intervention 7 janvier 2012 - 30 avril 2011 à 21:20
bonjour

j'utilise actuellement le programme pingueur.c pour simuler la commande dos ping (protocole ICMP), lorsque l'adresse IP est correcte le programme fonctionne bien, mais si je tape une adresse inexistante ou réseau non fonctionnel, il m'affiche "délai d'attente dépassé".

1) voci la partie du programme affichant ce message :
if (select(sock+1, &fdsr, NULL, NULL, &tv_timeout) <= 0)
{
// Dans le cas où le temps est écoulé, on veut sortir de la boucle
// on compte le paquet comme envoyé mais perdu
printf("D\202lai d'attente de la demande depass\202.\n");

2) En principe il doit afficher les autres cas lorsque le type
est différent de 8

if((icmphdr->type)!=8 && (icmphdr->code)!=0)
{
// En cas d'erreur, identification
switch(icmphdr->type)
{
case 3 :
printf("R\202ponse de %s : %s.\n", inet_ntoa(from- >sin_addr), Erreur3[icmphdr->code]);
envoye++;
return 1;
case 4 :
printf("R\202ponse de %s : %s.\n", inet_ntoa(from->sin_addr), Erreur4[icmphdr->code]);
envoye++;
return 1;
case 5 :
printf("R\202ponse de %s : %s.\n", inet_ntoa(from->sin_addr), Erreur5[icmphdr->code]);
envoye++;
return 1;
case 11 :
printf("R\202ponse de %s : %s.\n", inet_ntoa(from->sin_addr), Erreur11[icmphdr->code]);
envoye++;
return 1;
case 12 :
printf("R\202ponse de %s : %s.\n", inet_ntoa(from->sin_addr), Erreur12[icmphdr->code]);
envoye++;
return 1;


J'attends votre aide avec impatience et MERCI
A voir également:

1 réponse

pop70 Messages postés 181 Date d'inscription mardi 6 avril 2010 Statut Membre Dernière intervention 7 janvier 2012 10
30 avril 2011 à 21:20
Salut,
je ne comprends pas bien, ça me parait normal que ce message s'affiche, si l'adresse envoyée au ping n'existe pas, les paquets partent nulle part, et comme le ping calcule le temps jusqu'à ce qu'il reviennent et qui ne les reçoit jamais, au bout d'un moment il arrête l’exécution puis informe que le délai est dépassé. Non ?



Pop70
0
Rejoignez-nous