Che cos'è una modalità promiscua per una scheda di rete?
La modalità promiscua o modalità promiscua è una funzionalità che fa sì che la scheda ethernet trasmetta tutto il traffico ricevuto al kernel. Di solito viene utilizzato da un programma di sniffing dei pacchetti come Wireshark e tcpdump. Se esistesse un programma di questo tipo in esecuzione intenzionalmente o un collegamento in rete per la virtualizzazione dell'hardware, il messaggio di "modalità promiscua" potrebbe essere semplicemente ignorato. In caso contrario, sarà necessaria un'indagine approfondita su quel sistema a causa di un problema di sicurezza.
Quando una scheda di rete è in modalità promiscua, può leggere tutto il traffico ricevuto anziché solo i pacchetti ad essa indirizzati. Supponiamo che per eth1, la modalità promiscua sia fondamentalmente utilizzata per passare tutto il traffico che "eth1" riceve piuttosto che solo i frame indirizzati ad esso. Una scheda di rete di solito è in modalità promiscua quando:
- Se è stato configurato manualmente in quella modalità utilizzando il comando ifconfig.
- Se viene utilizzato uno strumento di monitoraggio della rete, come tcpdump ecc.
- Nella rete bridge, la scheda NIC è richiesta principalmente per funzionare in modalità promiscua.
Come impostare manualmente una scheda di rete in modalità promiscua?
Per impostare un'interfaccia in modalità promiscua puoi utilizzare uno di questi comandi, l'uso del comando 'ip' è il modo più recente.
# ifconfig [interface] promisc
# ip link set [interface] promisc on
Per identificare se la NIC è stata impostata in modalità promiscua, utilizzare il comando ifconfig.
# ifconfig eth1 eth1 Link encap:Ethernet HWaddr 08:00:27:CD:20:16 inet addr:192.168.200.56 Bcast:192.168.255.255 Mask:255.255.0.0 inet6 addr: 2606:b400:c10:6044:a00:27ff:fecd:2016/64 Scope:Global inet6 addr: fe80::a00:27ff:fecd:2016/64 Scope:Link UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:22685771 errors:0 dropped:83424 overruns:0 frame:0 TX packets:13461 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1604651517 (1.4 GiB) TX bytes:1475694 (1.4 MiB)
In alternativa, usa il comando "ip" e grep per il flag promisc:
# ip a show eth1 | grep -i promisc 3: eth1: [BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP] mtu 1500 qdisc pfifo_fast state UP qlen 1000
Impostazioni persistenti
Per impostare l'interfaccia in modalità promiscua in modo persistente; Per prima cosa, modifica il file ifcfg-ethX e aggiungi "PROMISC=yes" alla fine delle opzioni.
# vim /etc/sysconfig/network-scripts/ifcfg-eth1 PROMISC=yes <==