Raw Socket pour ICMP C++

vdougnac Messages postés 13 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 2 mai 2007 - 2 mars 2007 à 09:59
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 - 2 mars 2007 à 11:03
Bonjour,

Je souhaiterai realiser un programme en C++ qui permet d'envoyer des paquets ICMP, notament pour faire un ping.
Je sais qu'il faut utiliser le mode RAW_SOCKET comme cela:

//Initialisation du serveur
WSAStartup(MAKEWORD(2,0),&wsa);
//Création du socket ICMP
sock=socket(AF_INET,SOCK_RAW,IPPROTO_ICMP);

puis créer un entête ICMP qu'il faut encapsuler dans un IP, est-ce juste?
Comment doit se faire l'encapsulation IP, dois-je la faire moi même ou elle se crée automatiquement au travers de SOCKADDR_IN sin; lors de l'envoie avec la fonction sendto ?

comment dois se faire la reception lors du ping, dois-je creer un nouveau socket ou utiliser le même qui m'a servi pour l'envoie?

Merci,
Vivi

1 réponse

ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
2 mars 2007 à 11:03
0
Rejoignez-nous