# man > ARP(8)

[ARP(8)](https://www.chedong.com/phpMan.php/man/ARP/8/markdown)                           Linux System Administrator's Manual                          [ARP(8)](https://www.chedong.com/phpMan.php/man/ARP/8/markdown)



## NAME
       arp - manipulate the system ARP cache

## SYNOPSIS
       **arp** [**-vn**] [**-H** _type_] [**-i** _if_] [**-ae**] [_hostname_]

       **arp** [**-v**] [**-i** _if_] **-d** _hostname_ [**pub**]

       **arp** [**-v**] [**-H** _type_] [**-i** _if_] **-s** _hostname_ _hw_addr_ [**temp**]

       **arp** [**-v**] [**-H** _type_] [**-i** _if_] **-s** _hostname_ _hw_addr_ [**netmask** _nm_] **pub**

       **arp** [**-v**] [**-H** _type_] [**-i** _if_] **-Ds** _hostname_ _ifname_ [**netmask** _nm_] **pub**

       **arp** [**-vnD**] [**-H** _type_] [**-i** _if_] **-f** [_filename_]


## DESCRIPTION
       **Arp**  manipulates or displays the kernel's IPv4 network neighbour cache. It can add entries to
       the table, delete one or display the current content.

       **ARP** stands for Address Resolution Protocol, which is used to find the  media  access  control
       address of a network neighbour for a given IPv4 Address.

## MODES
       **arp**  with  no  mode  specifier will print the current content of the table. It is possible to
       limit the number of entries printed, by specifying an hardware address type,  interface  name
       or host address.

       **arp**  **-d**  _address_  will delete a ARP table entry. Root or netadmin privilege is required to do
       this. The entry is found by IP address. If a hostname is given, it will  be  resolved  before
       looking up the entry in the ARP table.

       **arp** **-s** _address_ _hw_addr_ is used to set up a new table entry. The format of the _hw_addr_ parame‐
       ter is dependent on the hardware class, but for most classes one can assume  that  the  usual
       presentation  can be used.  For the Ethernet class, this is 6 bytes in hexadecimal, separated
       by colons. When adding proxy arp entries (that is those with the **pub**lish flag set) a  **netmask**
       may be specified to proxy arp for entire subnets. This is not good practice, but is supported
       by older kernels because it can be useful. If the **temp** flag is not supplied entries  will  be
       permanent  stored into the ARP cache. To simplify setting up entries for one of your own net‐
       work interfaces, you can use the **arp** **-Ds** _address_ _ifname_ form. In that case the  hardware  ad‐
       dress is taken from the interface with the specified name.


## OPTIONS
### -v, --verbose
              Tell the user what is going on by being verbose.

### -n, --numeric
              shows  numerical  addresses instead of trying to determine symbolic host, port or user
              names.

### -H --hw-type -t
              When setting or reading the ARP cache, this optional parameter tells **arp**  which  class
              of  entries  it  should check for.  The default value of this parameter is **ether** (i.e.
              hardware code 0x01 for IEEE 802.3 10Mbps Ethernet).  Other values might  include  net‐
              work technologies such as ARCnet (**arcnet**) , PROnet (**pronet**) , AX.25 (**ax25**) and NET/ROM
              (**netrom**).

### -a

### -e

### -D, --use-device
              Instead of a hw_addr, the given argument is the name of an interface.   **arp**  will  use
              the MAC address of that interface for the table entry. This is usually the best option
              to set up a proxy ARP entry to yourself.

### -i --device
              Select an interface. When dumping the ARP cache only entries  matching  the  specified
              interface  will  be printed. When setting a permanent or **temp** ARP entry this interface
              will be associated with the entry; if this option is not used, the kernel  will  guess
              based  on  the routing table. For **pub** entries the specified interface is the interface
              on which ARP requests will be answered.
              **NOTE:** This has to be different from the interface to which the IP  datagrams  will  be
              routed.   **NOTE:** As of kernel 2.2.0 it is no longer possible to set an ARP entry for an
              entire subnet. Linux instead does automagic proxy arp when a route exists  and  it  is
              forwarding.  See  [**arp**(7)](https://www.chedong.com/phpMan.php/man/arp/7/markdown)  for  details. Also the **dontpub** option which is available for
              delete and set operations cannot be used with 2.4 and newer kernels.

### -f --file
              Similar to the **-s** option, only this time the address info is taken from file _filename_.
              This can be used if ARP entries for a lot of hosts have to be set up.  The name of the
              data file is very often _/etc/ethers_, but this is not official. If no filename is spec‐
              ified _/etc/ethers_ is used as default.

              The  format  of the file is simple; it only contains ASCII text lines with a hostname,
              and a hardware address separated by whitespace. Additionally the **pub**, **temp** and **netmask**
              flags can be used.

       In  all places where a **hostname** is expected, one can also enter an **IP** **address** in dotted-deci‐
       mal notation.

       As a special case for compatibility the order of the hostname and the hardware address can be
       exchanged.

       Each  complete  entry  in the ARP cache will be marked with the **C** flag. Permanent entries are
       marked with **M** and published entries have the **P** flag.

## EXAMPLES
### /usr/sbin/arp -i eth0 -Ds 10.0.0.2 eth1 pub

       This will answer ARP requests for 10.0.0.2 on eth0 with the MAC address for eth1.

### /usr/sbin/arp -i eth1 -d 10.0.0.1

       Delete the ARP table entry for 10.0.0.1 on interface eth1. This will  match  published  proxy
       ARP entries and permanent entries.

## FILES
       _/proc/net/arp_
       _/etc/networks_
       _/etc/hosts_
       _/etc/ethers_

## SEE ALSO
       [rarp(8)](https://www.chedong.com/phpMan.php/man/rarp/8/markdown), [route(8)](https://www.chedong.com/phpMan.php/man/route/8/markdown), [ifconfig(8)](https://www.chedong.com/phpMan.php/man/ifconfig/8/markdown), [netstat(8)](https://www.chedong.com/phpMan.php/man/netstat/8/markdown)

## AUTHORS
       Fred N. van Kempen <<waltje@uwalt.nl.mugnet.org>>, Bernd Eckenfels <<net-tools@lina.inka.de>>.



net-tools                                    2008-10-03                                       [ARP(8)](https://www.chedong.com/phpMan.php/man/ARP/8/markdown)
