How to: Detect Duplicate IP Address With arping command under Linux

last updated in Categories , , , , , , , ,

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
$ sudo arping -I eth0 -c 3

ARPING from ra0
Unicast reply from [00:18:39:6A:C6:8B]  2.232ms
Unicast reply from [00:18:39:6A:C6:8B]  1.952ms
Sent 3 probes (1 broadcast(s))
Received 3 response(s)


  • -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
If 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 $?



Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

8 comment

  1. 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.

  2. 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

  3. 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”
    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

  4. 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 :)

    Still, have a question? Get help on our forum!