# Analyseur de paquets

Un analyseur de paquets est un logiciel pouvant lire ou enregistrer des données transitant par le biais d'un réseau local non commuté. Il permet de capturer chaque paquet du flux de données traversant le réseau, voire de décoder les paquets de données brutes, afficher les valeurs des divers champs du paquet et analyser leur contenu conformément aux spécifications ou RFC appropriées. L'analyseur de paquets permet ainsi la résolution de problèmes réseaux en visualisant ce qui passe à travers l'interface réseau, mais peut également servir à effectuer de la rétro-ingénierie réseau à des buts d'interopérabilité, de sécurité ou de résolution de problème. Il peut aussi être utilisé pour intercepter des mots de passe qui transitent en clair ou toute autre information non-chiffrée pour sa capacité de consultation aisée des données non chiffrées.

## Types

Les renifleurs (en anglais sniffers) sont des sortes de sondes que l'on place sur un réseau pour l'écouter et en particulier parfois récupérer à la volée des informations sensibles lorsqu'elles ne sont pas chiffrées, comme des mots de passe (parfois sans que les utilisateurs ou les administrateurs du réseau s'en rendent compte).
Le renifleur peut être un équipement matériel ou un logiciel. Le premier est bien plus puissant et efficace que le second. Néanmoins, l’augmentation de la puissance des machines resserre l'écart. Quoi qu’il en soit, le matériel reste beaucoup plus cher que le logiciel.

## Fonctionnement

Lorsqu'une machine veut communiquer avec une autre sur un réseau non-commuté (relié par un hub ou câblé en câble coaxial, qui sont des techniques obsolètes), elle envoie ses messages sur le réseau à l'ensemble des machines et normalement seule la machine destinataire intercepte le message pour le lire, alors que les autres l'ignorent. Ainsi en utilisant la méthode du reniflage (en) (en anglais sniffing), il est possible d'écouter le trafic passant par un adaptateur réseau (carte réseau, carte réseau sans fil, etc.).
Pour pouvoir écouter tout le trafic sur une interface réseau, celle-ci doit être configurée dans un mode spécifique, le « mode promiscuous ». Ce mode permet d'écouter tous les paquets passant par l'interface, alors que dans le mode normal, le matériel servant d'interface réseau élimine les paquets n'étant pas à destination de l'hôte. Par exemple, il n'est pas nécessaire de mettre la carte en mode « promiscuous » pour avoir accès aux mots de passe transitant sur un serveur FTP, vu que tous les mots de passe sont à destination dudit serveur.
Le renifleur de paquets (packet sniffer) décompose ces messages et les rassemble, ainsi les informations peuvent être analysées à des fins frauduleuses (détecter des logins, des mots de passe, des emails), analyser un problème réseau, superviser un trafic ou encore faire de la rétro-ingénierie.

## Sécurité

La solution à ce problème d'indiscrétion est d'utiliser des protocoles de communication chiffrés, comme SSH (SFTP, scp), SSL (HTTPS ou FTPS) (et non des protocoles en clair comme HTTP, FTP, Telnet).
La technique du reniflage peut être ressentie comme profondément malhonnête et indélicate, mais elle est souvent nécessaire lorsque l'on est à la recherche d'une panne.

## Comparaison

Les tableaux ci-dessous permettent de comparer certaines caractéristiques générales et techniques de plusieurs analyseurs de paquets. Cette comparaison n'est pas exhaustive et peut ne pas être à jour.

### Informations générales

| | Créateur | Coût (EUR) | Licence |
| Kismet | Mike Kershaw (dragorn) | Gratuit | GPL |
| snoop | Sun Microsystems | Gratuit | CDDL |
| tcpdump | The Tcpdump team | Gratuit | BSD |
| Wireshark | The Wireshark team | Gratuit | GPL |
| Omnipeek | Savvius | à partir de 2.985 eht | |

### Systèmes d'exploitation supportés

| Client | Windows | Mac OS X | GNU/Linux | BSD | Solaris |
| Kismet | Oui | Oui | Oui | Oui | |
| snoop | | | | | Oui |
| tcpdump | Oui | Oui | Oui | Oui | Oui |
| Wireshark | Oui | Oui | Oui | Oui | Oui |
| Omnipeek | Oui | | Oui (Capture Engine) | | |