J'ai écrit une application serveur simple en C qui fonctionne sur localhost. Comment capturer le trafic localhost à l'aide de Wireshark?
J'ai écrit une application serveur simple en C qui fonctionne sur localhost. Comment capturer le trafic localhost à l'aide de Wireshark?
Réponses:
Si vous utilisez Windows, ce n'est pas possible - lisez ci-dessous. Vous pouvez utiliser l'adresse locale de votre machine à la place et vous pourrez ensuite capturer des éléments. Voir CaptureSetup / Loopback .
Résumé: vous pouvez capturer sur l'interface de bouclage sous Linux, sur divers BSD, y compris Mac OS X, et sur Digital / Tru64 UNIX, et vous pourrez peut-être le faire sur Irix et AIX, mais vous ne pouvez certainement pas le faire sur Solaris, HP ... HPUX .
Bien que la page mentionne que cela n'est pas possible sur Windows en utilisant Wireshark seul, vous pouvez en fait l'enregistrer en utilisant une solution de contournement comme mentionné dans une réponse différente .
EDIT: Environ 3 ans plus tard, cette réponse n'est plus tout à fait correcte. La page liée contient des instructions pour la capture sur l'interface de bouclage .
Pour une raison quelconque, aucune des réponses précédentes n'a fonctionné dans mon cas, je publierai donc quelque chose qui a fait l'affaire. Il existe un petit bijou appelé RawCap qui peut capturer le trafic localhost sous Windows. Avantages:
Une fois le trafic capturé, vous pouvez l'ouvrir et l'examiner normalement dans Wireshark. Le seul inconvénient que j'ai trouvé est que vous ne pouvez pas définir de filtres, c'est-à-dire que vous devez capturer tout le trafic localhost qui peut être lourd. Il y en a aussi un bug concernant Windows XP SP 3.
Quelques conseils supplémentaires:
Sur la plate-forme Windows, il est également possible de capturer le trafic localhost à l'aide de Wireshark. Ce que vous devez faire est d'installer l' adaptateur de bouclage Microsoft , puis de le renifler.
Je n'ai pas vraiment essayé cela, mais cette réponse du Web semble prometteuse:
Wireshark ne peut pas réellement capturer les paquets locaux sur Windows XP en raison de la nature de la pile TCP Windows. Lorsque les paquets sont envoyés et reçus sur la même machine, ils ne semblent pas franchir la limite du réseau surveillée par WireShark.
Cependant, il existe un moyen de contourner cela, vous pouvez acheminer le trafic local via votre passerelle réseau (routeur) en configurant une route statique (temporaire) sur votre machine Windows XP.
Supposons que votre adresse IP XP est 192.168.0.2 et que votre adresse de passerelle (routeur) est 192.168.0.1, vous pouvez exécuter la commande suivante à partir de la ligne de commande Windows XP pour forcer tout le trafic local à traverser la limite du réseau, afin que WireShark puisse ensuite suivre le data (notez que WireShark signalera les paquets deux fois dans ce scénario, une fois lorsqu'ils quittent votre PC et une fois lorsqu'ils reviennent).
route add 192.168.0.2 mask 255.255.255.255 192.168.0.1 metric 1
http://forums.whirlpool.net.au/archive/1037087 , consulté à l'instant.
Veuillez essayer Npcap: https://github.com/nmap/npcap , il est basé sur WinPcap et prend en charge la capture de trafic en boucle sous Windows. Npcap est un sous-projet de Nmap ( http://nmap.org/ ), veuillez donc signaler tout problème sur la liste de développement de Nmap ( http://seclists.org/nmap-dev/ ).
Starting from Windows Vista: Npcap is an update of WinPcap using NDIS 6 Light-Weight Filter (LWF), done by Yang Luo for Nmap project during Google Summer of Code 2013 and 2015. Npcap has added many features compared to the legacy WinPcap.
Vous pouvez visualiser le trafic de bouclage en direct dans Wireshark en le faisant lire instantanément la sortie de RawCap . cmaynard décrit cette approche ingénieuse sur les forums Wireshark . Je vais le citer ici:
[...] si vous souhaitez afficher le trafic en direct dans Wireshark, vous pouvez toujours le faire en exécutant RawCap à partir d'une ligne de commande et en exécutant Wireshark à partir d'une autre. En supposant que vous ayez la queue de cygwin disponible, cela pourrait être accompli en utilisant quelque chose comme ceci:
cmd1: RawCap.exe -f 127.0.0.1 dumpfile.pcap
cmd2: tail -c +0 -f dumpfile.pcap | Wireshark.exe -k -i -
Cela nécessite la queue de cygwin, et je n'ai pas pu trouver un moyen de le faire avec les outils prêts à l'emploi de Windows. Son approche fonctionne très bien pour moi et me permet d'utiliser toutes les capacités de filtrage de Wiresharks sur le trafic de bouclage capturé en direct.
stdout
. Ainsi, à partir d'aujourd'hui, la solution fournie ci-dessus peut être simplifiée comme suit, sans aucune tail
obligation: RawCap.exe -q 127.0.0.1 - | Wireshark.exe -i - -k
Vous pouvez en savoir plus sur les nouvelles fonctionnalités de RawCap sur la page d'annonce de RawCap Redux ici: netresec.com/?page=Blog&month=2020-01&post=RawCap -Redux
Pour Windows ,
Vous ne pouvez pas capturer de paquets pour le bouclage local dans Wireshark cependant, vous pouvez utiliser un programme très petit mais utile appelé RawCap ;
Exécutez RawCap sur l' invite de commande et sélectionnez la pseudo-interface de bouclage (127.0.0.1) puis écrivez simplement le nom du fichier de capture de paquet ( .pcap )
Une simple démo est comme ci-dessous;
C:\Users\Levent\Desktop\rawcap>rawcap
Interfaces:
0. 169.254.125.51 Local Area Connection* 12 Wireless80211
1. 192.168.2.254 Wi-Fi Wireless80211
2. 169.254.214.165 Ethernet Ethernet
3. 192.168.56.1 VirtualBox Host-Only Network Ethernet
4. 127.0.0.1 Loopback Pseudo-Interface 1 Loopback
Select interface to sniff [default '0']: 4
Output path or filename [default 'dumpfile.pcap']: test.pcap
Sniffing IP : 127.0.0.1
File : test.pcap
Packets : 48^C
Vous ne pouvez pas capturer le bouclage sous Solaris, HP-UX ou Windows, mais vous pouvez très facilement contourner cette limitation en utilisant un outil tel que RawCap .
RawCap peut capturer des paquets bruts sur n'importe quelle adresse IP, y compris 127.0.0.1
(localhost / loopback). Rawcap peut également générer un pcap
fichier. Vous pouvez ouvrir et analyser le pcap
fichier avec Wireshark .
Voir ici pour plus de détails sur la façon de surveiller localhost à l'aide de RawCap et Wireshark.