arpd - userspace arp daemon.
| Use Case | Command | Description |
|---|---|---|
| π€ Dump database | arpd -l -b /var/tmp/arpd.db | Print database to stdout and exit |
| π₯ Load from file | arpd -f file -b /var/tmp/arpd.db | Read ARP database from text file |
| π Passive collection | arpd -b /var/tmp/arpd.db | Only listen, no kernel interference |
| π§ Kernel helper | arpd -b /var/tmp/arpd.db -a 1 eth0 | Enable own queries, kernel leads |
| π Replace kernel | arpd -b /var/tmp/arpd.db -a 3 -k eth0 eth1 | Suppress kernel broadcasts, arpd controls |
| π Graceful stop | killall arpd | Syncs DB and restores sysctl |
Usage: arpd [ -lkh? ] [ -a N ] [ -b dbase ] [ -B number ] [ -f file ] [-p interval ] [ -n time ] [ -R rate ] [ <INTERFACES> ]
The arpd daemon collects gratuitous ARP information, saving it on local disk and feeding it to the kernel on demand to avoid redundant broadcasting due to limited size of the kernel ARP cache.
-h, -? π Print help-l π€ Dump the arpd database to stdout and exit. Output: interface index, IP address, MAC address. Dead hosts show FAILED : time.-f <FILE> π₯ Read an arpd database from FILE (text format as dumped by -l). Exit after load, optionally list result with -l. Use - for stdin.-b <DATABASE> π Location of the database file. Default: /var/lib/arpd/arpd.db.-a <NUMBER> π’ Number of broadcast queries to send before a host is considered dead. When arpd acts as kernel helper without this and insufficient data, 1βsecond gaps may appear. Not fatal, but noticeable.-k π Suppress kernel broadcast queries. Only useful with -a.-n <TIME> β³ Timeout for negative cache (seconds). After a lookup fails, arpd waits this long before retrying. Use only with -k. Keep it close to a typical boot time without gratuitous ARP. Default: 60 seconds.-p <TIME> β° Polling interval to the kernel ARP table (seconds, float allowed). Default: 30.-R <RATE> ποΈ Max steady broadcast rate (packets per second). Default: 1.-B <NUMBER> π Number of broadcasts sent backβtoβback. Default: 3. Together with -R, ensures no more than B + R * T queries over interval T.<INTERFACES> π List of network interfaces to watch (space separated). If omitted, monitors all interfaces, but assumes the user has already adjusted app_solicit in sysctl.In order for arpd to serve as an ARP resolver, the kernel must be compiled with CONFIG_ARPD. If no interface list is given on the command line, app_solicit of the relevant interfaces must be enabled in /proc/sys/net/ipv4/neigh/*. Without this, arpd still collects gratuitous ARP information into its database.
arpd -b /var/tmp/arpd.db
Start arpd to collect gratuitous ARP, without touching kernel functionality.
killall arpd ; arpd -l -b /var/tmp/arpd.db
Dump the database after some collection time.
arpd -b /var/tmp/arpd.db -a 1 eth0 eth1
Enable kernel helper, leaving the leading role to the kernel.
arpd -b /var/tmp/arpd.db -a 3 -k eth0 eth1
Completely replace kernel resolution on interfaces eth0 and eth1. The kernel still does unicast probing, but all broadcast activity is suppressed and controlled by arpd. This is the intended operational mode, but it is not the default to avoid accidental overly aggressive behaviour.
28 June, 2007 ARPD(8)
Generated by phpman v4.9.26-1-g511901d · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-08-09 09:39 @2600:1f28:365:80b0:50b3:453e:ff52:20f7
CrawledBy CCBot/2.0 (https://commoncrawl.org/faq/)
Enhanced by LLM: deepseek-v4-flash / taotoken.net / www.chedong.com - original format