Q. I run quite large network with different subnets. I’d like to know how can I find out duplicate IP address under Linux / UNIX?
A. You can use arpping command. The arping utility performs an action similar to ping command, but at the Ethernet layer. You can send ARP REQUEST to a neighbor host / computers.
Task: Send ARP request
Let us find out reachability of an IP on the local Ethernet with arping i.e send ARP request 192.168.1.1:
$ sudo arping -I eth0 -c 3 192.168.1.1
Output:
ARPING 192.168.1.1 from 192.168.1.106 ra0 Unicast reply from 192.168.1.1 [00:18:39:6A:C6:8B] 2.232ms Unicast reply from 192.168.1.1 [00:18:39:6A:C6:8B] 1.952ms Sent 3 probes (1 broadcast(s)) Received 3 response(s)
Where,
- -I eth0 : Specify network interface i.e. name of network device where to send ARP REQUEST packets. This option is required.
- -c 3 : Stop after sending 3 ARP REQUEST packets
Task: Find duplicate IP
The -D option specifies duplicate address detection mode (DAD). It returns exit status 0, if DAD succeeded i.e. no replies are received.
$ sudo arping -D -I eth0 -c 2 192.168.1.1
If 192.168.1.1 duplicated you should see zero exit status:
$ echo $?
Always use following syntax for duplicate address detection with arping:
$ sudo arping -D -I <interface-name> -c 2 <IP-ADDRESS-TO-TEST>
$ echo $?
References:
- Ethernet Layer Tools – arping
- arping man page
🐧 8 comments so far... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
Be aware that there is an arping as part of the iproute2 package, and this arping is present on Red Hat systems when newly installed – and perhaps others.
This version is available from Thomas Habets.
David,
thanks for pointing out more information about arping. I believe they follows same syntax.
still the problem persists, even after using lan guard software i am able to find out the mac address of the duplicate ip, it makes my network to respond to mail server requests to slow down partially
can we check duplicate ip online
Q. I want arpiing library to be run in a thread and check contiuously for IP address collision. If duplicate IP collosion occurs it should notify my process as well as store the last host m/c mac as a proc entry? I did change arping utility to library and spawn a thread with the following argument to libary
“arping -d -I eth0 -c 2 10.129.170.131”
but i am getting the following error on 3 rd packet sent :
arping: libnet_build_arp(): libnet_pblock_find(): couldn’t find protocol block
arping: libnet_build_ethernet(): libnet_pblock_find(): couldn’t find protocol block
good one.
If you are in a bonded interface, dont forget to put ” -I bond0″. :)
Hi,
Can you please show to find [MAC flapping] same mac address being learned on different ports . usually to trouble shoot this we collect mac table multiple time and find the single mac address being learned on different ports .My colleague are using some tool but they want to share it with me.
plzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz help me with this :)
xarp is the tool to check that within the same vlan (broadcast domain)