Wireshark localhost Verkehrserfassung [geschlossen]

117

Ich habe eine einfache Server-App in C geschrieben, die auf localhost läuft. Wie kann der Localhost-Verkehr mit Wireshark erfasst werden?

Udara SS Liyanage
quelle
3
Während ich alt bin, stimme ich immer noch dafür, aus Konsistenzgründen wieder zu öffnen. Dies ist eine gültige Frage, und meiner Meinung nach eng genug (das spezifische Problem ist "localhost")
Marcel

Antworten:

69

Wenn Sie Windows verwenden , ist dies nicht möglich - lesen Sie unten. Sie können stattdessen die lokale Adresse Ihres Computers verwenden und dann Inhalte erfassen. Siehe CaptureSetup / Loopback .

Zusammenfassung: Sie können auf der Loopback-Oberfläche unter Linux, auf verschiedenen BSDs einschließlich Mac OS X und unter Digital / Tru64 UNIX erfassen, und Sie können dies möglicherweise unter Irix und AIX tun, aber unter Solaris, HP, können Sie dies definitiv nicht -UX ... .

Obwohl auf der Seite erwähnt wird, dass dies unter Windows mit Wireshark allein nicht möglich ist, können Sie es mithilfe einer Problemumgehung aufzeichnen, wie in einer anderen Antwort erwähnt .


EDIT: Etwa 3 Jahre später ist diese Antwort nicht mehr ganz richtig. Die verlinkte Seite enthält Anweisungen zum Erfassen auf der Loopback-Oberfläche .

cnicutar
quelle
Die Antwort von feuGene funktioniert tatsächlich.
GWLlosa
@ GWLlosa Yup. Sie können die lokale Adresse Ihres Computers verwenden .
Cnicutar
7
Ich fand es nicht ausreichend, einfach Ihre eigene IP in Wireshark anstatt in Loopback zu setzen. Das Hinzufügen der Route war notwendig, damit sie in meiner Situation funktioniert.
GWLlosa
1
Vielen Dank. Unter OS X ist die Loopback-Schnittstelle lo0. Die Auswahl von en1 oder was auch immer Ihre Standardeinstellung ist, funktioniert anscheinend nicht.
Sudo
Zum Einrichten des Loopback-Adapters fand ich dieses Youtube-Video nützlich. youtube.com/watch?v=KsWICPPO_N8
developer747
51

Aus irgendeinem Grund hat in meinem Fall keine der vorherigen Antworten funktioniert, daher werde ich etwas posten, das den Trick getan hat. Es gibt ein kleines Juwel namens RawCap , das den lokalen Host- Verkehr unter Windows erfassen kann. Vorteile:

  • nur 17 kB!
  • Keine externen Bibliotheken erforderlich
  • extrem einfach zu bedienen (einfach starten, Loopback-Schnittstelle und Zieldatei auswählen und fertig)

Nachdem der Datenverkehr erfasst wurde, können Sie ihn öffnen und in Wireshark normal untersuchen. Der einzige Nachteil, den ich festgestellt habe, ist, dass Sie keine Filter festlegen können, dh Sie müssen den gesamten lokalen Host-Verkehr erfassen, der stark sein kann. Es gibt auch einen Fehler in Bezug auf Windows XP SP 3.

Einige weitere Ratschläge:

Miljen Mikic
quelle
1
Kein Setup erforderlich und war recht einfach.
Vibhu
Wireshark kann die Ausgabe von RawCap sofort lesen und so live erfassen. Siehe meine Antwort für Details.
Richard Kiefer
48

Auf der Windows-Plattform ist es auch möglich, den lokalen Host-Verkehr mit Wireshark zu erfassen. Was Sie tun müssen, ist, den Microsoft Loopback-Adapter zu installieren und dann daran zu schnüffeln.

ciphor
quelle
ciphor, hast du das erfolgreich gemacht? Dies steht in direktem Widerspruch zu Cnicutars Antwort.
feuGene
Ja, ich habe es erfolgreich gemacht.
Ciphor
Und wie? Hat es nicht zum Laufen gebracht.
Schlamar
18
Ich habe dies unter Win 7 trotzdem zum Laufen gebracht. Geräte-Manager -> Legacy-Hardware hinzufügen -> Ich wähle -> Netzwerk -> Microsoft -> Loopback-Adapter. Konfigurieren Sie es nach der Installation mit einer IP-Adresse Ihrer Wahl. Dann: Installieren Sie wireshark neu, damit der Capture-Treiber auf der neuen Schnittstelle neu installiert wird. Dies muss jedes Mal durchgeführt werden, wenn Sie Windows, Loopback oder Real neue Schnittstellen hinzufügen.
Antiduh
4
Befolgen Sie die Anweisungen von @antiduh unter Win 7, und obwohl ich einige Netbios-Abfragen gesehen habe, habe ich keinen HTTP-Verkehr auf localhost gesehen.
Carlos Rendon
26

Ich habe das noch nicht ausprobiert, aber diese Antwort aus dem Internet klingt vielversprechend:

Wireshark kann unter Windows XP aufgrund der Art des Windows-TCP-Stacks keine lokalen Pakete erfassen. Wenn Pakete auf demselben Computer gesendet und empfangen werden, scheinen sie die von Wireshark überwachte Netzwerkgrenze nicht zu überschreiten.

