Rilevare un conflitto di indirizzi IPv4 in Linux

Rilevare un conflitto di indirizzi IPv4 in Linux

Può capitare che all’interno della nostra rete LAN vi sia un conflitto di indirizzi IP perchè più dispositivi di rete o computer rivendicano lo stesso indirizzo IP.

Il conflitto di indirizzi IP può verificarsi anche quando sono presenti più server DHCP collegati alla rete locale, che forniscono indirizzi IP nella stessa LAN.

Quando ci si accorge di avere una rete instabile con continue disconnessioni e si sospetta che ciò sia dovuto a conflitti di indirizzi IP, è possibile utilizzare in tutte la maggiori distribuzioni uno strumento chiamato arp-scan per rilevare conflitti di indirizzi IP in Linux.

Per installarlo in Ubuntu/Debina:

sudo apt-get install arp-scan

O in Fedora/Centos

sudo dnf install arp-scan

Dopo l’installazione, nel caso disponessimo di più interfacce (come nel mio caso), o perchè magari non ricordiamo il nome, diamo il comando:

[root@Server francesco]# ifconfig
enp0s31f6: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.16.1  netmask 255.255.255.0  broadcast 192.168.16.255
        inet6 fe80::64ab:bf6d:9255:3376  prefixlen 64  scopeid 0x20<link>
        ether 60:4d:7b:a4:55:4d  txqueuelen 1000  (Ethernet)
        RX packets 2064599  bytes 1392244008 (1.2 GiB)
        RX errors 0  dropped 216  overruns 0  frame 0
        TX packets 1635887  bytes 1713526288 (1.5 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 16  memory 0xdf100000-df120000  

enp0s31f6.200: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.20.0.250  netmask 255.255.255.0  broadcast 172.20.0.255
        inet6 fe80::64ab:bf6d:9255:3376  prefixlen 64  scopeid 0x20<link>
        ether 60:4d:7b:a4:55:4d  txqueuelen 1000  (Ethernet)
        RX packets 710769  bytes 156084522 (148.8 MiB)
        RX errors 0  dropped 192  overruns 0  frame 0
        TX packets 180549  bytes 1594856534 (1.4 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 83  bytes 20856 (20.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 83  bytes 20856 (20.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Nel caso volessimo effettuare la scansione sull ‘interfaccia enp0s31f6.200:

[root@Server francesco]# sudo arp-scan -I enp0s31f6.200 -l
Interface: enp0s31f6.200, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.9.5 with 256 hosts (https://github.com/royhills/arp-scan)
172.20.0.1	30:36:a8:50:2a:69	Cisco Systems, Inc
172.20.0.5	00:1c:29:50:66:38	VMware, Inc.
172.20.0.10	00:42:5a:c3:60:43	(Unknown)
172.20.0.7	00:1c:29:50:66:28	VMware, Inc.
172.20.0.7	00:1c:29:50:66:23	VMware, Inc. (DUP: 2)

Dall’esempio sopra, possiamo notare che l’IP 172.20.0.7 è in conflitto perchè è utilizzato da due server nella stessa LAN.

Nel caso volessimo analizzare un singolo indirizzo IP in una rete con molti pc, digitiamo:

[root@Server francesco]# arp-scan -I enp0s31f6.200 -l | grep 172.20.0.7

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *