__:: Outils : Les Sniffers ::__ |
Les sniffers .... Voilà un drôle de mot. To sniff signifie
renifler en anglais. Les sniffers sont donc des renifleurs de paquets de données
... C'est aussi simple que ça !!
Il s'agit d'un petit programme que vous allez lancer (parfois en tâche
de fond) et qui vont enregistrer tout paquet en provenance et à destination
de votre machine.
Toutes ces données (ça peut faire beaucoup si vous restez connecté
longtemps ...) sont stockées dans un fichier que vous spécifiez
avant de lancer l'enregistrement.
L'utilité d'un sniffer est qu'il propose, une fois la capture terminée,
d'examiner le contenu du fameux fichier qui contient toutes les données.
Une interface graphique conviviale décode pour vous chaque paquet de
données et vous expose le contenu, couche par couche. C'est un très
bon moyen de comprendre enfin le fonctionnement de ces maudites "couches
de protocoles" dont je vous parle depuis si longtemps ... Il s'agit en
fait alors d'un analyseur de protocoles.
Voici une petite capture d'écran du logiciel Network Monitor de Microsoft :
![]() |
L'écran se découpe en trois parties, de haut en bas :
1) La première partie donne une vue d'ensemble de tous les datagrammes capturés. Un certain nombre d'informations (synthétiques ) est présenté pour chaque datagramme : numéro de trame, heure, adresse MAC source et cible, protocole de la couche la plus haute, description des infos principales de cette couche ...
2)La partie centrale offre un détail du décodage de la trame choisie dans la section supérieure. Vous pouvez développer le décodage de chaque couche grâce au signe "+". La première catégorie (Frame) contient des informations d'ordre général sur la trame choisie et sur la capture (heure, nombre de trame, taille de la trame ....)
Suivent ensuite les couches de protocole décodées. Ici ethernet puis IP puis TCP (ce ne sera pas toujours le cas ...)3) La dernière partie contient une représentation des données de la trame en hexadécimal. La zone en surbrillance correspond à la couche de protocole sélectionnée juste au dessus, dans la partie centrale de l'écran. Si vous appliquez le format des différents en-têtes présentés dans leurs rubriques respectives (TCP et IP), vous devriez arriver à confirmer les informations fournies par cet analyseur de protocole.
Cet outil propose entre autre un certain nombre d'utilitaires pour vous aider à vous y retrouver dans cette quantité importante de données : un filtre vous permet de définir, suivant des critères très précis, quelles trames vous voulez visualiser.
Nous allons prendre un petit exemple. Voici une capture typique, il s'agit d'un scan de port TCP :
![]() |
J'ai pris seulement un échantillon de la capture pour vous montrer un peu ce qu'il se passe. Nous allons étudier la première partie de l'écran, colonne par colonne :
On dispose uniquement de 6 trames de données (numérotées
19,21,27,41,51,56 et 87). Vous voyez que les quatre premières proviennent
de l'adresse qui commence par 00000 et vont vers l'adresse BCDF2. Les deux dernières
circulent dans l'autre sens. Toutes ces trames utilisent TCP sur la couche la
plus haute : on dispose donc dans le champ description d'informations sur l'en
tête TCP de chaque trame.
La première information du champ description nous renseigne sur l'état
des flags. Un point "." signifie que le flag est à 0. La lettre
correspondant au flag est présente si le flag en question est à
1 (S = SYN, A = ACK, R = RESET). Les quatre premiers segments TCP ont donc le
flag SYN à un, il s'agit donc de demandes d'ouverture de connexion.
Il faut maintenant regarder dans la partie du milieu pour en savoir un peu
plus, en particulier sur le numéro de port qui est demandé à
chaque connexion ... Sur l'image ci-dessus, on voit que la trame 27 est envoyée
avec le flag SYN à un, depuis le port source 1561 et vers le port cible
25 (l'analyseur de protocole nous précise qu'il s'agit du port SMTP).
Vous allez me faire confiance car je ne vais pas faire 12 captures d'écran
de cette taille ... La trame 19 avait pour port cible le port 62, la trame 21
le port 65 et la trame 41 le port 62.
La machine 0000 demande donc 4 connexions successives à moins d'une seconde
d'intervalle sur 4 ports de la machine BCDF2 ... C'est étrange. Pour
en savoir plus, reportez-vous à la section scanner de ports !!!
On va passer rapidement sur la réponse de la machine BCDF2. Cette dernière retourne des trames avec les flags ACK et RESET. Ca veut dire en gros que cette machine acquitte les segments précédents (vous pouvez verifier avec les numéros de séquence si ça vous amuse ...) mais qu'elle ne peut pas (ou ne veut pas) établir une connexion sur les ports demandés, soit parce qu'ils ne sont pas ouverts (à l'écoute) soit parce qu'ils sont déjà utilisés ....
Vous comprendrez mieux une fois que vous aurez lu la section scanner mais il s'agit d'un processus standard pour savoir quels ports d'une machine sont à l'écoute et quel sont les services qui tournent sur la machine cible.
Petite précision : le firewall dont je vous ai parlé plus tôt capture automatiquement tout trafique jugé suspect dans des fichiers que vous pouvez relire à l'aide d'un logiciel d'analyse de protocole .... Ca peut être utile parfois, pour comprendre ce qui c'est passé !!!
[ Précédent | Accueil | Suivant ] | |
© 2001 RésoLution. Tous droits réservés. Contactez le Webmaster. |