arping β sends arp and/or ip pings to a given host
| Use Case | Command | Description |
|---|---|---|
| π Basic ARP ping to IP | arping 192.168.1.1 | Send ARP who-has requests to an IP address |
| π’ Limited count | arping -c 3 192.168.1.1 | Send exactly 3 requests then exit |
| π Ping by MAC address | arping 00:11:85:4c:01:01 | Send directed broadcast ICMP Echo to a MAC |
| π Find duplicate IPs | arping -d 192.168.1.1 | Exit with 1 if two different MACs reply |
| π’ Unsolicited ARP | arping -U -i eth0 192.168.1.1 | Broadcast unsolicited ARP to update neighbour caches |
| π― Specific source IP | arping -S 10.0.0.1 192.168.1.1 | Use given source IP address (may need -p) |
| π Flood ping display | arping -D 192.168.1.1 | Show replies as ! and misses as . |
| π Raw output | arping -r 192.168.1.1 | Print only MAC/IP address per reply |
arping [-0aAbBdDeFhpqrRuUv] [-S host/ip] [-T host/ip] [-s MAC] [-t MAC] [-c count] [-i interface] [ -w seconds ] [ -W seconds ] [ -V vlan ] [ -Q priority ] [ -g group ] <host | -B>
arping --help
The arping utility sends ARP and/or ICMP requests to the specified host and displays the replies. The host may be specified by its hostname, its IP address, or its MAC address.
One request is sent each second.
When pinging an IP an ARP who-has query is sent. When pinging a MAC address a directed broadcast ICMP Echo request is sent. For more technical explanation and an FAQ, see the README file.
ARP packets are usually replied to (on a LAN) so fast that the OS task scheduler canβt keep up to get exact enough timing. On an idle system the roundtrip times will be pretty much accurate, but with more load the timing gets less exact.
To get more exact timing on a non-idle system, re-nice arping to -15 or so.
# nice -n -15 arping foobar
This is not just an issue with arping, it is with normal ping also (at least it is on my system). But it doesnβt show up as much with ping since arping packets (when pinging IP) doesnβt traverse the IP stack when received and are therefore replied to faster.
--help β Show extended help. Not quite as extensive as this manpage, but more than -h.-0 β π Ping with source IP address 0.0.0.0. Use when you havenβt configured your interface yet. Note that this may get the MAC-ping unanswered. This is an alias for -S 0.0.0.0.-a β π Audible ping.-A β π― Only count addresses matching requested address (This WILL break most things you do. Only useful if you are arpinging many hosts at once. See arping-scan-net.sh for an example).-b β Like -0 but source broadcast source address (255.255.255.255). Note that this may get the arping unanswered since itβs not normal behavior for a host.-B β Use instead of host if you want to address 255.255.255.255.-c <count> β π’ Only send count requests.-C <count> β π’ Only wait for count replies, regardless of -c and -w.-d β π Find duplicate replies. Exit with 1 if there are answers from two different MAC addresses.-D β π Display answers as exclamation points and missing packets as dots. Like flood ping on a Cisco.-e β Like -a but beep when there is no reply.-F β Donβt try to be smart about the interface name. Even if this switch is not given, -i disables this smartness.-g <group> β π₯ setgid() to this group instead of the nobody group.-h β β Displays a help message and exits.-i <interface> β π Donβt guess, use the specified interface.-m <type> β π Type of timestamp to use for incoming packets. Use -vv when pinging to list available ones.-p β ποΈ Turn on promiscious mode on interface, use this if you donβt βownβ the MAC address you are using.-P β Send ARP replies instead of requests. Useful with -U.-q β π Does not display messages, except error messages.-Q <priority> β π·οΈ 802.1p priority to set. Should be used with 802.1Q tag (-V). Defaults to 0.-r β π Raw output: only the MAC/IP address is displayed for each reply.-R β π Raw output: Like -r but shows βthe other oneβ, can be combined with -r.-s <MAC> β βοΈ Set source MAC address. You may need to use -p with this.-S <IP> β π― Like -b and -0 but with set source address. Note that this may get the arping unanswered if the target does not have routing to the IP. If you donβt own the IP you are using, you may need to turn on promiscious mode on the interface (with -p). With this switch you can find out what IP-address a host has without taking an IP-address yourself.-t <MAC> β π― Set target MAC address to use when pinging IP address.-T <IP> β Use -T as target address when pinging MACs that wonβt respond to a broadcast ping but perhaps to a directed broadcast.Example: To check the address of MAC-A, use knowledge of MAC-B and IP-B.$ arping -S <IP-B> -s <MAC-B> -p <MAC-A>
-u β Show index=received/sent instead of just index=received when pinging MACs.-U β π’ Send unsolicited ARP. This sets the destination MAC address in the ARP frame to the broadcast address. Unsolicited ARP is used to update the neighboursβ ARP caches.Example:$ arping -i <interface> -U <interface IP>
-v β π£οΈ Verbose output. Use twice for more messages.-V <vlan> β π·οΈ VLAN tag to set. Defaults to no VLAN tag.-w <sec> β β±οΈ Specify a timeout before ping exits regardless of how many packets have been sent or received.-W <sec> β β±οΈ Time to wait between pings.# arping -c 3 88.1.180.225
ARPING 88.1.180.225
60 bytes from 00:11:85:4c:01:01 (88.1.180.225): index=0 time=13.910 msec
60 bytes from 00:11:85:4c:01:01 (88.1.180.225): index=1 time=13.935 msec
60 bytes from 00:11:85:4c:01:01 (88.1.180.225): index=2 time=13.944 msec
--- 88.1.180.225 statistics ---
3 packets transmitted, 3 packets received, 0% unanswered
# arping -c 3 00:11:85:4c:01:01
ARPING 00:11:85:4c:01:01
60 bytes from 88.1.180.225 (00:11:85:4c:01:01): icmp_seq=0 time=13.367 msec
60 bytes from 88.1.180.225 (00:11:85:4c:01:01): icmp_seq=1 time=13.929 msec
60 bytes from 88.1.180.225 (00:11:85:4c:01:01): icmp_seq=2 time=13.929 msec
--- 00:11:85:4c:01:01 statistics ---
3 packets transmitted, 3 packets received, 0% unanswered
# arping -C 2 -c 10 -r 88.1.180.225
00:11:85:4c:01:01
00:11:85:4c:01:01
You have to use -B instead of arpinging 255.255.255.255, and -b instead of -S 255.255.255.255. This is libnets fault.
Arping was written by Thomas Habets <thomas AT habets.se>.
Generated by phpman v4.9.25-25-g40dbf62 · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-07-15 13:56 @216.73.216.85
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Enhanced by LLM: deepseek-v4-flash / taotoken.net / www.chedong.com - original format