Ho scritto una semplice app server in C che gira su localhost. Come acquisire il traffico localhost utilizzando Wireshark?
Ho scritto una semplice app server in C che gira su localhost. Come acquisire il traffico localhost utilizzando Wireshark?
Risposte:
Se stai usando Windows non è possibile - leggi sotto. Puoi invece usare l'indirizzo locale della tua macchina e poi sarai in grado di catturare cose. Vedere CaptureSetup / Loopback .
Riepilogo: puoi acquisire sull'interfaccia di loopback su Linux, su vari BSD tra cui Mac OS X e su Digital / Tru64 UNIX, e potresti essere in grado di farlo su Irix e AIX, ma sicuramente non puoi farlo su Solaris, HP -UX ... .
Sebbene la pagina menzioni che ciò non è possibile su Windows utilizzando solo Wireshark, puoi effettivamente registrarlo utilizzando una soluzione alternativa come menzionato in una risposta diversa .
EDIT: Circa 3 anni dopo, questa risposta non è più completamente corretta. La pagina collegata contiene le istruzioni per l'acquisizione sull'interfaccia di loopback .
Per qualche motivo, nessuna delle risposte precedenti ha funzionato nel mio caso, quindi posterò qualcosa che ha funzionato. C'è un piccolo gioiello chiamato RawCap che può catturare il traffico localhost su Windows. vantaggi:
Dopo che il traffico è stato catturato, puoi aprirlo ed esaminarlo normalmente in Wireshark. L'unico svantaggio che ho riscontrato è che non puoi impostare i filtri, cioè devi catturare tutto il traffico localhost che può essere pesante. C'è anche un bug relativo a Windows XP SP 3.
Pochi consigli in più:
Sulla piattaforma Windows, è anche possibile acquisire il traffico localhost utilizzando Wireshark. Quello che devi fare è installare l' adattatore Microsoft loopback e poi annusarlo.
In realtà non l'ho provato, ma questa risposta dal web sembra promettente:
Wireshark non può effettivamente acquisire pacchetti locali su Windows XP a causa della natura dello stack TCP di Windows. Quando i pacchetti vengono inviati e ricevuti sulla stessa macchina, non sembrano attraversare il confine di rete monitorato da WireShark.
Tuttavia c'è un modo per aggirare questo, puoi instradare il traffico locale attraverso il tuo gateway di rete (router) impostando un percorso statico (temporaneo) sul tuo computer Windows XP.
Supponiamo che il tuo indirizzo IP di XP sia 192.168.0.2 e il tuo indirizzo gateway (router) sia 192.168.0.1 potresti eseguire il seguente comando dalla riga di comando di Windows XP per forzare tutto il traffico locale in uscita e indietro attraverso i confini della rete, in modo che wirehark possa tracciare il dati (si noti che in questo scenario WireShark riporterà i pacchetti due volte, una volta quando lasciano il PC e una volta quando tornano).
route add 192.168.0.2 mask 255.255.255.255 192.168.0.1 metric 1
http://forums.whirlpool.net.au/archive/1037087 , consultato proprio ora.
Prova Npcap: https://github.com/nmap/npcap , è basato su WinPcap e supporta l'acquisizione del traffico di loopback su Windows. Npcap è un sottoprogetto di Nmap ( http://nmap.org/ ), quindi per favore segnala eventuali problemi nell'elenco di sviluppo di 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.
Puoi visualizzare il traffico di loopback dal vivo in Wireshark facendolo leggere immediatamente l'output di RawCap . cmaynard descrive questo approccio ingegnoso nei forum di Wireshark . Lo citerò qui:
[...] se desideri visualizzare il traffico in tempo reale in Wireshark, puoi comunque farlo eseguendo RawCap da una riga di comando ed eseguendo Wireshark da un'altra. Supponendo che tu abbia la coda di cygwin disponibile, questo potrebbe essere ottenuto usando qualcosa del genere:
cmd1: RawCap.exe -f 127.0.0.1 dumpfile.pcap
cmd2: tail -c +0 -f dumpfile.pcap | Wireshark.exe -k -i -
Richiede la coda di Cygwin e non sono riuscito a trovare un modo per farlo con gli strumenti pronti all'uso di Windows. Il suo approccio funziona molto bene per me e mi consente di utilizzare tutte le funzionalità di filtro di Wiresharks sul traffico di loopback catturato in tempo reale.
stdout
. Quindi, a partire da oggi, la soluzione fornita sopra può essere semplificata come segue, senza tail
necessità: RawCap.exe -q 127.0.0.1 - | Wireshark.exe -i - -k
Puoi leggere di più sulle nuove funzionalità di RawCap sulla pagina degli annunci di RawCap Redux qui: netresec.com/?page=Blog&month=2020-01&post=RawCap -Redux
Per Windows ,
Non è possibile acquisire pacchetti per il loopback locale in Wireshark , tuttavia, è possibile utilizzare un programma molto piccolo ma utile chiamato RawCap ;
Esegui RawCap al prompt dei comandi e seleziona Loopback Pseudo-Interface (127.0.0.1), quindi scrivi semplicemente il nome del file di acquisizione del pacchetto ( .pcap )
Una semplice demo è la seguente;
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
Non è possibile acquisire il loopback su Solaris, HP-UX o Windows, tuttavia è possibile aggirare molto facilmente questa limitazione utilizzando uno strumento come RawCap .
RawCap può acquisire pacchetti grezzi su qualsiasi IP incluso 127.0.0.1
(localhost / loopback). Rawcap può anche generare un pcap
file. Puoi aprire e analizzare il pcap
file con Wireshark .
Vedi qui per tutti i dettagli su come monitorare localhost usando RawCap e Wireshark.