Ethereal Analyseur de trafic réseau Romain AUFFRET Maxime HERVÉ Soutenance orale de Réseaux
2 Ethereal Introduction Qu’est-ce que Ethereal? Caractéristiques Fonctionnalités, architecture Filtrage : À la capture A l’affichage Exemples de capture : Traceroute Trafic quelconque
3 Introduction Ethereal = Analyseur réseau = logiciel qui décode le trafic réseau, jusqu’à la couche applicative Logiciel sous licence GPL fonctionnant sous Unix/Windows. 750 protocoles réseaux supportés 1 ère version sortie en juillet 1998 : Version actuelle : Windows, Linux (27/12/2005) :
4 Caractéristiques Réseaux physiques OS
5 Fonctionnalités (1/3) Capture sur le réseau, via la bibliothèque « Winpcap » sous Windows ou « pcap » sous Unix Lecture de nombreux formats de traces, générés par d'autres analyseurs réseau Décodage de nombreux protocoles, via des « dissecteurs » dédiés Décodage du trafic : ethereal (GUI en GTK, interface graphique) ou tethereal (CLI, version en ligne de commande d'ethereal)
6 Fonctionnalités (2/3) Sauvegarde du trafic : Possibilité de sauvegarder un sous ensemble du trafic capturé Particulièrement intéressant en utilisant un filtre d'affichage Analyse du trafic : Fonctionnalité Follow TCP Stream : réassemblage d'une session TCP Fonctionnalités statistiques avancées, parmi lesquelles Protocol Hierarchy : donne un aperçu de la répartition des protocoles observés dans une capture Endpoint List : donne la liste des endpoints (éq à pour l’Ethernet) observés dans une capture Conversation List : donne la liste des conversations observées dans une capture (=trafic entre
7 Fonctionnalités (3/3) Identification du trafic : Ethereal peut se baser sur les numéros de port pour identifier la nature du trafic Fonctionnalité Decode As, lorsque Ethereal se trompe dans l'identification Il est parfois nécessaire de désactiver le décodage d'un protocole donné (Enabled Protocols)
8 Architecture (1/2) Dissecteurs : Modules assurant le décodage d'un protocole réseau spécifique Protocoles supportés se situant à tous les niveaux du modèle réseau
9 Architecture (2/2) Interface utilisateur « 3 panneaux » en mode graphique : Résumé des trames Détail d'une trame décodée Données brutes décodées
10 Filtres (1/3) À la capture : filtres permettant de sélectionner en amont du lancement de la capture certaines trames comme dans ce cas http et tcp : Syntaxe : le filtre prend forme avec une série d’expressions nommées « primitives », jointes grâce à des conjonctions, telles que « and », « or », et précédées ou non de « not » : [not] primitive [and|or [not] primitive...]
11 Filtres (2/3) À l’affichage : Permettent de filtrer les trames affichées (sans avoir appliqué un filtre à la capture au préalable). La « sélection » des paquets s’effectue par protocole, par la présence d’un champs, par les valeurs des champs et par une comparaison entre champs.
12 Filtres (3/3) English Description & exemple eq ==Equal ip.addr== ne !=Not equal ip.addr!= gt >Greater than frame.pkt_len > 10 lt <Less than frame.pkt_len < 128 ge>=Greater than or equal to frame.pkt_len ge 0x100 le<=Less than or equal to frame.pkt_len <= 0x20 and&&Logical AND ip.addr== and tcp.flags.fin or||Logical OR ip.addr== or ip.addr== xor^^Logical XOR tr.dst[0:3] == xor tr.src[0:3] == not!Logical NOT not llc […] Substring Operator eth.src[0:3] == 00:00:83 eth.src[1-2] == 00:83 eth.src[:4] == 00:00:83:00 eth.src[4:] == 20:20 eth.src[2] == 83 eth.src[0:3,1-2,:4,4:,2] == 00:00:83:00:83:00:00:83:00:20:20:83 Syntaxe (filtres à l’affichage) :
13 Exemple de capture : Traceroute Traceroute site de l’IUT : Interface http (du routeur)
14 Avec l’utilisation d’un filtre d’affichage (ip.addr eq and ip.addr eq ) and (tcp.port eq 80 and tcp.port eq 1711) station passerelle/défaut vers le reste de l’Internet
15 Fonction flow graph : (après le follow stream) Affichage sous forme d’un diagramme d’échange
16 Téléchargement d’un fichier sur un serveur ftp : (ftp://ftp.nero.com) Navigation sur un site http Broadcast Ethernet Couche transport Tout trafic confondu Autre exemple : Graph I/O pour un trafic quelconque
17 Conclusion Ethereal devient l'outil standard pour l'analyse réseau Outil parfaitement adapté à des tâches liées à la sécurité informatique Nouvelles fonctionnalités régulièrement ajoutées, grâce au modèle de développement