Acquisizione del traffico dell'host locale di Wireshark [chiuso]


117

Ho scritto una semplice app server in C che gira su localhost. Come acquisire il traffico localhost utilizzando Wireshark?


3
Anche se vecchio, voto ancora per riaprire per motivi di coerenza. Questa è una domanda valida, e IMHO abbastanza ristretta (il problema specifico è "localhost")
Marcel

Risposte:


69

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 .


La risposta di feuGene funziona davvero.
GWLlosa

@GWLlosa Sì. Puoi usare l'indirizzo locale della tua macchina .
cnicutar

7
Ho scoperto che non era sufficiente inserire semplicemente il proprio IP in WireShark invece che in loopback; l'aggiunta del percorso era necessario perché funzionasse nella mia situazione.
GWLlosa

1
Grazie. Su OS X, l'interfaccia di loopback è lo0. La scelta di en1 o qualunque sia l'impostazione predefinita non funzionerà, a quanto pare.
sudo

Per impostare l'adattatore loopback, ho trovato utile questo video di YouTube. youtube.com/watch?v=KsWICPPO_N8
developer747

51

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:

  • solo 17 kB!
  • non sono necessarie librerie esterne
  • estremamente semplice da usare (basta avviarlo, scegliere l'interfaccia di loopback e il file di destinazione e basta)

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


1
nessuna configurazione richiesta ed era abbastanza semplice.
vibhu

E puoi fare in modo che Wireshark legga l'output di RawCap istantaneamente, dandoti l'acquisizione in tempo reale. Vedi la mia risposta per i dettagli.
Richard Kiefer

48

Sulla piattaforma Windows, è anche possibile acquisire il traffico localhost utilizzando Wireshark. Quello che devi fare è installare l' adattatore Microsoft loopback e poi annusarlo.


ciphor, l'hai fatto con successo? questo è in diretta contraddizione con la risposta di cnicutar.
feuGene

sì, l'ho fatto con successo.
cifrario

E come? Non ha funzionato.
schlamar

18
Ho funzionato allo stesso modo su Win 7. Gestione periferiche -> Aggiungi hardware legacy -> Sceglierò -> Rete -> Microsoft -> Adattatore loopback. Una volta installato, configuralo con un indirizzo IP a tua scelta. Quindi: reinstalla WireShark in modo che reinstalli il driver di acquisizione sulla nuova interfaccia - questo deve essere eseguito ogni volta che aggiungi nuove interfacce a Windows, loopback o real.
antiduh

4
Ho seguito le istruzioni @antiduh su Win 7 e mentre ho visto alcune query di netbios, non ho visto il traffico HTTP su localhost.
Carlos Rendon

26

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.


6
Ho provato questo e ho scoperto che funzionava molto bene.
GWLlosa

non funziona su win 7 32 bit
vantrung -cuncon

11

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


Opzione n. 1 dalla documentazione di 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.
WireShark

Puoi scaricare il programma di installazione da qui: nmap.org/npcap
Wayne Phipps

2
È bene sapere che NPcap ha alcune limitazioni di licenza per l'utilizzo in ambienti aziendali.
Jan Smrčina

10

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.


3
Per me la parte essenziale era avviare il secondo comando cmd con un certo ritardo, altrimenti Wireshark non poteva leggere il file .pcap. Presumibilmente, perché per iniziare deve esserci del traffico registrato.
Richard Kiefer

Questa dovrebbe essere una risposta accettata (è sufficiente eseguire cmd2 da git bash)
fider

4
Un aggiornamento : Netresec ha appena annunciato oggi (30 gennaio 2020) una nuova versione di RawCap che ora supporta la scrittura su pipe o su stdout. Quindi, a partire da oggi, la soluzione fornita sopra può essere semplificata come segue, senza tailnecessità: 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
Christopher Maynard il

8

Per Windows ,

Non è possibile acquisire pacchetti per il loopback locale in Wireshark , tuttavia, è possibile utilizzare un programma molto piccolo ma utile chiamato RawCap ;

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

6

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 pcapfile. Puoi aprire e analizzare il pcapfile con Wireshark .

Vedi qui per tutti i dettagli su come monitorare localhost usando RawCap e Wireshark.


2

Sì, puoi monitorare il traffico dell'host locale utilizzando Npcap Loopback Adapter

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.