---
name: "arp"
section: "8"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["linux", "freebsd", "openbsd", "macos"]
url: "https://new.carta.tech/arp"
---

# arp(8)

address resolution display and control

## 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)](/arp/4.md) 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)](/inet_addr/3.md), [arp(4)](/arp/4.md), [ethers(5)](/ethers/5.md), [ifconfig(8)](/ifconfig/8.md), [ndp(8)](/ndp/8.md)

## HISTORY

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