merwanne
Messages postés8Date d'inscriptionmardi 20 mars 2007StatutMembreDernière intervention11 juillet 2007
-
7 mai 2007 à 00:28
merwanne
Messages postés8Date d'inscriptionmardi 20 mars 2007StatutMembreDernière intervention11 juillet 2007
-
2 juin 2007 à 09:25
bonjour,
j ai trouvé ce code source d'un sniffer http://www.cppfrance.com/code.aspx?ID=38420, et il m'interesse bcp dans le cadre de mon projet, mais comme je ne suis pas tres programmeur je cherche quelqun pour m aider à comprendre les differentes etapes de ce programme et son fonctionement.
emmatopiak
Messages postés149Date d'inscriptionmercredi 28 mars 2007StatutMembreDernière intervention17 mai 20072 7 mai 2007 à 13:03
Salut,
Dans un sniffer y'a deux parties:
1) capture des paquets
2) affichage des informations
Pour la capture des paquets il faut utiliser une librairie spéciale, ici winpcap
--y'a juste à lire la doc de la librairie winpcap et à s'interfacer correctement--
Pour l'affichage des informations de chaque paquet, c'est juste la création des structures et l'affichage des champs.
Les protocoles sont imbriqués les uns dans les autres, ce qui fait que ça fait faire quelques tests.
Par exemple tu peux avoir des données HTTP dans un paquet TCP avec un entête IP et un entête Ethernet mais c'est pas compliqué en soi.
Si tu as une question particulière sur quelque chose que tu ne comprends pas, dis-le.
Sinon c'est assez technique (mais pas difficile) donc il faut des connaissances précises sur structures et pointeurs, car c'est pas niveau débutant non plus. OK.
@++
Une autruche ne se cuit pas aux petits lardons.
merwanne
Messages postés8Date d'inscriptionmardi 20 mars 2007StatutMembreDernière intervention11 juillet 2007 7 mai 2007 à 19:35
salut,
merci pour votre reponse, c vrai que c'est technique, mais question protocoles cava j'ai pas de probleme,
j'essaye de comprendre le code source, et je vous poserai des questions si necessaire,
je vais me plonger sur la fonction print_data, et print_packet, en suite sur le programme principal, je vois ça comme la mer a boire,
j'aimerai bien comprendre le principe du fonctionnement pour mettre ça dans mon rapport
merci à vous
emmatopiak
Messages postés149Date d'inscriptionmercredi 28 mars 2007StatutMembreDernière intervention17 mai 20072 8 mai 2007 à 10:07
Salut,
Parfois je suis surprise des gens qui lisent des codes et qui essayent de comprendre sans avoir les bases, c'est pas un tutorial ou un cours un code comme même.
merwanne
Messages postés8Date d'inscriptionmardi 20 mars 2007StatutMembreDernière intervention11 juillet 2007 9 mai 2007 à 10:17
bonjour,
je me suis mal exprimé je pense, je connais tt ce qui est reseau(protocole, architechture,.....), et j ai des bases en c et c++,
j essaye de comprendre l'algorythme des differentes parties, voila,
merci à vous.
Vous n’avez pas trouvé la réponse que vous recherchez ?
emmatopiak
Messages postés149Date d'inscriptionmercredi 28 mars 2007StatutMembreDernière intervention17 mai 20072 9 mai 2007 à 15:54
Salut,
print_eth_header, print_ip_header, print_ip_header => ça, ça affiche les structures
print_data => ça ça affiche les données de manière lisible (en plusieurs lignes)
print_packet => ça, ça récupère le paquet et ça affiche les infos si c'est un paquet IP / ETH / autre, donc ça fait juste qu'appeler les fonctions du dessus.
la fonction main par contre on va la détailler.
Les commentaires expliquent en même temps
1) récupération de la liste des interfaces réseaux
2) récupération de la liste des adapteurs réseaux et ouverture pour ceux qui sont capturables
3) tant qu'on recoit des paquets, on vérifie que c'est bien un paquet IPv6 ou IPv4 (0x800 et 0x86DD) et on affiche les infos.
Bon voilà, si tu as un problème plus particulier dis quelle fonction te gêne.
@++
merwanne
Messages postés8Date d'inscriptionmardi 20 mars 2007StatutMembreDernière intervention11 juillet 2007 14 mai 2007 à 12:44
bonjour,
ça va mieus je comprend maintenant les pointeurs et les structures, par contre j'ai du mal a savoir :
par example que fait la fonction "pcap_open(d->name, PACKET_SIZE, 0, 1000, NULL, errbuf);"dans la ligne 250
c'est à dire comment ça fonctionne.
et encore "pcap_freealldevs(alldevs);"
en realité tt ce qui concerne les fonction pcap. en fin je vais essayer de voir ça de plus pres.
The_Guardian
Messages postés317Date d'inscriptionvendredi 25 mai 2007StatutMembreDernière intervention19 octobre 20071 26 mai 2007 à 22:06
Salut,
Je ne sais pas a qui tu demandes, mais pour ta seconde question il faut que tu te debrouilles pour recuperer la librairie pcap pour windows puis ensuite dans ton builder c++ il va y avoir un bouton pour ajouter des librairies et la tu selectiones libpcap.lib ou un nom comme ca, puis tu mets les bons .h et ca devrait compiler sans aucun probleme quand tu fais un programme avec winsock.h
faut inclure la librairie wsock32.lib ben c'est pareil la
merwanne
Messages postés8Date d'inscriptionmardi 20 mars 2007StatutMembreDernière intervention11 juillet 2007 2 juin 2007 à 09:25
bonjour,
j'ai besoin de votre aide, je cherche des composant activeX, "packetX 1.0", mais je ne trouve pas, j'ai trouvé packetX 2.0, et 3.2 mais se sont des shareware et ils ne marchent pas, ils font des erreurs quand on lance leur installation à partir de builder c++, j'ai trouvé packetX 1.0 mais on voit que c'est le 3.2 quand on l'installe.
s'il vous plait donner moi un lien pour telecharger ces composants "packetX" qui marchent, free ou shareware l'essentiel qu'ils marchent.