Ethereal

un analyseur de protocoles réseau

Licence GFDL

Ce document est soumis à la Gnu Free Documentation Licence. C'est à dire que :

toute personne a le droit d'utiliser, diffuser et modifier ces documents

à condition d'indiquer la provenance du document original

à condition que les documents modifiés ou diffusés soient eux aussi soumis à la Gnu Free Documentation Licence et accessibles en ligne

j'apprécie d'avoir des retours sur les utilisations de ce document et/ou sur d'éventuelles erreurs/typo/màj/...

GFDL: http://cesarx.free.fr/gfdlf.html

Ethereal: présentation

ethereal est un analyseur de trame.

outil libre en constante évolution

de nombreux greffons lui permettent de décoder de nombreux protocoles

livré avec les outils suivants :

tethereal: ~ d'ethereal en ligne de commande

mergecap: fusionne des fichiers de capture

editcap: conversion/modification en ligne de commande de fichier de capture

text2pcap: convertit un dump hexa en fichier pcap

Ethereal: fonctionnalités

analyse de protocol réseau

capture et analyse de trames

sauvegarde/lecture de capture précédemment sauvegardées

décompose les différentes couches réseaux présentes dans une trame

compatible avec les formats de sauvegardes de nombreux logiciels

tethereal: outil de capture en mode texte

architecture en couche

1

CRC

TCP Data

IP Data

Preamble

Destination

Address

Type or

Length

Source

Address

Ethernet Data

8

6

6

2

0–1500

4

1514 bytes

TCP Header (20 bytes)

0–1460

IP Header (20 bytes)

schéma: M. Besson

Ethereal: écran

contenu hexa

Liste des trames

détail d'une trame

détail d'une trame

Ethereal: deux types de filtres

filtres à la capture:

sélectionner les trames à capturer

moins pratique et convivial que les filtres d'affichage

réduit le nombre de trames à capturer

filtres d'affichage:

langage simple, création avec un assistant

sélectionner les trames à afficher

colorier les trames affichées

Lancement d'une capture

sauvegarde vers fichier

options d'affichage

interface réseau

conditions d'arrêt

mode promiscuous

résolution de nom

Filtre à la capture

Filtres à la capture

langage de filtre de libpcap, utilisable avec tcpdump

forme générale d'un filtre à la capture :

[not] primitive [and|or [not] primitive ...]

Exemple :

tcp port 23 and host 10.0.0.5

cf http://www.tcpdump.org/tcpdump_man.html pour une descriptions complète

Filtres à la capture (2)

Filtres à l'affichage

langage de filtre différent de celui des filtres à la capture: &&, ||, (, ) et des expressions

sert à la sélection des trames affichés et à la colorisation des trames

dépend des routines de décodage de chaque protocole

=> évolue beaucoup d'une version à l'autre

guide de référence du filtre d'affichage: http://www.ethereal.com/docs/dfref/

ne pas oublier de cliquer sur « Apply » pour appliquer le filtre courant

Filtres à l'affichage (2)

Exercices

charger « bootw95.cap » situé dans captures_base

sélectionner les trames tcp

sélectionner les trames dhcp (voir Bootp/Dhcp)

les trames dont l'adresse ip destination est 255.255.255.255

coloriage et divers

coloriage: colorier les trames vérifiant certains filtres

couleur de la trame = celle du premier filtre auquel correspond elle correspond

via « View/coloring rules »

« set time reference » (menu edit): l'horodatage des trames suivants se fait en référence à cette trame

« Edit/mark Packet »: marquer la trame pour la repérer

Statistiques: protocol hierarchy

« protocol hierarchy »: nombre de trames, débit, ... présenté hiérachiquement selon le modèle en couche

Statistiques: conversations

qui cause à qui: résumés par couche

chaque onglet peut s'obtenir séparemment via « conversation lists »

Statistiques: EndPoints

indique les destinations des divers traffic. La notion dépend de la couche considérée: adresse MAC pour ethernet, adresse IP pour IP, adresse IP+port pour tcp ou udp, ...

chaque onglet peut s'obtenir séparemment via « EndPoints lists »

Statistiques: diagramme de flot

TCP

Tout le traffic

Ethereal: performances

perte de trames: ethereal n'arrive plus à suivre

Solutions possibles

désactiver l'affichage en temps réel des trames

désactiver les filtres à la capture si la quantité capturée est grande

activer les filtres à la capture si seul une faible part des trames est utile

arrêter les autres programmes (antivirus, daemon chargés, ...)

utiliser un outil dédié à la capture (tethereal, tcpdump, ...) puis analyser le fichier sauvé avec ethereal

Dans la fenêtre « détail d'une trame », on retrouve une section par couche:

physique

ethernet

IP

UDP

dhcp

Lorsque l'on sélectionne une section, la zone correspondante est mise en évidence dans la fenêtre HEXA.

E ndéployant une section donnée, on peut consulter son contenu qui est lui même composé de sections qui peuvent elles-même être déployées.

Politique suggérée concernant les filtres à la capture :

Il peut être utile d'utiliser des filtres à la capture pour limiter la quantité de trafic récupéré. Dans ce cas, en général, des filtres simples suffisent

La compatibilité du langage de filtre avec celui d'outil usuels sous unix comme tcpdump permet de factoriser l'effort d'apprentissage et justifie que l'on sache faire des filtres minimaux

il ne faut cependant pas perdre de vue que si l'on élimine trop de trames, elles seront définitivement perdues. c'est la raison pour laquelle l'affinage doit se faire avec les filtres à l'affichage (qui ont en plus l'avantage d'être plus faciles d'accès grace à l'assistant).

Exemples: ràf

Politique suggérée concernant les filtres à la capture :

Il peut être utile d'utiliser des filtres à la capture pour limiter la quantité de trafic récupéré. Dans ce cas, en général, des filtres simples suffisent

La compatibilité du langage de filtre avec celui d'outil usuels sous unix comme tcpdump permet de factoriser l'effort d'apprentissage et justifie que l'on sache faire des filtres minimaux

il ne faut cependant pas perdre de vue que si l'on élimine trop de trames, elles seront définitivement perdues. c'est la raison pour laquelle l'affinage doit se faire avec les filtres à l'affichage (qui ont en plus l'avantage d'être plus faciles d'accès grace à l'assistant).

le bouton « Expression » permet d'ajouter une expression à un filtre via un assistant.

Lorsque la syntase du filtre est bonne, le fond est vert (comme sur le bas de la diapo). Quand le fond est rouge, c'est que le filtre n'est pas bon.

L'utilisation des filtres suppose de comprendre finement ce que l'on fait et a des effets de bord non voulus.

Exemple:

filtrer sur adresses ip et port suppose d'aller dans IP (adresse) et dans tcp/udp pour le port.

ne garder que les trames ip de/vers une machine élimine les trames arp qui sont pourtant partie intégrantes du dialogue.

Présentation d'Ethereal: un analyseur de trame

Présentation d'Ethereal: un analyseur de trame

Pascal PETIT

2005-09-24T14:17:57

Pascal PETIT