Wireshark est un analyseur de trafic réseau, ou "Sniffer", pour Linux, MacOS, * BSD et d'autres systèmes d'exploitation UNIX et UNIX et pour Windows. Il utilise QT, une bibliothèque d'interface utilisateur graphique et LiBPCAP et NPCAP comme bibliothèques de capture et de filtrage des paquets.
La distribution Wireshark est également livrée avec Tshark, qui est un renifleur orienté vers la ligne (similaire à Sun's Snoop ou TCPDump) qui utilise la même dissection, la lecture et l'écriture de fichiers de capture et le code de filtrage des paquets que Wireshark, et avec EditCap, qui est un Programmez pour lire les fichiers de capture et écrivez les paquets à partir de ce fichier de capture, peut-être dans un format de fichier de capture différent, et avec certains paquets éventuellement supprimés de la capture.
La maison officielle de Wireshark est https://www.wireshark.org.
La dernière distribution se trouve dans le sous-répertoire https://www.wireshark.org/download
Le projet Wireshark construit et teste régulièrement sur les plates-formes suivantes:
Les packages d'installation officiels sont disponibles pour Microsoft Windows et MacOS.
Il est disponible en tant que package standard ou complémentaire pour de nombreux systèmes d'exploitation populaires et distributions Linux, notamment Debian, Ubuntu, Fedora, Centos, Rhel, Arch, Gentoo, OpenSuse, FreeBSD, Dragonfly BSD, NetBSD et OpenBSD.
De plus, il est disponible via de nombreux systèmes d'emballage tiers tels que PKGSRC, OpenCSW, Homebrew et Macports.
Il devrait fonctionner sur d'autres systèmes Unix-ish sans trop de problèmes.
Dans certains cas, la version actuelle de Wireshark pourrait ne pas prendre en charge votre système d'exploitation. C'est le cas pour Windows XP, qui est pris en charge par Wireshark 1.10 et plus tôt. Dans d'autres cas, le package standard pour Wireshark pourrait simplement être vieux. C'est le cas pour Solaris et HP-UX.
Python 3 est nécessaire pour construire Wireshark. Asciidoctor est nécessaire pour construire la documentation, y compris les pages de l'homme. Perl et Flex sont nécessaires pour générer une partie du code source.
Vous devez donc installer Python 3, Asciidoctor et GNU "Flex" (Vanilla "Lex" ne fonctionnera pas) sur des systèmes qui n'en manquent pas. Vous devrez peut-être également installer Perl.
Des instructions d'installation complètes peuvent être trouvées dans le fichier d'installation et dans le guide du développeur à https://www.wireshark.org/docs/wsdg_html_chunked/
Voir aussi le ReadMe approprié. Fichiers OS pour les instructions d'installation spécifiques au système d'exploitation.
Afin de capturer des paquets du réseau, vous devez faire de la root du programme DumpCap Set-UID ou vous devez avoir accès à l'entrée appropriée sous /dev
si votre système est si incliné (systèmes dérivés du BSD et systèmes tels que Solaris et HP-UX qui prennent en charge DLPI, entrent généralement dans cette catégorie). Bien qu'il puisse être tentant de faire de la racine SetUid Wireshark et Tshark, ou de les exécuter comme racine, veuillez ne le faire pas. Le processus de capture a été isolé dans DumpCap; Ce programme simple est moins susceptible de contenir des trous de sécurité et est donc plus sûr à fonctionner en tant que racine.
Veuillez consulter la page Man pour une description de chaque option de ligne de commande et de la fonction d'interface.
Wireshark peut lire les paquets à partir d'un certain nombre de types de fichiers différents. Voir la page Wireshark Man ou le guide de l'utilisateur de Wireshark pour une liste de formats de fichiers pris en charge.
Wireshark peut lire de manière transparente les versions compressées de l'un de ces fichiers si la bibliothèque de compression requise était disponible lorsque Wireshark a été compilé. Les formats de compression actuellement pris en charge sont:
GZIP et LZ4 (lors de l'utilisation de blocs indépendants, qui est la valeur par défaut), prennent en charge la recherche aléatoire rapide, qui offre de bien meilleures performances d'interface graphique sur les fichiers volumineux. Tous ces formats de compression peuvent être désactivés au moment de la compilation en passant l'option correspondante à CMake, c'est-à-dire cmake -DENABLE_ZLIB=OFF
, cmake -DENABLE_LZ4=OFF
, ou cmake -DENABLE_ZSTD=OFF
.
Bien que Wireshark puisse lire les fichiers AIX IPTrace, la documentation de la commande IPTrace Packet-Trace d'AIX est clairsemée. La commande iptrace
démarre un démon que vous devez tuer afin d'arrêter la trace. Grâce à l'expérimentation, il semble que l'envoi d'un signal de hup à ce démon iptrace provoque un arrêt gracieux et qu'un paquet complet est écrit dans le fichier de trace. Si un paquet partiel est enregistré à la fin, Wireshark se plaindra lors de la lecture de ce fichier, mais vous pourrez lire tous les autres paquets. Si cela se produit, veuillez en informer les développeurs de Wireshark à [email protected]; Assurez-vous de nous envoyer une copie de ce fichier de trace s'il est petit et contient des données non sensibles.
La prise en charge des produits Lucent / Ascend est limitée à la sortie de trace de débogage générée par la série de produits Max et Pipline. Wireshark peut lire la sortie des commandes wandsession
, wandisplay
, wannext
et wdd
.
Wireshark peut également lire la sortie de trace de vidage de la ligne Toshiba "Router compact" des routeurs RNIS (TR-600 et TR-650). Vous pouvez Telnet au routeur et démarrer une session de vidage avec snoop dump
.
La sortie de débogage du cosinus L2 peut également être lue par Wireshark. Pour obtenir la sortie de débogage L2, entrez d'abord le mode Diags, puis utilisez des commandes create-pkt-log-profile
et apply-pkt-lozg-profile
dans la catégorie Layer-2. Pour plus de détails, comment utiliser ces commandes, vous devez examiner la commande d'aide par layer-2 create ?
ou layer-2 apply ?
.
Pour utiliser les traces Lucent / Ascend, Toshiba et Cosine avec Wireshark, vous devez capturer la sortie de trace en fichier sur disque. La trace se produit à l'intérieur du routeur et le routeur n'a aucun moyen d'enregistrer la trace vers un fichier pour vous. Un moyen facile de le faire sous Unix est d'exécuter telnet <ascend> | tee <outfile>
. Ou, si votre système a installé la commande "Script", vous pouvez enregistrer une session Shell, y compris Telnet, dans un fichier. Par exemple pour se connecter à un fichier nommé TraceFile.out:
$ script tracefile.out
Script started on <date/time>
$ telnet router
..... do your trace, then exit from the router's telnet session.
$ exit
Script done on <date/time>
Wireshark tentera d'utiliser les capacités de résolution du nom inverse lors du décodage des paquets IPv4 et IPv6.
Si vous souhaitez désactiver la résolution du nom lors de l'utilisation de Wireshark, démarrez Wireshark avec l'option -n
pour désactiver toute la résolution du nom (y compris la résolution des adresses MAC et les numéros de port TCP / UDP / SMTP vers les noms) ou avec l'option -N mt
à Éteignez la résolution du nom pour toutes les adresses de couche réseau (IPv4, IPv6, IPX).
Vous pouvez faire le paramètre par défaut en ouvrant la boîte de dialogue Préférences à l'aide de l'élément Préférences dans le menu Modifier, en sélectionnant "Résolution du nom", en désactivant les options de résolution de nom appropriées et en cliquant sur "OK".
Wireshark peut effectuer un décodage de base des paquets SNMP; Il peut également utiliser la bibliothèque Libsmi pour effectuer un décodage plus sophistiqué en lisant des fichiers MIB et en utilisant les informations de ces fichiers pour afficher les OID et les valeurs de liaison variables de manière plus conviviale. CMake déterminera automatiquement si vous avez la bibliothèque Libsmi sur votre système. Si vous avez la bibliothèque Libsmi mais que vous ne voulez pas que Wireshark l'utilise, vous pouvez exécuter CMake avec l'option -DENABLE_SMI=OFF
.
Wireshark est en cours de développement constant, il est donc possible que vous rencontriez un bogue tout en l'utilisant. Veuillez signaler les bogues sur https://gitlab.com/wireshark/wireshark/-/issues. Assurez-vous d'entrer dans le bogue:
Les informations de construction complètes de l'élément "About Wireshark" dans le menu d'aide ou la sortie de wireshark -v
pour les bogues Wireshark et la sortie de tshark -v
pour les bogues Tshark;
Si le bug se produisait sur Linux, la distribution Linux que vous utilisiez et la version de cette distribution;
La commande que vous avez utilisée pour invoquer Wireshark, si vous avez exécuté Wireshark à partir de la ligne de commande, ou Tshark, si vous avez exécuté Tshark, et la séquence des opérations que vous avez effectuée qui a fait apparaître le bug.
Si le bogue est produit par un fichier de trace particulier, assurez-vous d'attacher au fichier de trace de bogue avec la description de votre bogue. Si le fichier de trace contient des informations sensibles (par exemple, les mots de passe), veuillez ne pas les envoyer.
Si Wireshark est mort sur vous avec une «violation de segmentation», «erreur de bus», «abandonner» ou une autre erreur qui produit un fichier de vidage Unix Core, vous pouvez beaucoup aider les développeurs si vous avez un débogueur installé. Une trace de pile peut être obtenue en utilisant votre débogueur («gdb» dans cet exemple), le binaire Wireshark et le fichier de base résultant. Voici un exemple de la façon d'utiliser la commande GDB «Backtrace» pour le faire.
$ gdb wireshark core
(gdb) backtrace
..... prints the stack trace
(gdb) quit
$
Le fichier de vidage de base peut être nommé "Wireshark.core" plutôt que "Core" sur certaines plates-formes (par exemple, Systèmes BSD). Si vous avez un vidage de base avec Tshark plutôt que Wireshark, utilisez "Tshark" comme premier argument au débogueur; Le dépotoir de base peut être nommé "tshark.core".
Wireshark est distribué sous le GNU GPLV2. Voir la copie du fichier pour le texte intégral de la licence. En cas de doute, le texte intégral est la partie juridiquement contraignante. Ces notes sont juste pour faciliter la tâche des personnes qui ne connaissent pas le GPLV2.
Il n'y a aucune restriction sur son utilisation. Il y a des restrictions sur sa distribution sous forme source ou binaire.
La plupart des parties de Wireshark sont couvertes par une licence "GPL version 2 ou ultérieure". Certains fichiers sont couverts par différentes licences compatibles avec le GPLV2.
À titre d'exception notable, certains services publics distribués avec la source Wireshark sont couverts par d'autres licences qui ne sont pas elles-mêmes directement compatibles avec le GPLV2. C'est OK, car seuls les outils eux-mêmes sont sous licence de cette façon, la sortie des outils n'est pas considérée comme une œuvre dérivée, et peut donc être sous licence en toute sécurité pour l'utilisation de Wireshark. Une sélection incomplète de ces outils comprend:
Des parties de Wireshark peuvent être construites et distribuées en bibliothèques. Ces pièces sont toujours couvertes par la GPL, et non par la licence publique du moins grand-mère ou toute autre licence.
Si vous intégrez tout ou partie de Wireshark dans votre propre application et que vous choisissez de le publier ou de le publier, les travaux combinés doivent être publiés sous les termes du GPLV2.
Il n'y a pas de garantie, exprimée ou implicite, associée à ce produit. Utiliser à vos risques et périls.
Gerald combs [email protected]
Gilbert ramirez [email protected]
Guy Harris [email protected]