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 !

IP SNIFFER EN MODE "PROMISCUOUS"


Information sur la source

Catégorie :Réseau & Internet Niveau : Expert Date de création : 05/01/2003 Date de mise à jour : 05/01/2003 14:39:42 Vu / téléchargé: 8 467 / 1 918

Note :
7,33 / 10 - par 6 personnes
7,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (24)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
visualisez tout le trafic reseau de votre LAN :
ip destination, ip source, protocol, port source, port destination, taille du paquet.

ne necessite pas de driver particulier, le code utilise la nouvelle implementation des "raw sockets" sous windows 2000 et superieur.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de LordBob le 05/01/2003 15:09:30

genial !!! j'adore ton prog et en plus il marche bien... car contre les commentaire sont en anglais... ("bizar"), mais le prog est excelent... lui met un pitit 9/10

signaler à un administrateur
Commentaire de erwanl le 05/01/2003 15:42:57

lordbob:
j ai d abord ecrit le code en delphi pour des sites de dev us,
d ou une partie des comments en us.
le code delphi est dldable ici :
http://erwan.l.free.fr/sniffer_w2k.zip.
la version delphi est plus robuste et affiche le contenu des packets.

signaler à un administrateur
Commentaire de BlackCrow le 09/01/2003 15:35:27

Pas mal ton prog !!! Mais je n'arrive à capturer que les paquets IP. Tu ne sais pas ce qu'il faut faire pour pouvoir voir les autres types ethernet ??? (ARP, RARP, ...)

signaler à un administrateur
Commentaire de erwanl le 09/01/2003 20:56:36

blackcrow : ce sniffer est un ip sniffer et non un ethernet sniffer.
il utilise le winsock, il se situe donc un peu plus haut dans le modele OSI, c est pkoi il ne necessite pas de drivers particulier comme un ethernet sniffer.

erwan

signaler à un administrateur
Commentaire de BlackGoddess le 13/01/2003 16:45:22

tu aurais des id sur la facon de faire un ethernet sniffer ?
des idées sur la facon de faire un firewall (non seulement lire mais aussi bloquer) ?

signaler à un administrateur
Commentaire de solton le 08/08/2003 05:08:14

bonjour jai télécharger ip sniffer mes je ne ses pas ou metre les fichier
???

signaler à un administrateur
Commentaire de legion91 le 31/01/2004 11:38:22

ouais exellent juste un truc faudrait k ton prog puisse faire l'addition des packet car 48 + 40 sinon c super

48 bytes
x.x.x.x->x.x.x.x
TCP
(src port) 80
(dst port) 1372
**********************************
40 bytes
x.x.x.x->x.x.x.x
TCP
(src port) 80
(dst port) 1372

signaler à un administrateur
Commentaire de francouss le 20/02/2004 19:10:35

'tain, dommage que j'y comprenne rien à ce foutu code, il marche!!!
J'en aurais besoin mais pour écouter un seul port et m'afficher les données....toi qui a l'air de savoir de quoi tu parles....Est-ce que c'est possible en VB ou faut que je mette à autre chose?

signaler à un administrateur
Commentaire de anthanos le 12/03/2004 02:56:10

J'ai de trés bonnes connaissances VB !!!! mais là .....
Respect, sur le code et attaquer la couche réseau en raw socket !! pas mal du tout.....
J'étais en train de développer un sniff en C avec la librairie pCAP, qui me prennait bien la tete !!!
J'arrete tout et je me penche sur ton code !!!
Se sera beaucoup plus simple pour un sniffer de base !!!
Vraiment sincéres félicitations !!!!
Fred

signaler à un administrateur
Commentaire de Mémère le 12/09/2004 11:44:07 administrateur CS

sauf que c'est pas de lui & que ce code tourne déja depuis qques années....

signaler à un administrateur
Commentaire de erwanl le 12/09/2004 13:51:25

