ARP(8)

NAME
arp - address resolution display and control

SYNOPSIS
arp [-adn] [-V rdomain] hostname
arp [-F] [-f file] [-V rdomain] -s hostname ether_addr [temp | permanent] [pub]
arp -W ether_addr [iface]

DESCRIPTION
The 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:

-a  Display all of the current ARP entries. See also the -d option below. The following information will be printed:

    Host
        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)”.

    Netif
        The network interface associated with the ARP entry.

    Expire
        The time until expiry of the entry. If the entry is marked “permanent” or “static”, it will never expire.

    Flags
        Flags on the ARP entry, in a single letter. They are: local (‘l’) and published (‘p’).

-d  Delete an entry for the host called hostname. Alternatively, the -d flag may be combined with the -a flag to delete all entries, with hostname lookups automatically disabled. Only the superuser may delete entries.

-F  Force existing entries for the given host to be overwritten (only relevant to the -f and -s options).

-f file
    Process entries from file to be set in the ARP tables. See the -s option for a description of the file format and the effect of the -F option.

-n  Do not perform domain name resolution. If a name cannot be resolved without DNS, an error will be reported.

    -s hostname ether_addr [temp | permanent] [pub] 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. The entry will be static (will not time out) unless the word temp is given in the command. A static ARP entry can be overwritten by network traffic, unless the word permanent is given. If the word pub is 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.

    If the entry already exists for the given host, it will not be replaced unless -F is given.

-V rdomain
    Select the routing domain.

-W ether_addr [iface]
    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.

FILES
/etc/ethers
    Ethernet host name database.

EXAMPLES
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 204.1.2.3 and 204.1.2.4:

    # arp -s 204.1.2.3 00:90:27:bb:cc:dd pub
    # arp -s 204.1.2.4 00:90:27:bb:cc:dd pub

SEE ALSO
inet_addr(3), arp(4), ethers(5), ifconfig(8), ndp(8)

HISTORY
The arp command appeared in 4.3BSD. Wake on LAN functionality was added in OpenBSD 4.9.