web-dev-qa-db-fra.com

Capture du trafic localhost de Wireshark

J'ai écrit une application serveur simple en C qui s'exécute sur localhost. Comment capturer le trafic localhost avec Wireshark?

111

Si vous utilisez Windows ce n'est pas possible - lire ci-dessous. Vous pouvez utiliser l'adresse locale de votre machine à la place et vous pourrez alors 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 devez absolument ne peut pas le faire sous Solaris, HP-UX ... .

Bien que la page mentionne que cela n’est pas possible sous Windows en utilisant Wireshark seul, vous pouvez l’enregistrer en utilisant une solution de contournement comme indiqué dans un réponse différente .


EDIT: Quelques 3 ans plus tard, cette réponse n’est plus tout à fait correcte. La page liée contient des instructions pour capturer sur l'interface de bouclage .

65
cnicutar

Pour une raison quelconque, aucune des réponses précédentes ne fonctionnait dans mon cas, donc je vais poster quelque chose qui a fait le tour. Il existe un petit bijou appelé RawCap pouvant capturer le trafic localhost sous Windows. Avantages:

  • seulement 17 ko!
  • aucune bibliothèque externe nécessaire
  • extrêmement simple à utiliser (il suffit de le démarrer, de choisir l'interface de bouclage et le fichier de destination, et c'est tout)

Une fois le trafic capturé, vous pouvez l'ouvrir et l'examiner normalement à Wireshark. Le seul inconvénient que j’ai constaté 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 existe également un bug concernant Windows XP SP 3.

Quelques conseils supplémentaires:

47
Miljen Mikic

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 le adaptateur de bouclage Microsoft , puis de le détecter.

47
ciphor

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 sous Windows XP en raison de la nature de la pile Windows TCP pile. Lorsque des paquets sont envoyés et reçus sur le même ordinateur ne semble pas traverser la limite de réseau surveillée par Wirehark.

Toutefois, il existe un moyen de contourner ce problème. Vous pouvez acheminer le trafic local via votre passerelle réseau (routeur) en définissant un itinéraire statique (temporaire) sur votre machine Windows XP).

Dites que votre XP adresse IP est 192.168.0.2 et votre adresse de passerelle (routeur) est 192.168.0.1, vous pouvez exécuter la commande suivante à partir de Windows XP forcer tout le trafic local en sortie et en retour à travers la limite du réseau afin que Wilshark puisse ensuite suivre les données (notez que Welshark signalera les paquets deux fois dans ce scénario, une fois lorsqu'ils quitteront votre ordinateur et une fois lorsqu'ils reviendront).

route add 192.168.0.2 mask 255.255.255.255 192.168.0.1 metric 1

http://forums.whirlpool.net.au/archive/1037087 , accessible tout à l'heure.

26
feuGene

Veuillez essayer Npcap: https://github.com/nmap/npcap , il est basé sur WinPcap et prend en charge la capture de trafic en boucle sur 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/ ).

10
Yang Luo

Vous pouvez visualiser le trafic en boucle en direct dans Wireshark en le lisant instantanément à la sortie de RawCap . cmaynard décrit cet ingénieux approche sur les forums Wireshark . Je vais le citer ici:

[...] si vous voulez voir 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 disposiez de la queue de cygwin, vous pouvez le faire de la manière suivante:

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 ne trouvais pas le 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 en boucle capturé en direct.

7
Richard Kiefer

Pour Windows ,

Vous ne pouvez pas capturer de paquets pour le bouclage local dans Wireshark , mais vous pouvez utiliser un programme très petit mais utile appelé RawCap ;

RawCap

Exécutez RawCap sur l’invite de la commande et sélectionnez le Pseudo-interface de bouclage (127.0.0.1) puis écrivez simplement le nom du fichier de capture de paquets (. Pcap )

Une simple démonstration 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
4
Levent Divilioglu

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 fichier pcap. Vous pouvez ouvrir et analyser le fichier pcap avec Wireshark .

Voir ici pour plus de détails sur la surveillance de localhost à l'aide de RawCap et de Wireshark.

3
cmd

Oui, vous pouvez surveiller le trafic localhost à l'aide de la carte de bouclage Npcap

2
melwinalm