Arping is a computer software tool for discovering and probing hosts on a computer network. Arping probes hosts on the attached network link by sending Link Layer frames using the Address Resolution Protocol (ARP) request method addressed to a host identified by its MAC address of the network interface. The utility program may use ARP to resolve an IP address provided by the user.
The function of arping is analogous to the utility ping for probing the network with the Internet Control Message Protocol (ICMP) at the Internet Layer of the Internet Protocol Suite.
Two popular arping implementations exist. One is part of Linux iputils suite, and cannot resolve MAC addresses to IP addresses. The other arping implementation, written by Thomas Habets, can ping hosts by MAC address as well as by IP address, and adds more features. Having both arping implementations on a system may introduce conflicts. Ubuntu, for example, handles this by removing iputils arping if Habets's arping is installed (NetworkManager will also be removed, because it requires the iputils arping).
In networks employing repeaters that implement proxy ARP, the ARP response may originate from such proxy hosts and not directly from the probed target.
Example session output of arping from iputils:
ARPING 192.168.39.120 from 192.168.39.1 eth0
Unicast reply from 192.168.39.120 [00:01:80:38:F7:4C] 0.810ms
Unicast reply from 192.168.39.120 [00:01:80:38:F7:4C] 0.607ms
Unicast reply from 192.168.39.120 [00:01:80:38:F7:4C] 0.602ms
Unicast reply from 192.168.39.120 [00:01:80:38:F7:4C] 0.606ms
Sent 4 probes (1 broadcast(s))
Received 4 response(s)
Example session output from Thomas Habets's arping:
60 bytes from 00:04:5a:4b:b6:ec (192.168.16.96): index=0 time=292.000 usec
60 bytes from 00:04:5a:4b:b6:ec (192.168.16.96): index=1 time=310.000 usec
60 bytes from 00:04:5a:4b:b6:ec (192.168.16.96): index=2 time=256.000 usec
--- 192.168.16.96 statistics ---
3 packets transmitted, 3 packets received, 0% unanswered (0 extra)