begin process at 2012 02 12 18:02:25
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseau & Internet

 > IP SNIFFER EN MODE "PROMISCUOUS"

IP SNIFFER EN MODE "PROMISCUOUS"


 Information sur la source

Note :
7,57 / 10 - par 7 personnes
7,57 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
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é :12 460 / 2 403

Auteur : erwanl

Ecrire un message privé
Commentaire sur cette source (28)
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

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source avec Zip Source avec une capture GESTIONNAIRE DE TÉLÉCHARGEMENT, AVEC REPRISE ET MULTITHREADI... par Madx23
Source avec Zip Source avec une capture CONVERTIR DU TEXTE RTF EN CODE HTML ET VICE-VERSA par vicosta
Source avec Zip Source avec une capture DICTIONAIRE TEXT/AUDIO/VISUELLE ANGLAIS AVEC WEBBROWSER CONT... par majnounmajda
Source avec Zip Source .NET (Dotnet) NSLOOKUP EN VB.NET OU COMMENT FAIRE UNE REQÛETE DNS EN PRÉCI... par ShareVB
Source avec Zip Source avec une capture MINI SEVEUR HTTP AVEC INTERFACE GRAPHIQUE ET IMPLÉMENTATIONS... par lemout

Commentaires et avis

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

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.

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, ...)

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

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) ?

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
???

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

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?

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

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

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.

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.

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?

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é !!!!

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.

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é.

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.

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+

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!

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

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

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 !

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

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


Commentaire de alexelence6947 le 19/04/2009 21:48:21

Bonjour a to eMerci pour la distrib de ces codes ^^

J'ai juste un petit soucis quand je lance la compil en vb ca me met "WSAIoctl failed"
Je pense que c'est parce que je suis en wifi mais j'en suis pas sure ...

Et pareil pour le soft en delphi ...
J'ai aussi tenter de faire un simple soft qui sniffais juste ce que j'envoyais par mon browser et meme résultat je récupere rien ...

Est ce que ca peux venir de ma connexion sans fil ???

Commentaire de nonopirator le 28/06/2010 13:40:02

Bonjour,

Ce post ne date pas d'hier mais je tente tout de même ma chance!
Nous avons dans mon entreprise une application sur un serveur dont le nombre de connexions clientes est limité.
Cette limite étant devenue un peu "juste", il arrive parfois de ne pas pouvoir se connecter.
L'effet est donc exponentiel puisque ayant peur de ne pas pouvoir se reconnecter, les utilisateur ne se déconnectent plus.
J'ai donc imaginé créer un programme résident sur les postes clients qui "sniffent" le réseaux et au cas où il n'y aurait pas d'échange avec le dit serveur pendant plus de x minutes, l'application serait déconnectée en "tuant" un thread, un socket ou je ne sais quoi(je n'y connais pas grand chose en réseau)
Je suis donc tombé sur votre source et je sais donc désormais comment détecter les échanges avec un serveur.
Existe t'il une solution pour procéder à la déconnexion d'un serveur, comme si on faisait un "débranchage sélectif" du câble réseau?

Merci d'avance

Cordialement,

Commentaire de bobobo le 29/06/2010 01:51:45

A mon avis c'est plutot cote server que ca se passe,
il conviendrait de le parametrer pour qu'il termine les connections "idle" depuis plus de quelques minutes.

Commentaire de lediablo le 19/08/2010 08:27:17 9/10

bonjour
est-il possible de récupérer les données envoyées et reçus avec ce sniffer ?
merci d'avance

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,983 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales