C'est un programme destiné à faire des requetes ICMP, une copie qui se veut la plus proche de la commande 'ping' de MS-DOS.
Les options de base sont implémentées, mais elles doivent etres mises dans l'ordre :
-t pour faire tourner le prog à l'infini
-a pour utiliser la résolution de nom
-n pour spécifier le nombre de requêtes à envoyer
-w pour spécifier le temps d'attente de la réponse
Source / Exemple :
pas de code car tout est dans le zip !!!
Conclusion :
Je comptes l'améliorer en utilisant getopt() pour gérer les options de la ligne de commande.
Je vais aussi rajouter une option qui permet de spécifier la taille des paquets.
j'utilise actuellement le programme pingueur.c pour similer 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
je viens d'exécuter ce pgm et il fonctionne correctement lorsq le ping passe mais lorsq ce dernier ne passe pas je n'aurai pas les messages d'erreurs qui ont été présentés dans le pgm , il m'affiche juste " délai d'attente dépassé " . je ne sais pas ou est le pb ...
veuillez svp me répondre le plutot possible .
Je trouve ton programme bien fait.
Mais, j'ai une question: Je voulais savoir si c'est possible à partir de plusieurs @IP, d'envoyer plusieurs ping avec ton programme.
Et si oui comment?
J'ai essayé avec une liste d'adresse predefinie dans un fichier mais ca ne marche bien.
Merci d'avance.
AD
merci au posteur, meme si je vais jsut commencer a etudier le prog car a premiere vu jne pige rien :d
!!
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.