IP SNIFFER EN MODE "PROMISCUOUS"

cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 - 5 janv. 2003 à 15:09
lediablo Messages postés 214 Date d'inscription mercredi 26 avril 2006 Statut Membre Dernière intervention 2 août 2012 - 19 août 2010 à 08:27
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/5580-ip-sniffer-en-mode-promiscuous

lediablo Messages postés 214 Date d'inscription mercredi 26 avril 2006 Statut Membre Dernière intervention 2 août 2012
19 août 2010 à 08:27
bonjour
est-il possible de récupérer les données envoyées et reçus avec ce sniffer ?
merci d'avance
cs_bobobo Messages postés 37 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 17 octobre 2012
29 juin 2010 à 01:51
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.
nonopirator Messages postés 6 Date d'inscription lundi 14 février 2005 Statut Membre Dernière intervention 29 juin 2010
28 juin 2010 à 13:40
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,
alexelence6947 Messages postés 1 Date d'inscription mercredi 20 juin 2007 Statut Membre Dernière intervention 19 avril 2009
19 avril 2009 à 21:48
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 ???
cs_bobobo Messages postés 37 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 17 octobre 2012
31 déc. 2008 à 22:59
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
erwanl Messages postés 7 Date d'inscription dimanche 5 janvier 2003 Statut Membre Dernière intervention 31 décembre 2008
31 déc. 2008 à 22:14
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
cs_bobobo Messages postés 37 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 17 octobre 2012
31 déc. 2008 à 09:59
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 !
cs_bobobo Messages postés 37 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 17 octobre 2012
9 avril 2008 à 14:42
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
erwanl Messages postés 7 Date d'inscription dimanche 5 janvier 2003 Statut Membre Dernière intervention 31 décembre 2008
16 mars 2008 à 22:07
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
cs_bobobo Messages postés 37 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 17 octobre 2012
16 mars 2008 à 19:21
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!
erwanl Messages postés 7 Date d'inscription dimanche 5 janvier 2003 Statut Membre Dernière intervention 31 décembre 2008
24 févr. 2008 à 18:31
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+
cs_bobobo Messages postés 37 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 17 octobre 2012
24 févr. 2008 à 17:05
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.
cs_bobobo Messages postés 37 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 17 octobre 2012
20 févr. 2008 à 15:53
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é.
erwanl Messages postés 7 Date d'inscription dimanche 5 janvier 2003 Statut Membre Dernière intervention 31 décembre 2008
19 févr. 2008 à 18:37
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.
cs_bobobo Messages postés 37 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 17 octobre 2012
19 févr. 2008 à 18: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é !!!!
patrix_2005 Messages postés 2 Date d'inscription dimanche 1 mai 2005 Statut Membre Dernière intervention 3 mai 2005
3 mai 2005 à 06:30
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?
cs_SpOrTiF Messages postés 62 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 2 septembre 2008
9 nov. 2004 à 00: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.
erwanl Messages postés 7 Date d'inscription dimanche 5 janvier 2003 Statut Membre Dernière intervention 31 décembre 2008
12 sept. 2004 à 13:51
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.
cs_Mémère Messages postés 222 Date d'inscription samedi 24 mars 2001 Statut Membre Dernière intervention 24 juin 2007
12 sept. 2004 à 11:44
sauf que c'est pas de lui & que ce code tourne déja depuis qques années....
anthanos Messages postés 5 Date d'inscription mercredi 14 janvier 2004 Statut Membre Dernière intervention 28 mars 2004
12 mars 2004 à 02:56
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
francouss Messages postés 2 Date d'inscription lundi 15 décembre 2003 Statut Membre Dernière intervention 20 février 2004
20 févr. 2004 à 19:10
'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?
cs_legion91 Messages postés 216 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 15 décembre 2010
31 janv. 2004 à 11:38
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
cs_solton Messages postés 1 Date d'inscription vendredi 8 août 2003 Statut Membre Dernière intervention 8 août 2003
8 août 2003 à 05:08
bonjour jai télécharger ip sniffer mes je ne ses pas ou metre les fichier
???
BlackGoddess Messages postés 338 Date d'inscription jeudi 22 août 2002 Statut Membre Dernière intervention 14 juin 2005
13 janv. 2003 à 16:45
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) ?
erwanl Messages postés 7 Date d'inscription dimanche 5 janvier 2003 Statut Membre Dernière intervention 31 décembre 2008
9 janv. 2003 à 20:56
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
cs_BlackCrow Messages postés 2 Date d'inscription lundi 13 mai 2002 Statut Membre Dernière intervention 31 décembre 2007
9 janv. 2003 à 15:35
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, ...)
erwanl Messages postés 7 Date d'inscription dimanche 5 janvier 2003 Statut Membre Dernière intervention 31 décembre 2008
5 janv. 2003 à 15:42
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.
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
5 janv. 2003 à 15:09
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