mémère?
pas tres sympa ca :(
ce code je l ai ecrit en 2002, posté en 2003, et nous sommes en 2004...
pour l histoire j ai aussi ecrit ce code en delphi a la meme epoque : http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=971&lngWId=7.
pour finir, depuis tres longtemps je diffuse un sniffer complet en freeware ici : http://erwan.l.free.fr/

pour finir, je n ai pas envie de me justifier davantage devant de genre de commentaire sterile.

signaler à un administrateur
Commentaire de SpOrTiF le 09/11/2004 00:13:13

Mémère, je crois que on peut se passer de ton commentaire inutile, il a paster ce code ou son code avec désir de le partager aux autres et en meme temps distribuer les connaissances reliés aux codes.

Je pense que chaque code distribué est une nouvelle connaissance pour les membres du réseaux codes-sources.

On assiste souvent à du bitchage dans les forum relié aux codes-sources des programmes, et c'est dommage, si on envoit une source ici, cest dans un intéret collectif et non pour se faire briser le travail.

Pat.

signaler à un administrateur
Commentaire de patrix_2005 le 03/05/2005 06:30:04

Bonjour,

pourquoi tu dis que cela marche seulement avec windows2000 ou superieur.
Les raw sockets sont implémentés depuis Winsock2, et cela devrai marche avec Windows98. Peut-tu m'éclaircir?

signaler à un administrateur
Commentaire de bobobo le 19/02/2008 18:21:21

Salut Erwan,

Nikel ton soft freeware, c'est en VB ?
Le source que tu as déposer nikel aussi !
Je vais plonger un peu plus dedans pour voir à le modifier un peu :D

Mille merci.

Pour les mauvaises langues faut pas les écouter, y a toujours des jaloux ;)
Quand bien même ça serait du copier coller, bin faut avoir la gentillesse de le déposer ici et ça c'est pas inné !!!!

signaler à un administrateur
Commentaire de erwanl le 19/02/2008 18:37:15

BOBOBO,
Le freeware sur http://erwan.l.free.fr est en delphi.
VB6 devient vite pénible dès qu'il s'agit de jouer avec les api et les pointeurs.
Maintenant, cette source date un peu et serait plus facile à gérer en .net

Merci,
Erwan.

signaler à un administrateur
Commentaire de bobobo le 20/02/2008 15:53:08

Oui j'ai vu ça.
Cependant ce bout de code VB va m'être utile pour ce que je veux faire.
Je déposerais le source une fois terminé.

signaler à un administrateur
Commentaire de bobobo le 24/02/2008 17:05:29

Rebonjour Erwan,

je voulais savoir, quelle est la sinification de connection dont le port source et destination est négatif comme "-11354" ou encore null (les deux ports source et destination sont à 0) ?
Précision: les ports qui sont à zero utilise le protocol udp.
Dans le code j'ai vu qu'il y avait plusieurs valeur pour le protocol, mais seulment 3 sont choisi, quelles sont les autres ? (si il y en a)
Si tu pouvais répondre à ma question je serais un petit codeur content.

signaler à un administrateur
Commentaire de erwanl le 24/02/2008 18:31:19

Hello BOBOBO,
Les principaux protocols IP (transport layer) que tu rencontrera seront TCP (06), UDP (11) & ICMP (01).
Il y en a d'autres mais c'est plus rare et la il faudra implémenter le parseur qui va bien.
Sur UDP et ICMP, tu n'auras pas de remote port (udp) ou pas de local/remote port (ICMP).
Pour les autres IP protocols tu peux les trouver dans la RFC qui traite de l'IP.

Pour les ports négatifs, c'est sans doute un bug dans mon code : soit une valeur trop grande dans une variable ou un hi / lo byte non geré.

A+

signaler à un administrateur
Commentaire de bobobo le 16/03/2008 19:21:51

Salut Erwan,

J'ai finalement trouvé le hic avec les ports négatifs...les integers ne gèrent pas le non signé, apparement, l'integer non signé, ça n'existe pas dans les versions vb 6 et antérieurs mais ça devrait arriver avec la prochaine version.

Pour le faire fonctionner correctement j'ai récupérer la valeur abs() du port, puis soustrait a 32768 la valeur du port, ensuite je lui ai ajouté 32768.
port = abs(port)
port = 32768 - port
port = port + 32768

(pour ceux que ça intéresse)

J'ai pas trouvé meilleur méthode pour récupérer le non signé.

Je voulais avoir une tite info concernant ton ip tools, comment tu gères le stockage des infos dans ton tableau (au niveau affichage)?

en vb c'est assé limité, je ne sais pas trop comment procédé pour éviter l'overflow, que ce soit une text box ou une liste ou quoi que ce soit d'autre ....
(As-tu déjà fait des tests en laissant tourner pendant plusieurs jours ?)

De plus en faisant des tests avec DUMeter d'activer (un moniteur bande passante)
j'ai pu constater que le traffic augmentait.

Est-ce normal ?

voilà, désolé pour toutes ces questions si elles te paraissent futilent.

Bo!

signaler à un administrateur
Commentaire de erwanl le 16/03/2008 22:07:13

Bien la gestion du non signé :)

Coté trafic, normalement un sniffer n'y change rien.
Par contre, vu qu'on passe en mode promiscuous, si tu es sur un hub tu récupères aussi le traffic des autres machines sur ton réseau.

Coté stockage des infos, dans iptools, ma listview a nativement un pointer associé a chaque item ce qui me permets de stocker un tableau de byte sur chaque ligne.
Mais c'est moche car ca mange un max de ram : le mieux est encore de stocker ses datas dans un fichier (c'est une option dans iptools).

/Erwan

signaler à un administrateur
Commentaire de bobobo le 09/04/2008 14:42:02

RE!

J'ai deux questions,
comment faudrait il paramètrer WSAIoctl pour qu'il tourne avec une carte wifi standard ?

J'ai fait des recherches (msdn, google etc...) et des tests mais rien de concluant.
Dans mes tests j'ai récupérer le traffic de tout le monde on dirait mais,
Ip src dest et Port src et dest sont toujours les mêmes. Comme si seules les connections entrantes étaient considérées.

Ma deuxième question:

Comment switcher en non promiscuous ?

Merci d'avance

signaler à un administrateur
Commentaire de bobobo le 31/12/2008 09:59:34

Bon je vais répondre partiellement à ma question,
au cas ou ça intéresse quelqu'un !
Il se trouve que winsock
et les interfaces wifi ne soit pas compatible
en mode promiscuous.
Par consequent, si on bascule en non promiscuous ca devrait
fonctionner nikel.
J'ai fait des tests avec vPCap, ça marche au poil,
(même problème avec ethereal, si mode promiscuous et wifi)
par contre je n'arrive toujours pas à basculer,
le mode non promiscuous avec winsock,
quand bien même, je lutte a trouver une explication à
sa valeur &h98000001 ....
Si quelqu'un peut m'éclairer !

signaler à un administrateur
Commentaire de erwanl le 31/12/2008 22:14:56

peut etre en jouant sur la valeur de rcv_all (rcvall_on, off, socketlevelonly, uplevel) ?

le code vb date de 2003.
ce bout de code est au coeur de mon freeware, iptools, ici http://erwan.l.free.fr.
iptools permets de jouer avec plusieurs moteurs pour "sniffer" et de jouer avec plusieurs flags pour chaque moteur.

/Erwan

signaler à un administrateur
Commentaire de bobobo le 31/12/2008 22:59:51

Merci pour ta réponse rapide,
je vais chercher dans ce sens,
je posterais si j'ai du nouveau.

J'utiliserais bien une appli toute faite,
mais j'ai trop besoin de quelque chose de spécifique.

En attendant, je te souhaite une bonne année 2009
(je l'ai déjà fêté ici à cause du décalage horaire!!!)

A bientot


Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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,125 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é.