Sono connesso alla mia rete WiFi e voglio acquisire e analizzare i pacchetti scambiati da altri client con il gateway. Non voglio modificare il contenuto di questi pacchetti e non ho bisogno di leggere il contenuto di ogni pacchetto.
In realtà, la configurazione di wlan è la seguente:
- un router
192.168.1.1
- il laptop che sto usando per annusare il traffico
192.168.1.9
- il mio smartphone
192.168.1.2
quindi voglio essere in grado di vedere (in parte) il traffico tra il mio smartphone e il router.
Per raggiungere l'obiettivo, ho impostato l'interfaccia wireless in modalità promiscua con sudo ip link wlo1 promiscuous on
e controllo se è abilitata con netstat -i
:
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
enp8s0 1500 0 28962 0 1 0 22923 0 0 0 BMU
lo 65536 0 7294 0 0 0 7294 0 0 0 LRU
wlo1 1500 0 29469 0 0 0 12236 0 0 0 BMPRU
Il P
sulla colonna flag indica la modalità promiscua, quindi presumo che sia abilitato. Poiché la modalità promiscua è attiva, dovrei vedere tutto il traffico che la mia scheda di rete può acquisire. Quindi apro wireshark e comincio a catturare il traffico su wlo1
ma non vedo alcun pacchetto dall'origine 192.168.1.2
e sto navigando in rete con il mio smartphone (quindi sto generando traffico).
Che cosa sto sbagliando?
EDIT: ho trovato il problema.
L'interfaccia è ancora in modalità gestita. Ho provato ad aggiungere manualmente una nuova interfaccia. iw phy phy0 info
indica che la mia scheda NIC supporta la modalità monitor, ma se provo ad aggiungere una nuova interfaccia con sudo iw phy phy0 interface add mon0 type monitor
ottengo il seguente:
blackbrain@blackbrain-host:~$ iw dev
phy#0
Interface mon0
ifindex 5
wdev 0x3
addr 34:68:95:03:48:17
type managed
Interface wlo1
ifindex 3
wdev 0x1
addr 34:68:95:03:48:17
type managed
channel 7 (2442 MHz), width: 20 MHz, center1: 2442 MHz
entrambe le interfacce sono in modalità gestita.
Qualche idea?