GUIDE DE L'UTILISATEUR PLUGIN ASTERIX POUR WIRESHARK ...
GUIDE DE L'UTILISATEUR PLUGIN ASTERIX POUR WIRESHARK ...
GUIDE DE L'UTILISATEUR PLUGIN ASTERIX POUR WIRESHARK ...
- No tags were found...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
123645Dans cette fenêtre il faut tout d’abord choisir l’interface réseau (1) à partir de laquelle s’effectue la capture. L’option «Capture packets in promiscuous mode » (2) doit être activée si l’on souhaite recevoir tout le trafic qui passe sur l’interfaceréseau où est connectée la station sur laquelle est effectuée la capture et non uniquement le trafic adressé à la station.Un filtre de capture (3) peut aussi être appliqué, évitant de conserver certains paquets jugés inutiles.Le panneau « Display options » (4) permet de choisir si on souhaite voir les paquets s’afficher durant la capture, si onsouhaite suivre le trafic en temps réel, etc. Le panneau « Name resolution » (5) est utile si l’on souhaite que Wiresharksubstitue les adresses d’un niveau donné en des adresses plus lisibles, par exemple substitution des adresses MAC enadresses IP.Le panneau « Capture file(s) » (6) permet de renseigner le nom des fichiers dans lesquels on souhaite que la capture soitsauvegardée. Il est possible d’enregistrer la capture dans plusieurs fichiers et d’associer une condition de passage d’unfichier à l’autre si la capture dépasse une certaine taille ou une certaine durée. L’option « Ring buffer » permet de mettreen place un buffer circulaire sur les fichiers d’enregistrement, c’est-à-dire que lorsque le dernier fichier spécifié est plein,Wireshark recommence à écrire sur le premier fichier.Une fois les paramètres de la capture choisis, cliquer sur le bouton « Start » pour lancer la capture.Si l’option « Hide capture info dialog » (dans le 4) n’est pas sélectionnée, la fenêtre suivante apparaît.4
Pour terminer la capture, cliquer sur le bouton « Stop Capture » dans cette fenêtre. Si l’option « Hide capture info dialog »est sélectionnée, aller dans le menu « Capture\Stop » de la fenêtre principale pour arrêter la capture ou cliquer sur l’icône« Stop Capture » dans la barre d’accès rapide.i. Capture en continuCe mode de capture est possible grâce au mécanisme de buffer circulaire. Wireshark effectue la capture en temps réel etinscrit les paquets dans les fichiers au fur et à mesure. Lorsqu'il passe au fichier suivant, les paquets précédemmentaffichés sont effacés de l'écran. Il est donc impossible de suivre le trafic à cheval sur deux fichiers en temps réel.L'application de filtres graphiques est possible durant la capture, mais elle est relativement lente, même sur de petitsvolumes (CPU mobilisé pour la capture).Les statistiques sont affichables lors de ce genre de capture, mais la fenêtre est aussi réinitialisée lors du changement defichier. Il n'est donc pas possible d'obtenir des statistiques à long terme par ce moyen. Ainsi ce mode de capture estrelativement peu commode à exploiter.ii. Capture sur une période déterminéeIl est possible de capturer un volume donné de flux réseau ou durant une période donnée le trafic puis de l'analyser àl'aide de Wireshark. L’analyse peut être en temps réel ou après la capture. Si l'on souhaite obtenir les meilleuresperformances de capture possibles, DTI recommande d'effectuer la capture sans décoder les paquets puis de charger lefichier contenant cette capture et de l'inspecter en dehors de toute acquisition. Il faut pour cela décocher l'option «Update list of packets in real time » dans les options de capture (4).Une fois le fichier de capture chargé dans Wireshark il est possible d’utiliser toutes les fonctionnalités du logiciel. Enrevanche lors de l’acquisition, si l’on n’affiche pas les paquets, les fonctions de statistiques ne sont pas disponibles,hormis la fenêtre d’information de capture qui indique uniquement le nombre de paquets capturés et leur appartenance àune classe de protocole donnée.iii. Filtres de captureLors de la capture il est possible de ne retenir que certains paquets répondant à des critères spécifiques. Cette sélections'effectue à l'aide de filtres définis par l'utilisateur (3). La syntaxe et la sémantique utilisée pour ces filtres est celle dulogiciel tcpdump, décrite ci-dessous.Les expressions des filtres sont indiquées de la façon suivante :[not] primitive [and|or [not] primitive ...]primitive[src|dst] host ether [src|dst] host gateway host [src|dst] net [{mask }|{len }][tcp|udp] [src|dst] port less|greater ip|ether proto ether|ip broadcast|multicastUsageFiltre selon l'adresse IP ou le nom d'un host. On peut indiquer srcou dest pour signifier que l'on s'intéresse uniquement aux paquetsdont l'IP est dans le champ @source ou @destination. Par défaut,les deux champs servent à la comparaisonFiltre selon l'adresse Ethernet d'un host. On peut indiquer src oudest pour signifier que l'on s'intéresse uniquement aux paquetsdont l'adresse Ethernet est dans le champ @source ou@destination.Filtre les paquets passant par une passerelle donnée.Filtre le trafic concernant le réseau indiqué.Filtre le trafic en fonction du port. Peut éventuellement concernerle trafic TCP ou UDP uniquement.Filtre les paquets selon leur taille.Filtre selon le protocole spécifié, au niveau de la couche Ethernetou IP selon le choix de ether | ip.Filtre le trafic Ethernet ou IP en broadcast ou multicast.b. Enregistrer un fichier de captureUne fois la capture réalisée et analysée, il est possible de sauvegarder la capture dans un fichier. Plusieurs modes desélection existent par le biais du menu « File \ Save as ». Il est ainsi possible de n’enregistrer que les paquetssélectionnés, ceux affichés, un intervalle de numéro de paquets, l’ensemble des paquets capturés (par défaut)…5
c. Ouvrir un fichier de captureDe la même manière qu’il est possible d’enregistrer les paquets capturés, il est possible de recharger à tout moment dansWireshark un fichier contenant des paquets précédemment capturés, pouvant venir d’autres ordinateurs et enregistréspar Wireshark, Ether Real… Cette fonctionnalité est accessible via l’option du menu « File \ Open » ; Le menu « File \Open Recent » affiche les derniers fichiers de paquets chargés ; cette liste est réinitialisable via la sous-option Clear.d. Ergonomie de WiresharkAprès une capture de paquets ou le chargement d’un fichier, la fenêtre principale de Wireshark montre le flux réseaucapturé. La liste des paquets (B) contient l’ensemble des paquets à afficher. Cette affichage peut être conditionnée parun filtre appliqué sur chaque paquet et définit dans la zone de filtre (A). Le paquet sélectionné dans la liste (B) estdisséqué de manière approfondie dans la zone de détails du paquet (C) et son flux d’octets brut est affiché dans la zonedes données brutes (D).A : Zone de filtreB :ListedespaquetsC :DétailsdupaquetD : Données brutese. Trier les paquetsIl est possible de trier facilement et rapidement les paquets de la liste des paquets B. Pour cela il suffit de cliquer surl’entête de la colonne à trier. Au premier clic, une flèche vers le bas apparaît à droite du nom de colonne, indiquant que lacolonne est désormais triée par ordre alphabétique croissant. Un deuxième tri inverse entre croissant et décroissant (laflèche est alors vers le haut). Il n’est pas possible de trier plusieurs colonnes en même temps.6
f. Filtrer les paquetsAfin d’exploiter de façon efficace des fichiers de capture pouvant contenir plusieurs milliers de paquets, plusieursmécanismes permettent de mettre en évidence les paquets selon des critères spécifiés. En plus de la coloration et du triqui permettre de mettre en avant les paquets recherchés, il est possible d’effectuer un filtrage sur la visualisation : à l'aidede filtres on peut choisir d'afficher seulement les paquets qui sont intéressants et masquer les autres. Le fait de lesmasquer ne modifie en rien les données capturées.L'utilisateur peut soit écrire directement les filtres dans la zone de filtres A (pratique pour les utilisateurs expérimentés),soit utiliser l'interface graphique pour les générer de façon intuitive (via le bouton Expression… à droite de la zone defiltre). L'ensemble des champs qui peuvent être exploités s'y trouvent et il n'est donc pas nécessaire de les retenir. Ainsion pourra à loisir afficher les paquets selon leur contenu. Il est aussi possible d’établir le filtre en sélectionnant un paquetpuis en choisissant l’option voulue du menu contextuel (clic droit sur la ligne du paquet dans la zone B)La fenêtre d’aide à l’écriture de filtres est accessible par le bouton « Expression… » de la zone de filtrage (A) situé àdroite du champ d’écriture des filtres et affiche la fenêtre suivante.A partir de cette fenêtre il suffit de choisir les champs qui nous intéressent et de les combiner à l’aide des opérateursbinaires classiques du langage C (le ET se code « && » et le OU « || », toutes les sous-expressions doivent être entreparenthèses) pour obtenir le filtre désiré.A noter que les primitives utilisées pour les filtres de visualisation sont différentes des primitives pour les filtres decapture. Exemple de primitives courantes :asterixAffichage des trames identifiées comme contenant du trafic <strong>ASTERIX</strong>ast.sac==0x80Visualisation des trames où le SAC est égal à 128 (80 en hexadécimal)ast.categorie==32 && ast.sac==0x80 Conservation du résultat précédent des trames contenant la catégorie 32eth.addr==08.00.08.15.ca.fevisualisation du trafic à destination ou en provenance de l’adresseEthernet 08.00.08.15.ca.fe7
ip.addr==192.168.0.10visualisation du trafic à destination ou en provenance de l’adresse IP192.168.0.10tcp.port==80 visualisation du trafic à destination ou en provenance du port TCP 80(http)ip.addr==192.168.0.10 && tcp.port!=80((ip.addr==192.168.0.10) && (tcp.port!=80))visualisation du trafic à à destination ou en provenance de l’adresse IP192.168.0.10 àl’exception du trafic httpudp.port !=0x8080Visualisation du trafic udp qui a au moins un des deux ports (source oudestination) différent de 32896 (8080 Hex)!(udp.port==0x8080)Visualisation du trafic udp qui n’a ni le port source ni le port destinationégal à (8080 Hex)g. Ecriture rapide d’un filtre à partir de l’arbre détailléIl est possible de générer automatiquement une chaîne de filtrage à partir d’un élément de l’arbre : en sélectionnant uneligne avec le bouton droit et en choisissant l’option Apply as filter\selected…, Wireshark crée le filtre pour afficher tous lespaquets ayant la même donnée que celle sélectionnée.Cette méthode permet aussi de filtrer rapidement sur les destinations, le protocole, la source… Attention alors à placer lepointeur de la souris dans la bonne colonne !Pour créer la chaîne de filtrage mais ne pas l’appliquer immédiatement sur l’ensemble des paquets (pour compléter lefiltre par exemple), il faut choisir « Prepare a filter » à la place de « Apply as filter » ; ainsi, la zone de filtre est réécriteavec le filtre demandé et peut être complété « à la main ».h. Analyser le détail d’un paquetLa zone de détails du paquet (C) affiche des informations décryptant le paquet sélectionné dans la zone de liste despaquets (B). Ici, un paquet (encadré en orange) contenant la catégorie 30 a été sélectionné et l’arbre de dissection desdonnées <strong>ASTERIX</strong> (entouré en orange pointillé) a été partiellement développé, indiquant que le bloc de catégorie 30contient plusieurs enregistrements et le détail du 5 ème enregistrement.8
La double ligne surlignée en bleue (en entourée en pointillés mauves) indique que le mode A contient un code 5741valide. Cette information est codée par les deux octets surlignés eux-aussi en bleu dans la zone de données brutes D.i. Statistiques sur la captureWireshark inclut des fonctionnalités pour dessiner des graphes représentant les flux de données entre entités, avoir unevision globale de la répartition des données par protocole, calculer des statistiques plus complexes sur certains pointsparticuliers… Toutes les fonctionnalités ne sont pas présentées dans ce document, seules certaines jugées utiles serontdétaillées.i. Résumé de la captureCette fonctionnalité est disponible dans le menu « Statistics \ Summary ». La fenêtre suivante apparaît, précisantcertaines informations sur la capture et sur les paquets en cours de visualisation, comme le nombre de paquetsenregistrés, la durée de la capture, le débit moyen en paquets par seconde ou en octets (bytes) par seconde.9
ii. Identification des protocoles présentsCette fonctionnalité est disponible dans le menu « Statistics \ Protocol Hierarchy ». La fenêtre suivante apparaît, précisantla répartition des paquets enregistrés en fonction des protocoles réseaux.10
Plus précisément pour chaque protocole présent dans la capture, on retrouve les informations suivantes :- pourcentage de paquets dans ce protocole par rapport au nombre de paquets capturés- nombre de paquets par protocole- octets par protocole- débit moyen par protocole.iii. Réalisation de graphesCette fonctionnalité est disponible via le menu « Statistics \ IO Graphs » et permet de visualiser la courbe des flux enpaquets par seconde ou octets par seconde suivant l’option choisie tout au long de la capture. Il est conseillé de choisirune visualisation en octets par seconde car elle permet une meilleure estimation des débits.11
Jusqu’à 5 courbes peuvent être visualisées simultanément sur le même graphe en utilisant des filtres de visualisation.iv. Suivi d’une conversationIl est possible d'obtenir des statistiques et de suivre des conversations entre deux entités par le biais du menu « Statistics\ Conversations ». Les conversations peuvent être regardées à différents niveaux. Elles sont en effet classées enplusieurs grandes catégories de protocoles décodés : Ethernet, Fibre Channel, IP, IPx, SCTP, TCP, Token Ring, UDP,WLAN.Afin d’obtenir des statistiques exactes pour les flux passant par le protocole TCP, il est nécessaire de configurerWireshark pour qu’il assemble les paquets du flux TCP. Pour cela il faut cocher l’option « Allow subdissector toreassemble TCP streams » dans la fenêtre accessible via le menu « Edit > Preferences », onglet « Protocols > TCP » : Sicette manipulation n’est pas effectuée, le nombre de paquets reportés dans le suivi de conversation se trouve êtreinférieur au nombre de paquets réels capturés.12
Par ailleurs il est possible de suivre une conversation en spécifiant un filtre de visualisation approprié. Par exemple si l'onsouhaite connaître le trafic X11 entre deux machines, il suffit d’appliquer le filtre suivant :(ip.dst == 1 (A.B.C.D) && ip.src == 2 (A.B.C.D) ) || (ip.src == 1 (A.B.C.D) && ip.dst ==2 (A.B.C.D) ) && tcp.port == 6000v. Graphe de FluxIl est possible de réaliser un graphe des flux lors d’une communication TCP ou sur tout le trafic de manière générale parle biais du menu « Statistics \ Flow Graph ». La fenêtre suivante apparaît permettant de sélectionner différentes options àsavoir si le graphe de flux sera réalisé sur toute la capture ou uniquement sur les trames en cours de visualisation et si legraphe de flux sera réalisé uniquement pour les communications TCP ou sur tout le flux. Les paramètres par défaut sontcorrects pour analyser les flux <strong>ASTERIX</strong>. Une fois les paramètres sélectionnés, il ne reste plus qu’à valider. La fenêtred’analyse apparaît alors, permettant de reconstruire dans le temps les communications entre machines.vi. Distribution de la longueur des paquetsIl est possible d’obtenir les classes de longueur des paquets via l’option « Statistics \ Packet length… ».13
j. Utiliser le mode Expert Composite pour trouver rapidement despaquetsWireshark propose via son menu « Anlayse » une option « Expert Info Composite » d’afficher rapidement les numéros depaquets notables : paquets mal formés ou mal décodés ou contenant des informations spécifiques mis en valeur dansl’arbre détaillé.Ainsi, l’onglet « Warnings » permet de visualiser rapidement le nombre et les paquets contenant des alertes de filet desauvegarde ou d’autres informations transmises par les catégories 30 et 255. Sélectionner un paquet dans cette listeentraîne la sélection du paquet associé dans la fenêtre principale de Wireshark (et donc la mise à jour de l’arbre détaillé)pour accéder rapidement à l’information.14
L’onglet Notes affiche les paquets triés par catégorie ; cela permet de voir rapidement la répartition dans le flux réseau.III.Paramétrage avancé du plugin <strong>ASTERIX</strong>a. Préférences (générales) du pluginLe plugin <strong>ASTERIX</strong> dispose de paramétrages internes accessibles via l’option Preferences du menu Edit. Les valeurs pardéfaut sont normalement correctes, mais certains usages spécifiques de ce dissecteur pourraient nécessiter de lesmodifier.15
OptionUtilitéDésactiver le dissecteur <strong>ASTERIX</strong>Cocher cette option entraînera la désactivation du dissecteur, c’est-àdirequ’il sera incapable de détecter aucune trame et les rejettera donctoutes.Vérifier le SAC/SIC des blocs ? Cette case désactive l’affichage d’ « _asterix » au lieu d’ « <strong>ASTERIX</strong> »pour certains couples SAC/SIC spécifiés ci-dessous.Intervalles autorisés pour les (sac,sic)Cette case attend un intervalle de nombres codant les sac/sic qui serontmarqués du label « <strong>ASTERIX</strong> ». Les autres sac/sic seront indiqués« _asterix » dans la colonne « protocole » de la liste des paquets (B).Les intervalles doivent être séparés par des virgules et les minimummaximumpar un tiret. Un nombre sac/sic est égal à (256*sac+sic).Vérifier la cohérence des blocs ?Le test principal de détection des trames <strong>ASTERIX</strong> consiste à vérifierque la trame ne contient que des blocs bien formés, vis-à-vis de lalongueur de ces blocs. Désactiver ce test est dangereux car toutes lestrames seraient alors considérées comme étant de l’<strong>ASTERIX</strong>.Vérifier l’adresse MAC (LLC) ?Afin de limiter les faux positifs, le dissecteur effectue normalement untest sur les adresses MAC de destination (commençant par FD :FF : )des paquets issus du protocole LLC.Vérifier l’adresse IP (UDP) ?Le dissecteur <strong>ASTERIX</strong> récupère tous les paquets UDP des portsdemandés. Ce test effectue une vérification supplémentaire sur l’adresseIP pour éviter les faux positifs.b. Changer la coloration syntaxiqueWireshark propose de colorer les paquets dans la liste des paquets (B) suivant certains filtres. Le système de colorationcontient une liste d’associations couleurs de texte et de fond et filtre, filtre qu’il tente d’appliquer au paquet. Le premierfiltre positif (affichant le paquet) entraîne la coloration de la ligne signalant le paquet avec les couleurs prédéfinies. Siaucun filtre n’est positif, la ligne du paquet est affichée en noir sur fond blanc (par défaut).Les filtres peuvent être paramétrés via l’option « View\Coloring rules ». Cela ouvre une fenêtre avec au centre la liste desfiltres (nom + filtre) coloriés dans les couleurs du paquet.16
Il est possible d’importer ou d’exporter l’ensemble du jeu de couleur de/vers un autre ordinateur via les options« Manage ». Afin de créer une nouvelle règle de filtrage, il faut appuyer sur le bouton New.Cela crée une nouvelle fenêtre pour y rentrer le nom du filtre (interne à la gestion des couleurs) et la chaîne de filtrage(dans String). Le filtre est identique à celui utilisé pour l’affichage (dans la zone de filtre A). Le bouton Expression…permet de rapidement fabriquer son filtre et d’avoir les options disponibles. Voir la section spécifique pour plus de détails.Les couleurs associées au filtre doivent être définies via les boutons « Foreground Color… » pour la couleur de texte et« Background color… » pour la couleur de fond (arrière-plan). Les couleurs du paquet sont visibles sur le nom du filtre :celui-ci prend les couleurs du filtrage dès qu’elles sont définies. Il n’est pas possible de ne définir qu’une couleur(texte OU fond mais pas les deux).La case à cocher « Disabled » permet de désactiver rapidement un filtre sans avoir à le supprimer.Après avoir créé la règle, celle-ci est ajoutée en queue de liste. Cependant, si une règle de filtrage capte le paquet avant,la règle ne sera jamais appliquée. Il faut donc remonter la règle en tête de liste en la sélectionnant et en appuyant sur lebouton Up. Les règles doivent toujours être de la plus contraignante à la moins contraignante, i.e. de la plus spécifique etprioritaire à la plus générale.17
c. Filtrage « avancé »Le système de filtrage de l’affichage des paquets sous Wireshark est assez complexe et bien documenté dans le guidede l’utilisateur (en anglais) de Wireshark, téléchargeable et consultable sur Internet. Cette section n’est donc qu’unrésumé de celle-ci.Les expressions de filtrage peuvent avoir ou non des sous-expressions, éventuellement encadrées par des parenthèseset combinées à l’aide des opérateurs && (« ET » logique), || (« OU » logique), ! (NOT logique).Les champs sont ceux listés par la fenêtre « Expressions… ». Ils peuvent être booléens auquel cas mettre le nom dans lefiltre conservera les paquets où le champ est vrai (true). Ils peuvent être numériques et comparées à l’aide desopérateurs usuels du C (== égal, != différent, , =). Ils peuvent être des chaînes de caractères (à comparer avec==) ou encore des tableaux de nombres.Il est possible d’extraire une partie d’une adresse à l’aide de crochets : eth.src[2] == 83, 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.Les séparateurs dans les adresses semblent pouvoir être indifféremment « : » (deux points), « - » (tiret), « . » (point).La zone accueillant le texte de filtrage adopte une couleur de fond adaptée au filtre : verte signifie que le filtre est valide etnon ambigüe, rouge qu’il y a une erreur et jaune que le filtre est valide mais que son sens peut être ambigüe (et nonconforme aux souhaits de son auteur).Le symbole « != » signifie « il y a une valeur différente ». Dans le cas où un champ contient plusieurs valeurs (ip.addrcontient l’adresse IP source ET l’adresse IP destination), son sens peut différer de « !(expr==val) » qui signifie « toutesles valeurs sont différentes ».Enfin, les nombres sont par défaut en décimal. Les faire précéder d’un zéro signifie qu’ils sont en octal, « 0x » précèdeles nombres hexadécimaux.18
Notation décimale (par défaut) : lenombre commence par un chiffre de 1à 9ast.fl==1480N’affiche que les aéronefs au niveaude vol 370 ( 370FL= 1480 *25ft)Notation hexadécimale : le nombrecommence par 0x (zéro ix)ast.sac==0x80N’affiche que le DACOTANotation octale : le nombre estprécédé d’un 0 (zéro)ast.modeA == 07356N’afficher que les trames contenantdes informations sur l’aéronef dont lecode transpondeur est 7356 (octal)d. Paramétrage de la résolution des noms (couche MAC)Il est possible d’indiquer à Wireshark à quoi correspondent les adresses MAC de destination et ainsi d’afficher dans lacolonne « Destination » un nom plus explicite (tel que SPIP2000) que l’adresse multicast (fd-ff-ff-ff-08-a0). Pour cela, ilfaut compléter le fichier texte « ethers » situé dans le dossier du programme Wireshark ou un dossier de donnée : pour laversion portable, le fichier est « \WiresharkPortableAsterix\Data\ethers ».Chaque ligne de ce fichier commence par une adresse MAC suivie d’un espace puis du nom à afficher. Ainsi le début denotre fichier pourrait être :FD:FF:FF:FF:00:DD TIMEFD:FF:FF:FF:00:EE SIGMAFD:FF:FF:FF:00:FF GONIOCe fichier a été pré-rempli avec les SAC/SIC des radars et centres de traitements français et de quelques servicesprésents à Toulouse Blagnac. Les adresses spéciales ou de tests n’y ont pas été intégrées.19
IV.Copie et installation de Wireshark Portable Asterixa. Copie du programme (utilisation portable)Afin de copier la version personnalisée de Wireshark portable avec le plugin <strong>ASTERIX</strong>, il suffit de copier le dossierWiresharkPortableAsterix vers la destination voulue. A la limite, plusieurs copies du dossier peuvent être créées sur lamême clef USB pour personnaliser des installations (utiliser plusieurs jeux de couleurs par exemple). Le nom du dossierprincipal (ici « WiresharkPortableAsterix ») n’étant pas significatif, il peut être renommé si besoin sans problème.b. Installation du programme (utilisation sur un même ordinateur)Afin d’installer le programme en « dur », il suffit de copier le dossier WiresharkPortableAsterix vers le disque dur (dans c:\généralement), de la même manière que pour la copie sur une clef USB.Bien que la version portable ne nécessite normalement aucune installation, il est conseillé d’installer avant le programmeWinPcap permettant la capture en temps réel. Sans ce programme installé, le programme tentera de l’installer avant etde le désinstaller après chaque utilisation de la version portable de Wireshark. Si l’utilisateur ne dispose pas des droitssuffisants, alors cette étape échouera et un message d’erreur (que l’on peut généralement ignorer) sera affiché. S’ildispose des droits requis, l’installation et la désinstallation prendront un temps conséquent qui deviendra rapidementgênant.Pour installer WinPCap, le plus simple consiste à lancer l’installeur situé dans le dossierE:\WiresharkPortableAsterix\App\Wireshark, où E: désigne ici le lecteur USB. L’installeur se nomme WinPcap_4_0_2.exeet est un fichier exécutable nécessitant d’être administrateur pour l’installation. Une autre solution pour installer WinPCapconsiste à installer n’importe quelle version de Wireshark qui lancera l’installation de WinPCap.Après installation, il est conseillé de créer un raccourci pour la version personnalisée sur le bureau ou dans le menudémarrer.c. Création d’un raccourciUn raccourci vers le programme WiresharkPortable.exe peut être créé vers le bureau ou le menu démarrer. Pour cela,dans un explorateur, sélectionner le programme et le déplacer à l’aide de la souris en maintenant le bouton droit enfoncévers le bureau ou l’emplacement voulu dans le menu démarrer (attendre quelques secondes sur le menu démarrer avecle bouton appuyé ouvre/développe le menu). Relâcher alors le bouton et sélectionner l’option « créer un raccourci ».Il est aussi possible de copier le dossier directement sur le bureau pour un accès rapide au programme.20
V. Cas d’utilisationa. N’afficher que les paquets relatifs à une carte dynamique donnée parson nomasterix.cartapp=="ZRT_GIMONT"Pour cela, il faut filtrer (II f page 6) sur le champ cartapp d’Asterix en entrant dans la zone de filtrage« ast.cartapp=="nom_de_la_carte" »b. N’afficher que les paquets en mode S (modeA, modeC…)Cela s’effectue en filtrant les paquets à l’aide de la chaîne « ast.modeA » (ou ast.modeC ou ast.modeS selon le besoin)comme ci-dessus. A noter que les nombres donnés en octal doivent être précédés d’un zéro et ceux en décimal nedoivent pas commencer par le chiffre zéro.c. N’afficher que les paquets de la catégorie 255 (…)Il faut entrer « ast.categorie==255 » (le 255 pouvant être n’importe quel numéro de catégorie entre 0 et 255) dans la zonede filtrage comme précédemment.d. Afficher les paquets Astérix relatifs à une piste donnéeIl faut filtrer les paquets à l’aide du filtre « ast.track == 456 » pour ne conserver que les trames relatives à la piste 456dans la catégorie 1.e. N’afficher que les paquets du DACOTAPlusieurs méthodes équivalentes permettent de n’afficher que les paquets en provenance du système de corrélation despistes DACOTA :• Créer un filtre sur l’adresse éthernet de diffusion multicast : eth.dst==fd-ff-ff-ff-08-84• Créer ce même filtre en sélectionnant une trame à l’aide du bouton droit dans la colonne « Destination » ; celadéroule un menu contextuel dans lequel il faut choisir « Apply as filter… > Selected ».21
• Le DACOTA produit des trames de catégorie 30, donc la chaîne de filtre pourrait être ast.categorie=30• Le DACOTA a pour identification (sac,sic)=(8,128 Décimal). La chaîne de filtrage peut alors être(ast.sac==8)&&( ast.sic==0x80) ou encore ast.sac==8 && ast.sic==128…f. Connaître les paquets non/mal décodés par le dissecteurLa chaîne de filtrage pour n’afficher que les paquets identifiés comme contenant de l’<strong>ASTERIX</strong> mais mal formés (ou nondécodable par le dissecteur) est « asterix&& !ast.decodage_ok ».g. Avoir des statistiques sur la répartition des catégories, en octets ouen paquetsIl est possible de représenter la charge d’une ou deux catégories par rapport à l’ensemble du flux réseau ou du flux<strong>ASTERIX</strong>. Pour cela, il faut réaliser un graphe en entrant les paramètres suivants. Il faut entrer dans les chaînes defiltrage « asterix » pour Graph1 (afin d’avoir le flux <strong>ASTERIX</strong>), « ast.categorie==1||ast.categorie==2 » pour graph 2 (afind’avoir les paquets de catégories 1 ou 2 ou les deux), « ast.categorie==255 » dans graph3.Il faut ensuite « enfoncer » les boutons Graph1, 2 et 3 en cliquant dessus une fois ; recliquer dessus les « relâche ». Si laligne n’apparaît pas, il peut être nécessaire de relacher puis enfoncer les boutons pour rafraîchir l’affichage. Le style deligne peut être changé à la convenance de l’utilisateur.22
Par défaut, l’affichage s’effectue en paquets par unité de temps. Pour avoir la statistique en octets par unité de temps, ilfaut changer le paramètre « Unit: » de la zone « Y axis » en « Bytes/Tick ».h. Visualiser la commutation de chaînes de deux radarsIl est clairement visible sur le graphique ci-dessus le changement de chaînes pour le radar primaire (vers 9h47min30) etpour le radar secondaire (vers 9h49min52s). Ce graphique a été obtenu en filtrant sur un bit transmis par les radarsindiquant la chaîne utilisée : ast.ts01.rdpc pour le radar monopulse et ast.scs2.ns pour le radar primaire. Le filtre a étécomplété avec les sic des radars pour ne pas polluer l’affichage avec des informations venant d’autres radars. Undeuxième basculement a été effectué entre 10h08 et 10h10 pour revenir sur les chaînes n°1 : le bit est alors à 0, alorsqu’il est à pour indiquer les chaînes n°2. L’information affichée est en paquets/10sec, avec ici une échelle logarithmique.i. Ne sauvegarder que les paquets filtrésWireshark permet de ne sauvegarder que les paquets répondant à une contrainte de filtrage : pour cela, il suffitd’enregistrer (« File\Save As ») les paquets et de sélectionner « Displayed » dans la zone « Packet Range » en dessousdu nom de fichier.23
j. Méthode pour effectuer une capture pendant une longue durée sousWindowsWireshark est un logiciel Open Source très puissant mais un bug dans la gestion de la mémoire existe dans la majoritédes versions : au fur et à mesure de l’utilisation, n’étant pas systématiquement correctement libérée, la mémoire secharge progressivement, cela pouvant aller jusqu’au blocage du système et à la fermeture de Wireshark. Ainsi, si lacapture dure trop de temps (3h de capture en continu sur RESPRI), les données vont surcharger la mémoire (1 Go enmémoire vive).Toutefois, il est possible d’effectuer la capture « manuellement » via le logiciel « dumpcap » (que Wireshark utilise eninterne pour ses propres captures).1. Lancer une fenêtre MS-DOS (Menu Démarrer\Exécuter… et lancer la commande « cmd ») et se placer dans ledossier contenant dumpcap (« e : » « cd \WiresharkPortableAsterix\App\Wireshark »)2. Avoir quelques explications sur le fonctionnement de dumpcap : « dumpcap –help » (deux tirets suivis de help)3. Identifier les interfaces réseaux disponibles : « dumpcap –D »4. Lancer la capture sur la bonne interface réseau : « dumpcap –i \Device\NPF_{code-bizarre-correspondant-a-lacarte-voulue}–w fichier_de_sortie –b filesize:50 –b files:5 »5. L’arrêter (quand désiré) en appuyant sur Ctrl+CIci, tant que la capture s’effectuera, dumpcap stockera le traffic réseaux dans 5 fichiers de 50 Mo chacun; lorsque les 250Mo auront été atteint, le premier fichier sera supprimé et un nouveau fichier sera créé et complété jusqu’aux 50Mo(fonctionnement en ringbuffer)…M:\>cd wireshark-1.0.7.win32M:\wireshark-1.0.7.win32>cd wireshark-gtk2M:\wireshark-1.0.7.win32\wireshark-gtk2>dumpcap -D1. \Device\NPF_GenericDialupAdapter (Adapter for generic dialup and VPN capture)2. \Device\NPF_{B1DA1B00-5375-4BF6-8A20-94B9A4BF9F21} (Marvell Gigabit EthernetController (Microsoft's Packet Scheduler) )M:\wireshark-1.0.7.win32\wireshark-gtk2>dumpcap -i \Device\NPF_{B1DA1B00-5375-4BF6-8A20-94B9A4BF9F21} -w fic_test -b duration:10File: fic_test_00001_20090824115634Packets: 52 Packets dropped: 0Ctrl+CEnsuite, les fichiers générés peuvent être disséqués à l’aide de Wireshark, réassemblés, analysés…k. Méthode pour effectuer une capture pendant une longue durée sousLinuxLa méthode sous Linux est assez similaire à celle sous Windows, bien que certaines spécificités diffèrent : privilèges del’administrateur (root) exigés et noms des cartes réseaux sous Linux différents des noms sous Windows. Le programmedumpcap est supposé ici déjà installé (il l’est en même temps que Wireshark, présent par défaut dans de nombreusesdistributions).$ sudo bash # La capture nécessite les privilèges root# dumpcap –D # pour afficher les cartes disponibles# dumpcap –i eth0 # pour capturer les paquets sur la carte eth0Ctrl+C# pour arrêter la capture# dumpcap ––help # pour avoir plus d’informations sur ce programmeLe flux réseau est enregistré au format interne à PCap, format indépendant du système d’exploitation. Il est donc possibled’enregistrer des fichiers sous Linux et de les analyser ensuite sous Windows ou réciproquement.24
l. Afficher le graphique des temps de propagationIl est possible de demander à Wireshark un graphique représentant le temps de propagation des trames <strong>ASTERIX</strong> ; plusexactement, le champ delta_time contient la différence (en msec) entre l’heure de réception du paquet par Wireshark(heure du pc de capture) et l’heure dans le champ time du paquet <strong>ASTERIX</strong> (heure du radar).Pour cela, il faut lancer une fenêtre de graphiques (option « IO Graphs » du menu « Statistics ») puis choisir« Advanced… » dans l’unité des ordonnées (entouré en rouge foncé). De nouvelles options (encadrées en bleu)apparaissent alors : AVG(*) pour effectuer la moyenne des valeurs du champ précisé à sa droite, MIN et MAX pour lesextrema, COUNT pour connaître le nombre de fois où le champ est présent, SUM pour sommer toutes les valeurs. Cesformules s’appliquent sur des échantillons de paquets (période d’échantillonnage définie par le « Tick Interval » du cadre« X Axis »).Il est possible de n’effectuer ces calculs non pas sur tous les paquets mais uniquement sur ceux répondant à certainscritères (chaîne « Filter »).Pour mettre à jour le graphique, il peut être nécessaire de désactiver puis réactiver la ligne en cliquant 2 fois sur le bouton« graph x » à gauche.Il est important que les ordinateurs soient synchronisés avec les sources de temps des radars (via le protocoleNTP par exemple…) ! Les données affichées sont complètement incohérentes dans le cas où les matériels d’émission etde réception ne sont pas synchronisés.L’heure de réception de la trame affichée par Wireshark est l’heure locale ; toutefois, c’est l’heure GMT qui est stockéedans le fichier de trame et c’est donc l’heure GMT utilisée pour calculer l’écart temporel.25