Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : sniffer [ Windows / Réseau & Internet ] (merwanne)

lundi 7 mai 2007 à 00:28:50 | sniffer

merwanne

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.

merci d avance.

lundi 7 mai 2007 à 13:03:08 | Re : sniffer

emmatopiak


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.

lundi 7 mai 2007 à 19:35:59 | Re : sniffer

merwanne

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  

mardi 8 mai 2007 à 10:07:43 | Re : sniffer

emmatopiak

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.

Une autruche ne se cuit pas aux petits lardons.

mercredi 9 mai 2007 à 10:17:58 | Re : sniffer

merwanne

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.

mercredi 9 mai 2007 à 15:54:05 | Re : sniffer

emmatopiak

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.
@++


Une autruche ne se cuit pas aux petits lardons.

lundi 14 mai 2007 à 12:44:56 | Re : sniffer

merwanne

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.

merci a vous.

 


lundi 14 mai 2007 à 13:11:03 | Re : sniffer

emmatopiak


Salut,
pcap_open ca precise sur quelle interface ecouter. pcap_freealldevs ca libere les ressources je pense


Une autruche ne se cuit pas aux petits lardons.

samedi 26 mai 2007 à 20:13:11 | salut

merwanne

bonjour,

on ce moment je veux implémanter ce code sur c++ builder, ou bien visuel c++, mais je ne sais trop comment faire, si vous pouvez s'il vous plait,

merci a vous.

samedi 26 mai 2007 à 22:06:00 | Re : sniffer

The_Guardian

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

===


1 2

Cette discussion est classé dans : code, sniffer


Répondre à ce message

Sujets en rapport avec ce message

sniffer [ par ashram79 ] Bonjourj essaye de faire une appliqui va écouter les messages échangés entre deux applicationsdistantes qui communiquent via un serveur tomcatqui est Problème d'Ascii [ par Arecibo ] Je sais que je dois commencer à vous emm***er avec l'Ascii mais bon, j'ai encore un problème.Mon programme est censé agir ainsi lors d'un click sur le sniffer des messages sortants [ par ashram ] Bonjourje suis en train de réaliser un sniffer pour faire de l'administrationen fait je veux pouvoir écouter sur un port particulier de ma machineles DLL activeX [ par guiguimac ] Bonjour,n'ayant jamais rien fait de trés poussé en C++, j'aimerai savoir si qq'un dispose d'un tut ou d'un exemple de code permettant la réalisation d sniffer en local [ par ashram ] Bonjour j utilise un sniffer ( ethereal ) pour intercepter les messages entre 2 applications qui interagissent entre elles lorsque g une appli qui est #include circulaires [ par abubu38 ] Salut, J'ai un gros probleme de compilation au niveau des .h :fichier f1.h : #include f2.h class A { // définition nécéssitant la classe probleme avec l'affichage d'un LPCTSTR [ par sampq ] J'ai un probleme avec l'affichage d'un LPCTSTR, voila le bout de code:string url;LPCTSTR url2;url2 = url.c_str();cout << "url : " << url & Envoi de classe avec send [ par piemur2000 ] Bonjour,Je voudrai envoyer une classe grace à un send.Par exemple cette classe :class Donnees{ int Type; int Taille; d Code source TCP [ par nephilik ] Bonjour,Je suis à la recherche du code source du protocole de transport TCP (avec encapsulage, gestion de la fenêtre coulissante, acquittements...).Qu Char et caractère NULL [ par Arecibo ] Lorsque je déclare : char Texte[16];est ce que je déclare :- une variable de type char de 16 caractères PLUS le caractère NULLou- une vari


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.