Es gibt jedoch eine Möglichkeit, dies zu umgehen. Sie können den lokalen Datenverkehr über Ihr Netzwerk-Gateway (Router) weiterleiten, indem Sie auf Ihrem Windows XP-Computer eine (temporäre) statische Route einrichten.

Angenommen, Ihre XP-IP-Adresse lautet 192.168.0.2 und Ihre Gateway-Adresse (Router) lautet 192.168.0.1. Sie können den folgenden Befehl über die Windows XP-Befehlszeile ausführen, um den gesamten lokalen Datenverkehr über die Netzwerkgrenze hinaus zu erzwingen, sodass wireshark die Adresse verfolgen kann Daten (Beachten Sie, dass wireshark in diesem Szenario Pakete zweimal meldet, einmal, wenn sie Ihren PC verlassen, und einmal, wenn sie zurückkehren).

route add 192.168.0.2 mask 255.255.255.255 192.168.0.1 metric 1

http://forums.whirlpool.net.au/archive/1037087 , gerade zugegriffen.

feuGene
quelle
6
Ich habe es versucht und festgestellt, dass es sehr gut funktioniert.
GWLlosa
nicht auf Win 7 32bit arbeiten
vantrung -cuncon
11

Bitte versuchen Sie es mit Npcap: https://github.com/nmap/npcap . Es basiert auf WinPcap und unterstützt die Erfassung von Loopback-Datenverkehr unter Windows. Npcap ist ein Teilprojekt von Nmap ( http://nmap.org/ ). Bitte melden Sie alle Probleme auf der Entwicklungsliste von Nmap ( http://seclists.org/nmap-dev/ ).

Yang Luo
quelle
Option 1 aus der Dokumentation des WiresharksStarting 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
Sie können das Installationsprogramm hier herunterladen: nmap.org/npcap
Wayne Phipps
2
Es ist gut zu wissen, dass NPcap einige Lizenzbeschränkungen für die Verwendung in Geschäftsumgebungen aufweist.
Jan Smrčina
10

Sie können den Loopback-Verkehr live in Wireshark anzeigen , indem Sie die Ausgabe von RawCap sofort lesen lassen . cmaynard beschreibt diesen genialen Ansatz in den Wireshark-Foren . Ich werde es hier zitieren:

[...] Wenn Sie Live-Verkehr in Wireshark anzeigen möchten, können Sie dies dennoch tun, indem Sie RawCap über eine Befehlszeile und Wireshark über eine andere ausführen. Angenommen, Sie haben Cygwins Schwanz zur Verfügung, könnte dies folgendermaßen erreicht werden:

cmd1: RawCap.exe -f 127.0.0.1 dumpfile.pcap

cmd2: tail -c +0 -f dumpfile.pcap | Wireshark.exe -k -i -

Es erfordert Cygwins Schwanz, und ich konnte mit den sofort einsatzbereiten Tools von Windows keinen Weg finden, dies zu tun. Sein Ansatz funktioniert für mich sehr gut und ermöglicht es mir, alle Wiresharks-Filterfunktionen für erfassten Loopback-Verkehr live zu nutzen.

Richard Kiefer
quelle
3
Für mich bestand der wesentliche Teil darin, den zweiten Befehl cmd mit einer gewissen Verzögerung zu starten, da Wireshark sonst die .pcap-Datei nicht lesen konnte. Vermutlich, weil zunächst etwas Verkehr darin aufgezeichnet werden muss.
Richard Kiefer
Diese Antwort sollte akzeptiert werden (es reicht aus, cmd2 von git bash
auszuführen
4
Ein Update : Netresec hat heute (30. Januar 2020) eine neue Version von RawCap angekündigt, die jetzt das Schreiben in eine Pipe oder in unterstützt stdout. Ab heute kann die oben bereitgestellte Lösung wie folgt wie folgt vereinfacht tailwerden: RawCap.exe -q 127.0.0.1 - | Wireshark.exe -i - -kWeitere Informationen zu den neuen RawCap-Funktionen finden Sie auf der Ankündigungsseite von RawCap Redux hier: netresec.com/?page=Blog&month=2020-01&post=RawCap -Redux
Christopher Maynard
8

Für Windows - ,

Sie können in Wireshark keine Pakete für Local Loopback erfassen. Sie können jedoch ein sehr kleines, aber nützliches Programm namens RawCap verwenden .

RawCap

Führen Sie RawCap an der Eingabeaufforderung aus und wählen Sie die Loopback-Pseudo-Schnittstelle (127.0.0.1) aus. Schreiben Sie dann einfach den Namen der Paketerfassungsdatei ( .pcap) ).

Eine einfache Demo ist wie folgt;

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
quelle
6

Sie können Loopback unter Solaris, HP-UX oder Windows nicht erfassen. Sie können diese Einschränkung jedoch mit einem Tool wie RawCap ganz einfach umgehen .

RawCap kann Rohpakete auf jeder IP erfassen, einschließlich 127.0.0.1(localhost / loopback). Rawcap kann auch eine pcapDatei generieren . Sie können die pcapDatei mit Wireshark öffnen und analysieren .

Sehen Sie hier für weitere Informationen darüber , wie RawCap und Wireshark zu überwachen localhost verwenden.

cmd
quelle
2

Ja, Sie können den Localhost-Verkehr mit dem Npcap Loopback-Adapter überwachen

Melwinalm
quelle