Packet sniffer - socket raw

5/5 (25 avis)

Vue 20 963 fois - Téléchargée 2 810 fois

Description

Voici le 4éme volet de mes sources sur la programmation des sockets asynchrones en VB.Net
Après :
- SOCKET ASYNCHRONES : SOURCE D'UNE PAGE HTTP D'UN SERVEUR WEB
- SOCKET ASYNCHRONES : SERVEUR WEB
- SERVEUR STREAMING WEBRADIO MP3
Voici donc maintenant un sniffer de réseau.
Avec ce programme vous pourrez surveiller ce qui se passe sur vos interfaces réseaux. Je n?ai pas encore implémenté beaucoup de filtre, uniquement par protocole (ICMP, IGMP, TCP et UDP). La version suivante devrait permettre de filtrer par port et par IP.
Par contre vous pouvez écouter toutes vos interfaces simultanément.

Le mode Raw des sockets permet de descendre jusqu?à la couche 3 .Après quelques recherches sur le NET, il n?est à priori pas possible de descendre au niveau de la couche Ethernet (sauf avec un pseudo driver genre LibPcap).

Utilisation :

1 er onglet : affichage des paquets correspondants aux filtres choisis.
2 eme onglet : toutes les infos au niveau Header IP et Header ICMP, IGMP, TCP ou UDP.
3 eme onglet : Affichage des données (et uniquement des données) du paquet capturé.
4 eme onglet : Mise en place des filtres par protocoles.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008
22 juin 2008 à 01:26
"mEnteteIP.Flag = Buffer(6) And &HE0 \ 32"
es tu sur ?
cs_Megafan Messages postés 389 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 23 septembre 2016 2
22 juin 2008 à 09:53
Salut,

A priori oui, dis moi quel est ton souci ?

rfc791
flag se trouve sur le 7 eme octet donc buffer(6)
flag= 3 bits du haut, donc And &HE0 on ne garde que les 3 bits du haut.
\32 -> decale de 5 bits vers la droite

@+
Megafan
cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008
22 juin 2008 à 11:46
Salut, c'était juste une question de priorité d'opération entre le AND et le \:
"mEnteteIP.Flag = (Buffer(6) And &HE0) \ 32"

Ceci dit les calculs binaires (conversions) et les bitwises ne sont pas mes amis ce qui fait que je suis un peu perdu dans tous tes calculs.
elguevel Messages postés 718 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 22 novembre 2016 3
2 sept. 2008 à 22:03
désolé, oublié la note ...
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 30
18 juin 2010 à 20:04
Apréciable la facilité avec laquelle tu procède à l'analyse des entêtes.

Très bonne source, très instructive, bien codé et très facile à comprendre qui se font rare ici.

Pour moi c'est un 10 sans discuter.

Bravo !

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.