TCPDump - Filtra per indirizzo MAC


25

Vorrei visualizzare tutto il traffico da o verso un indirizzo MAC specifico. Per quello ho provato

sudo tcpdump host aa:bb:cc:11:22:33

Non funziona e mi restituisce un errore

tcpdump: pktap_filter_packet: pcap_add_if_info(en0, 1) failed: pcap_add_if_info: pcap_compile_nopcap() failed

Non so come interpretare questo messaggio di errore e non so come risolvere il problema.

Qualsiasi aiuto ?


Sei sicuro che sia il formato dell'indirizzo MAC corretto? Gli indirizzi MAC non hanno un formato standard. Ho riscontrato problemi con dispositivi e codici diversi che richiedono formati diversi. Alcuni hanno bisogno di due punti, alcuni trattini, alcuni con 2 cifre, alcuni con 3, altri con 4 e, una volta, uno che ne aveva bisogno tagliati a metà.
Ron Maupin

Ciao, sì, abbastanza sicuro. Questo è il formato utilizzato per le risposte quando funziona. Come ad esempio questo comando funziona:> sudo tcpdump -e -nni all ether src aa: bb: cc: 11: 22: 33 EDIT: E mi restituisce approssimativamente ciò che voglio sostanzialmente. (L'ho appena scoperto)
phenetas

Questo è un messaggio di errore davvero orribile, e tcpdump su OS X prima di Mavericks, o quando non si cattura sul "qualsiasi" dispositivo su Mavericks e versioni successive, o su qualsiasi altro sistema operativo riporterebbe "tcpdump: indirizzo Ethernet utilizzato nell'espressione non eterica" . Per questo ho archiviato il bug 21698116 sul reporter di bug Apple.

Risposte:


41

Hai utilizzato quanto segue come filtro pacchetti: host aa:bb:cc:11:22:33

Allo stato attuale, questo è alla ricerca di un IP o nome host, ma gli stai dando un indirizzo MAC.

Per utilizzare un indirizzo MAC, è necessario includere la etherprimitiva del filtro pacchetti.

Nel tuo caso, dovrebbe funzionare come segue:

sudo tcpdump ether host aa:bb:cc:11:22:33

Oppure, se hai bisogno che tu specifichi l'interfaccia, sarebbe qualcosa del tipo:

sudo tcpdump -i eth0 ether host aa:bb:cc:11:22:33

Grazie, questo è davvero ben spiegato, ora capisco chiaramente il parametro "etere". Una domanda ora è: perché non riesco a vedere le intestazioni dei pacchetti HTTP quando navigo sul web? (Ho un iPhone come dispositivo di prova e sto annusando per il suo indirizzo MAC, se lo eseguo il ping posso vedere il traffico, se solo lo sveglio o lo faccio dormire posso vedere il traffico, ma nulla durante la navigazione di Safari)
phenetas

Nessuno potrebbe davvero dire perché non conosciamo il tuo ambiente o dove stai guardando i dati in quell'ambiente. Avrei bisogno di sapere molto di più prima di poter rispondere a questa domanda.
YLearn

Ok, sviluppo su un Mac con l'ultimo Os 10 Yosemite e il mio dispositivo di prova è un iPhone 5S con iOs 7. La rete è semplice, un punto di accesso wifi, un mac, un iPhone. Il fatto è che se lo faccio sudo tcpdumpvedrò tutto il traffico sulla rete e se navigherò sul Web sul mio Mac vedrò linee simili 11:54:20.887984 IP 10.11.204.50.56049 > 886entdc11.enterprise.886ventures.com.domain: 46247+ A? programmers.stackexchange.com. (47), ma se lo faccio sudo tcpdump host IPOfIphonenon vedrò nulla dal traffico di Internet se navigherò con il telefono.
phenetas,

Supponendo che il tuo "punto di accesso" sia in realtà una sorta di dispositivo gateway e fornisca il tuo accesso a Internet e che tu stia eseguendo il tcpdump sul Mac: a meno che tu non lo abbia configurato per farlo in qualche modo, il traffico Internet dell'iPhone non lo fa passare attraverso il Mac in modo che il Mac non lo veda.
YLearn

Sì, ha senso, forse mi manca la base della rete (sfondo elettrico). Quindi, se capisco che stai dicendo che posso vedere solo il traffico da / verso il mio mac o trasmesso. Ma in quel caso, perché posso vedere il traffico quando il telefono si connette al wifi? In tal caso ricevo un 11:45:52.852928 IP 10.11.204.15.mdns > 224.0.0.251.mdns: 0*- [0q] 1/0/1 TXT "model=N51AP" (98)che è una comunicazione tra il telefono (10.11.204.15) e 224.0.0.251 che sicuramente non è il mio mac (suppongo che questo sia il punto di accesso).
phenetas,
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.