Come catturare tutti i pacchetti in arrivo su NIC anche quei pacchetti non mi appartengono


13

AFAIK, la scheda NIC riceve tutti i pacchetti dal filo in una rete locale ma rifiuta quei pacchetti il ​​cui indirizzo di destinazione non è uguale al suo IP.

Voglio sviluppare un'applicazione che monitora l'utilizzo di Internet da parte degli utenti. Ogni utente ha un indirizzo IP fisso.

Io e alcune altre persone siamo collegati a uno switch desktop non gestito Fast Ethernet a 8 porte DES-108

Come detto in precedenza, voglio catturare tutti i traffici di tutti gli utenti, non solo quei pacchetti che mi appartengono.

Come devo forzare la mia scheda NIC o altri componenti a ricevere tutti i pacchetti?


1
Acquista uno switch economico e gestito per circa 30 € e abilita il mirroring delle porte sul collegamento al gateway.
Max Ried il

Risposte:


27

AFAIK, la scheda NIC riceve tutti i pacchetti dal filo in una rete locale ma rifiuta quei pacchetti il ​​cui indirizzo di destinazione non è uguale al suo IP.

Correzione: rifiuta quei pacchetti il ​​cui indirizzo MAC di destinazione non è uguale al suo indirizzo MAC (o multicast o qualsiasi altro indirizzo nel suo filtro.

Le utility di acquisizione dei pacchetti possono banalmente mettere il dispositivo di rete in modalità promiscua, vale a dire che il controllo sopra è bypassato e il dispositivo accetta tutto ciò che riceve. In realtà, questo è di solito il valore predefinito: con tcpdump, è necessario specificare l' -popzione per non farlo.

Il problema più importante è se i pacchetti che ti interessano vengono addirittura trasportati lungo il filo fino alla porta di fiuto. Dato che stai usando uno switch ethernet non gestito, quasi certamente non lo sono. Lo switch sta decidendo di eliminare i pacchetti che non ti appartengono dalla tua porta prima che il tuo dispositivo di rete possa sperare di vederli.

Per fare ciò, è necessario connettersi a una porta di mirroring o monitoraggio appositamente configurata su uno switch Ethernet gestito.


1
O un hub Ethernet ... se riesci a trovarne uno che si arrugginisce nella soffitta :) Dubito che ce ne siano per 1000Base-T, però, Wikipedia afferma che gli hub gigabit supportano solo collegamenti half duplex e ora sono deprecati.
chx,

1
@chx, tutti gli hub veri supportavano solo half duplex. Personalmente, non ne ho mai visto uno 1000Base-T.
Celada,

Credo che ciò abbia avuto a che fare con il lento assorbimento di Gigabit Ethernet - sebbene lo standard 802.3ab sia uscito nel 1999, l'assorbimento è stato molto lento fino al 2003/2004 quando Intel ha rilasciato per la prima volta il chipset 875P con il bus CSA dedicato per Gigabit Ethernet e poi nel 2004 PCI Express ha acquisito una larghezza di banda sufficiente per Gigabit Ethernet. E a quel punto, gli interruttori erano abbastanza economici.
chx,

Lo switch Ethernet non trasmetterà sempre i frame. Ha una propria tabella di commutazione (contiene la mappa della porta dello switch e l'indirizzo MAC) per unicasting del Frame. Se la tabella non ha una voce per il MAC nel frame, allora trasmette / inonda il frame. Il tuo desktop non riceverà mai altri frame. Come nella risposta, devi usare un interruttore speciale per catturare tutti i frame che arrivano al tuo interruttore.
Valarpirai,

8

Nei primi passi degli hub Ethernet (non switch), i pacchetti inviati sono disponibili per tutti gli host sulla sottorete, ma si suppone che gli host che non sono il destinatario previsto debbano ignorare.

Ovviamente, non ci volle molto per saturare le sottoreti, quindi nacque la tecnologia switch per risolvere i problemi, e una delle cose che fecero fu fare in modo che lo switch di rete instradasse solo i pacchetti destinati a quell'host a quella porta (più andy broadcast traffic ).

Ciò complica il monitoraggio / sniffing della rete perché è possibile solo annusare i pacchetti che sono per il tuo host. Ciò è stato considerato positivo dal punto di vista della sicurezza, ma dal punto di vista del monitoraggio della rete non è altrettanto positivo. Per far funzionare il monitoraggio della rete, i fornitori implementano una funzione chiamata mirroring delle porte. Questo deve essere configurato sullo switch di rete e il collegamento seguente dovrebbe indirizzarti nella giusta direzione per i prodotti D-link. Lo troverai da qualche parte nel tuo software di gestione degli switch o nell'interfaccia di amministrazione web. Se non trovi queste funzionalità, la funzionalità potrebbe non essere fornita in quel dispositivo specifico.

http://www.dlink.com/uk/en/support/faq/switches/layer-2-gigabit/dgs-series/es_dgs_1210_como_monitorear_trafico_de_un_puerto_port_mirroring


2

Innanzitutto è necessario passare la scheda NIC in modalità promiscua. Supponiamo che la tua interfaccia NIC sia eth0.

root@linux#ifconfig eth0 promesc

Se sei su una rete di switch il tuo sniffing si riduce al dominio di collisione connettiti alla tua porta di switch. È possibile eseguire macofper sovraccaricare la tabella di inoltro dello switch.

root@linux#macof -i eth0

Quindi è possibile utilizzare wiresharko tcpdumpper acquisire tutto il traffico.

root@linux#tcpdump -i eth0 -w outputfile

Se non si è su una rete commutata, è sufficiente abilitare la modalità promiscua e utilizzare tcpdump.


1
tcpdumpabiliterà la modalità promiscua per te. Non è necessario farlo (e ricordarsi di annullarlo al termine) manualmente.
Celada,

0

Stai reinventando la ruota.

Supponendo che tu abbia una rete semplice con i client che si connettono agli switch, con un gateway predefinito a Internet, devi solo monitorare su quel dispositivo gateway predefinito. Questo sarà un punto di strozzamento per mostrare tutto il traffico tra un client LAN e Internet.

Suppongo che il traffico tra client LAN e client LAN non sia interessante, poiché con tutti gli indirizzi IP all'interno della stessa sottorete IP il traffico locale non tocca il gateway predefinito.

Se vuoi davvero vedere tutto il traffico, ogni utente deve essere nella propria rete IP e il traffico verso le altre reti avviene tramite il gateway predefinito. È possibile assegnare un / 28 a ogni persona e possono avere 14 IP per se stessi.

Il tuo router di livello domestico medio non gestirà gran parte di questo, dovrai esplorare una distribuzione firewall dedicata. Personalmente pfsense sarebbe il mio go-to, ma ci sono molte opzioni.

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.