{
    "mode": "man",
    "parameter": "arping",
    "section": "8",
    "url": "https://www.chedong.com/phpMan.php/man/arping/8/json",
    "generated": "2026-06-03T00:20:28Z",
    "synopsis": "arping [-0aAbBdDeFhpqrRuUv] [-S host/ip] [-T host/ip] [-s MAC]    [-t MAC] [-c count] [-i in‐\nterface] [ -w seconds ] [ -W seconds ] [ -V vlan ] [ -Q priority ] [ -g group ] <host | -B>\narping --help",
    "sections": {
        "NAME": {
            "content": "arping - sends arp and/or ip pings to a given host\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "arping [-0aAbBdDeFhpqrRuUv] [-S host/ip] [-T host/ip] [-s MAC]    [-t MAC] [-c count] [-i in‐\nterface] [ -w seconds ] [ -W seconds ] [ -V vlan ] [ -Q priority ] [ -g group ] <host | -B>\n\narping --help\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "The arping utility sends ARP and/or ICMP requests to the  specified  host  and  displays  the\nreplies. The host may be specified by its hostname, its IP address, or its MAC address.\n\nOne request is sent each second.\n\nWhen pinging an IP an ARP who-has query is sent. When pinging a MAC address a directed broad‐\ncast ICMP Echo request is sent. For more technical explanation and an  FAQ,  see  the  README\nfile.\n\nNote on timing\n\nARP  packets  are usually replied to (on a LAN) so fast that the OS task scheduler can’t keep\nup to get exact enough timing.  On an idle system the roundtrip times will be pretty much ac‐\ncurate, but with more load the timing gets less exact.\n\nTo get more exact timing on a non-idle system, re-nice arping to -15 or so.\n\n# nice -n -15 arping foobar\n\nThis is not just an issue with arping, it is with normal ping also (at least it is on my sys‐\ntem). But it doesn’t show up as much with ping since arping packets (when pinging IP) doesn’t\ntraverse the IP stack when received and are therefore replied to faster.\n",
            "subsections": []
        },
        "OPTIONS": {
            "content": "--help Show extended help. Not quite as extensive as this manpage, but more than -h.\n\n-0     Use this option to ping with source IP address 0.0.0.0. Use this when you haven’t con‐\nfigured your interface yet.  Note that this may get the MAC-ping unanswered.  This  is\nan alias for -S 0.0.0.0.\n\n-a     Audible ping.\n\n-A     Only count addresses matching requested address (This *WILL* break most things you do.\nOnly useful if you are arpinging many hosts at once. See arping-scan-net.sh for an ex‐\nample).\n\n-b     Like -0 but source broadcast source address (255.255.255.255).  Note that this may get\nthe arping unanswered since it’s not normal behavior for a host.\n\n-B     Use instead of host if you want to address 255.255.255.255.\n\n-c count\nOnly send count requests.\n\n-C count\nOnly wait for count replies, regardless of -c and -w.\n\n-d     Find duplicate replies. Exit with 1 if there are answers from two  different  MAC  ad‐\ndresses.\n\n-D     Display answers as exclamation points and missing packets as dots.  Like flood ping on\na Cisco.\n\n-e     Like -a but beep when there is no reply.\n\n-F     Don’t try to be smart about the interface name. Even if this switch is not  given,  -i\ndisables this smartness.\n\n-g group\nsetgid() to this group instead of the nobody group.\n\n-h     Displays a help message and exits.\n\n-i interface\nDon’t guess, use the specified interface.\n\n-m type\nType of timestamp to use for incoming packets.  Use -vv when pinging to list available\nones.\n\n-p     Turn on promiscious mode on interface, use this if you don’t \"own\" the MAC address you\nare using.\n\n-P     Send ARP replies instead of requests. Useful with -U.\n\n-q     Does not display messages, except error messages.\n\n-Q priority\n802.1p priority to set. Should be used with 802.1Q tag (-V).  Defaults to 0.\n\n-r     Raw output: only the MAC/IP address is displayed for each reply.\n\n-R     Raw output: Like -r but shows \"the other one\", can be combined with -r.\n\n-s MAC Set source MAC address. You may need to use -p with this.\n\n-S IP  Like  -b  and -0 but with set source address.  Note that this may get the arping unan‐\nswered if the target does not have routing to the IP. If you don’t own the IP you  are\nusing,  you may need to turn on promiscious mode on the interface (with -p). With this\nswitch you can find out what IP-address a host has without taking an IP-address  your‐\nself.\n\n-t MAC Set target MAC address to use when pinging IP address.\n\n-T IP  Use  -T as target address when pinging MACs that won’t respond to a broadcast ping but\nperhaps to a directed broadcast.\n\nExample:\n\nTo check the address of MAC-A, use knowledge of MAC-B and IP-B.\n\n$ arping -S <IP-B> -s <MAC-B> -p <MAC-A>\n\n-u     Show index=received/sent instead of just index=received when\npinging MACs.\n\n-U     Send unsolicited ARP. This sets the destination MAC address in\nthe ARP frame to the broadcast address. Unsolicited ARP is used\nto update the neighbours’ ARP caches.\n\nExample:\n\n$ arping -i <interface> -U <interface IP>\n\n-v     Verbose output. Use twice for more messages.\n\n-V vlan\nVLAN tag to set. Defaults to no VLAN tag.\n\n-w sec Specify a timeout before ping exits regardless of how many packets have been sent or received.\n\n-W sec Time to wait between pings.\n\n",
            "subsections": []
        },
        "EXAMPLES": {
            "content": "# arping -c 3 88.1.180.225\nARPING 88.1.180.225\n60 bytes from 00:11:85:4c:01:01 (88.1.180.225): index=0 time=13.910 msec\n60 bytes from 00:11:85:4c:01:01 (88.1.180.225): index=1 time=13.935 msec\n60 bytes from 00:11:85:4c:01:01 (88.1.180.225): index=2 time=13.944 msec\n\n--- 88.1.180.225 statistics ---\n3 packets transmitted, 3 packets received,   0% unanswered\n\n# arping -c 3 00:11:85:4c:01:01\nARPING 00:11:85:4c:01:01\n60 bytes from 88.1.180.225 (00:11:85:4c:01:01): icmpseq=0 time=13.367 msec\n60 bytes from 88.1.180.225 (00:11:85:4c:01:01): icmpseq=1 time=13.929 msec\n60 bytes from 88.1.180.225 (00:11:85:4c:01:01): icmpseq=2 time=13.929 msec\n\n--- 00:11:85:4c:01:01 statistics ---\n3 packets transmitted, 3 packets received,   0% unanswered\n\n# arping -C 2 -c 10 -r 88.1.180.225\n00:11:85:4c:01:01\n00:11:85:4c:01:01\n",
            "subsections": []
        },
        "BUGS": {
            "content": "You  have  to  use  -B  instead  of  arpinging  255.255.255.255,  and  -b   instead   of   -S\n255.255.255.255. This is libnets fault.\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "ping(8), arp(8), rarp(8)\n",
            "subsections": []
        },
        "AUTHOR": {
            "content": "Arping was written by Thomas Habets <thomas@habets.se>.\n\nhttp://www.habets.pp.se/synscan/\n\ngit clone http://github.com/ThomasHabets/arping.git\n\n\n\narping                                     21th June, 2003                                 arping(8)",
            "subsections": []
        }
    },
    "summary": "arping - sends arp and/or ip pings to a given host",
    "flags": [],
    "examples": [
        "# 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): icmpseq=0 time=13.367 msec",
        "60 bytes from 88.1.180.225 (00:11:85:4c:01:01): icmpseq=1 time=13.929 msec",
        "60 bytes from 88.1.180.225 (00:11:85:4c:01:01): icmpseq=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"
    ],
    "see_also": [
        {
            "name": "ping",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/ping/8/json"
        },
        {
            "name": "arp",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/arp/8/json"
        },
        {
            "name": "rarp",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/rarp/8/json"
        }
    ],
    "tldr": {
        "source": "official",
        "description": "Discover and probe hosts in a network using the ARP protocol.",
        "examples": [
            {
                "description": "Ping a host by ARP request packets",
                "command": "sudo arping {{host_ip}}"
            },
            {
                "description": "Ping a host on a specific [I]nterface",
                "command": "sudo arping -I {{interface}} {{host_ip}}"
            },
            {
                "description": "Ping a host and [f]inish after the first reply",
                "command": "sudo arping -f {{host_ip}}"
            },
            {
                "description": "Ping a host a specific number ([c]ount) of times",
                "command": "sudo arping -c {{count}} {{host_ip}}"
            },
            {
                "description": "Broadcast ARP request packets to update neighbours' ARP caches ([U]nsolicited ARP mode)",
                "command": "sudo arping -U {{ip_to_broadcast}}"
            },
            {
                "description": "[D]etect duplicated IP addresses in the network by sending ARP requests with a 3 second timeout",
                "command": "sudo arping -D -w {{3}} {{ip_to_check}}"
            }
        ]
    }
}