Capture du trafic localhost Wireshark [fermé]

117

J'ai écrit une application serveur simple en C qui fonctionne sur localhost. Comment capturer le trafic localhost à l'aide de Wireshark?

Udara SS Liyanage
la source
3
Bien que vieux, je vote toujours pour rouvrir pour des raisons de cohérence. Ceci est une question valide, et à mon humble avis assez étroite (le problème spécifique étant "localhost")
Marcel

Réponses:

69

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 .

cnicutar
la source
La réponse de feuGene fonctionne réellement.
GWLlosa
@GWLlosa Yup. Vous pouvez utiliser l'adresse locale de votre machine .
cnicutar
7
J'ai trouvé qu'il n'était pas suffisant de simplement mettre votre propre adresse IP dans WireShark au lieu du bouclage; l'ajout de l'itinéraire était nécessaire pour qu'il fonctionne dans ma situation.
GWLlosa
1
Merci. Sous OS X, l'interface de bouclage est lo0. Choisir en1 ou tout ce que vous avez par défaut ne fonctionnera pas, semble-t-il.
sudo
Pour configurer l'adaptateur de bouclage, j'ai trouvé cette vidéo youtube utile. youtube.com/watch?v=KsWICPPO_N8
developer747
51

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:

  • 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 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:

Miljen Mikic
la source
1
aucune configuration requise et était assez simple.
vibhu
Et vous pouvez demander à Wireshark de lire instantanément la sortie de RawCap, ce qui vous permet de capturer en direct. Voir ma réponse pour plus de détails.
Richard Kiefer
48

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.

ciphor
la source
ciphor, avez-vous réussi cela? ceci est en contradiction directe avec la réponse de cnicutar.
feuGene
oui, je l'ai fait avec succès.
ciphor
Et comment? Je ne l'ai pas fait fonctionner.
schlamar
18
J'ai obtenu que cela fonctionne tout de même sur Win 7. Gestionnaire de périphériques -> Ajouter du matériel hérité -> Je choisirai -> Réseau -> Microsoft -> Adaptateur de bouclage. Une fois installé, configurez-le avec une adresse IP de votre choix. Ensuite: réinstallez WireShark afin qu'il réinstalle le pilote de capture sur la nouvelle interface - cela doit être effectué chaque fois que vous ajoutez de nouvelles interfaces à Windows, en boucle ou en réel.
antiduh
4
J'ai suivi les instructions de @antiduh sur Win 7 et bien que j'aie vu des requêtes netbios, je n'ai pas vu de trafic HTTP sur localhost.
Carlos Rendon
26

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.

feuGene
la source
6
J'ai essayé ceci et j'ai trouvé que cela fonctionnait très bien.
GWLlosa
ne fonctionne pas sur win 7 32bit
vantrung -cuncon
11

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/ ).

Yang Luo
la source
Option n ° 1 de la documentation de WiresharkStarting 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.
KCD
Vous pouvez télécharger le programme d'installation à partir d'ici: nmap.org/npcap
Wayne Phipps
2
Il est bon de savoir que NPcap a certaines limitations de licence pour une utilisation dans les environnements professionnels.
Jan Smrčina
10

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.

Richard Kiefer
la source
3
Pour moi, l'essentiel était de démarrer la deuxième commande cmd avec un certain délai, sinon Wireshark ne pouvait pas lire le fichier .pcap. Vraisemblablement, parce qu'il doit y avoir du trafic enregistré pour commencer.
Richard Kiefer
Cela devrait être une réponse acceptée (il suffit d'exécuter cmd2 depuis git bash)
fider
4
Une mise à jour : Netresec vient d'annoncer aujourd'hui (30 janvier 2020) une nouvelle version de RawCap qui prend désormais en charge l'écriture vers un tube ou vers stdout. Ainsi, à partir d'aujourd'hui, la solution fournie ci-dessus peut être simplifiée comme suit, sans aucune tailobligation: 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
Christopher Maynard
8

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 ;

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
Levent Divilioglu
la source
6

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

Voir ici pour plus de détails sur la façon de surveiller localhost à l'aide de RawCap et Wireshark.

cmd
la source
2

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

melwinalm
la source