address resolution display and
arp program displays and modifies the
Internet-to-Ethernet address translation tables used by the address
resolution protocol (ARP).
arp displays the current ARP entry for
hostname when no optional parameters are supplied.
hostname may be specified by name or by number, using
Internet dot notation.
arp can also be used to send Wake on LAN
(WoL) frames over a local Ethernet network to one or more hosts using their
link layer (hardware) addresses. WoL functionality is generally enabled in a
machine's BIOS and can be used to power on machines from a remote system
without having physical access to them.
The options are as follows:
- Display all of the current ARP entries. See also the
-doption below. The following information will be printed:
- The network address of the host.
- Ethernet Address
- The Ethernet address of the host. If the address is not available, it will be displayed as “(incomplete)”.
- The network interface associated with the ARP entry.
- The time until expiry of the entry. If the entry is marked “permanent” or “static”, it will never expire.
- Flags on the ARP entry, in a single letter. They are: local (‘l’), proxy (‘P’) and published (‘p’).
- Delete an entry for the host called hostname.
-dflag may be combined with the
-aflag to delete all entries, with hostname lookups automatically disabled. Only the superuser may delete entries.
- Force existing entries for the given host to be overwritten (only relevant
- Process entries from file to be set in the ARP
tables. Any entries in the file that already exist for a given host will
not be overwritten unless
-Fis given. Entries in the file should be of the form:hostname ether_addr [
The entry will be static (will not time out) unless the word
tempis given in the command. A static ARP entry can be overwritten by network traffic, unless the word
permanentis given. If the word
pubis given, the entry will be “published”; that is, this system will act as an ARP server, responding to requests for hostname even though the host address is not its own. This behavior has traditionally been called proxy ARP.
- Show network addresses as numbers (normally
arpattempts to display addresses symbolically).
-shostname ether_addr [
- Create an ARP entry for the host called hostname
with the Ethernet address ether_addr. The Ethernet
address is given as six hexadecimal bytes separated by colons.
tempmodifiers may be specified with meanings as given above.
If the entry already exists for the given host, it will not be replaced unless
- Select the routing domain.
- Send the Wake on LAN frame from all interfaces on the local machine that are up, if iface has not been specified. Otherwise the frame will be sent from iface. ether_addr is the Ethernet address of the remote machine or a hostname entry in /etc/ethers. This option cannot be used in combination with any other option.
- Ethernet host name database.
View the current arp(4) table, showing network addresses symbolically:
$ arp -a
Create a permanent entry (one that cannot be overwritten by other network traffic):
# arp -s 10.0.0.2 00:90:27:bb:cc:dd permanent
Create proxy ARP entries on interface fxp0 (MAC address 00:90:27:bb:cc:dd), for IP addresses 188.8.131.52 and 184.108.40.206:
# arp -s 220.127.116.11 00:90:27:bb:cc:dd pub # arp -s 18.104.22.168 00:90:27:bb:cc:dd pub
inet_addr(3), arp(4), ethers(5), ifconfig(8), ndp(8)
arp command appeared in
4.3BSD. Wake on LAN functionality was added in