cs_valoue
Messages postés72Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention13 mai 2011
-
1 juil. 2004 à 17:09
bakonu
Messages postés2Date d'inscriptionmardi 25 novembre 2003StatutMembreDernière intervention30 août 2005
-
30 août 2005 à 21:25
Bonjour,
J'essaie d'utiliser les Raw Socket afin de voir tout ce qui passe sur le reseau, ne garder que ce qui me concerne, et calculer le nbre de trames recues, le nbre de trames envoyées et le nbre de trames erronées. Pour cela, il faut donc que j'utilise les raw sockets pour voir ce qui se passe.
Je suis sous 2000, (en admin), apres avoir créé un raw socket (comme toi), je fais:
/* Place en mode promiscuous lesocket */
if (WSAIoctl(sock, SIO_RCVALL, &dwBufferInLen, sizeof(dwBufferInLen), NULL, 0,&dwBytesReturned , NULL , NULL) == SOCKET_ERROR)....
cependant, j'ai une erreur a l'execution (erreur 10022 = argument invalide). Je pense que ça vient du 2ème paramètre, c'est le controlCode. Je ne sais pas ce que ce code représente, mais g vu sur le net qu'il fallait mettre la valeur:
#define SIO_RCVALL _WSAIOW(IOC_VENDOR,1)
Je suis completement bloquée, je ne comprends pas où est l'erreur puisque je ne comprends pas ce qu'est ce ControlCode.
Pourriez vous m'expliquer voire, me corriger !!
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 1 juil. 2004 à 17:18
Salut,
Avec SIO_RCVALL tu aura des infos sur les paquets recus mais pas sur les paquets envoyés.
Pour avoir des infos sur tout les paquets, GetIpStatistics(...)
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 1 juil. 2004 à 17:38
Salut,
Les raw sockets ne te permetent pas d'obtenir ce que tu veux. Tu n'aura que le nombre de paquet entrant + nombre de paquet erronés, et cela a partir du moment ou lance ton programe.