Packet sniffer - socket raw

Soyez le premier à donner votre avis sur cette source.

Vue 20 175 fois - Téléchargée 2 716 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
Messages postés
2813
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
38
Ben à mon avis ils ont du amélioré la sécurité sous Win7, essaye d'étudier la source pour comprendre le pourquoi du comment.

Pour ton envoi de paquets, tu verras vite que via les sockets c'est malheureusement impossible (en Raw). La solution est d'utiliser les API d'une DLL nommé winpcap. Il existe des wrapper en C# donc à traduire en VB.

Pour plus d'infos regarde ce post, cela te donnera une idée de la difficulté que j'ai rencontrée. D'ailleurs je n'ai jamais pu concrétiser mon projet. Il est tombé à l'eau car techniquement il est apparemment impossible d'envoyer des paquets sur le réseau (je parle de paquets brut)

Voila le lien :

http://www.codes-sources.com/forum/sujet-BAR-RESEAU-PARTAGE-ROUTAGE_1448100.aspx

En te souhaitant bon courage, tiens moi au jus si tu y arrive je serais fortement intéressé par une solution.
Messages postés
1
Date d'inscription
mardi 21 janvier 2003
Statut
Membre
Dernière intervention
11 février 2011

Bonjour , cherchant a fair un sniffer raw socket pour capturer des paquets tcp en vb.net (et aussi pour envoyer des packets mais ca je verrais plus tard) je trouve cette source.Je me connecte a un serveur avec un client installé sur mon PC sous windows seven, je lance la source , je filtre avec la source le port qui m'interesse mais je rencontre un probleme : je recoit les paquets dans les 2 sens (client -> serveur , serveur -> client) mais je recois seulement les datas des paquets dans le sens client -> serveur et pas dans l'autre sens , savez vous d'ou cela peu venir ?
Messages postés
2813
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
38
Juste une chose :

Dim FragmentOffset As Byte ' 13 et que font le 2 bits manquants ????

En fait ce sont plutôt les 3 bits manquants (mots de 16 bits de l'entête).

Et pour répondre : Les 3 derniers bits sont pour le flag ;O)

Mais je suppose que tu le sais déjà et que tu as simplement oublié de retirer ce com, mais je le poste quand même pour répondre à ceux qui se poseraient la question en te relisant.
Messages postés
2813
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
38
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 !
Messages postés
21
Date d'inscription
mardi 13 février 2007
Statut
Membre
Dernière intervention
20 février 2012

Bonjour, voila mon souci le sniffer lit que les packet entrants mais pas les packet sortant pourquoi ?
Afficher les 25 commentaires

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.