{
    "content": [
        {
            "type": "text",
            "text": "# arp (man)\n\n## NAME\n\narp - manipulate the system ARP cache\n\n## SYNOPSIS\n\narp [-vn] [-H type] [-i if] [-ae] [hostname]\narp [-v] [-i if] -d hostname [pub]\narp [-v] [-H type] [-i if] -s hostname hwaddr [temp]\narp [-v] [-H type] [-i if] -s hostname hwaddr [netmask nm] pub\narp [-v] [-H type] [-i if] -Ds hostname ifname [netmask nm] pub\narp [-vnD] [-H type] [-i if] -f [filename]\n\n## DESCRIPTION\n\nArp  manipulates or displays the kernel's IPv4 network neighbour cache. It can add entries to\nthe table, delete one or display the current content.\n\n## TLDR\n\n> Show and manipulate your system's ARP cache.\n\n- Show the current ARP table:\n  `arp`\n- Show [a]lternative BSD style output format with on fixed columns:\n  `arp -a`\n- [d]elete a specific entry:\n  `sudo arp -d {{address}}`\n- [s]et up a new entry in the ARP table:\n  `sudo arp -s {{address}} {{mac_address}}`\n\n*Source: tldr-pages*\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **MODES**\n- **OPTIONS** (8 subsections)\n- **EXAMPLES** (2 subsections)\n- **FILES**\n- **SEE ALSO**\n- **AUTHORS**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "arp",
        "section": "",
        "mode": "man",
        "summary": "arp - manipulate the system ARP cache",
        "synopsis": "arp [-vn] [-H type] [-i if] [-ae] [hostname]\narp [-v] [-i if] -d hostname [pub]\narp [-v] [-H type] [-i if] -s hostname hwaddr [temp]\narp [-v] [-H type] [-i if] -s hostname hwaddr [netmask nm] pub\narp [-v] [-H type] [-i if] -Ds hostname ifname [netmask nm] pub\narp [-vnD] [-H type] [-i if] -f [filename]",
        "tldr_summary": "Show and manipulate your system's ARP cache.",
        "tldr_examples": [
            {
                "description": "Show the current ARP table",
                "command": "arp"
            },
            {
                "description": "Show [a]lternative BSD style output format with on fixed columns",
                "command": "arp -a"
            },
            {
                "description": "[d]elete a specific entry",
                "command": "sudo arp -d {{address}}"
            },
            {
                "description": "[s]et up a new entry in the ARP table",
                "command": "sudo arp -s {{address}} {{mac_address}}"
            }
        ],
        "tldr_source": "official",
        "flags": [
            {
                "flag": "-v",
                "long": "--verbose",
                "arg": null,
                "description": "Tell the user what is going on by being verbose."
            },
            {
                "flag": "-n",
                "long": "--numeric",
                "arg": null,
                "description": "shows numerical addresses instead of trying to determine symbolic host, port or user names."
            },
            {
                "flag": "-t",
                "long": "--hw-type",
                "arg": null,
                "description": "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)."
            },
            {
                "flag": "-a",
                "long": null,
                "arg": null,
                "description": ""
            },
            {
                "flag": "-e",
                "long": null,
                "arg": null,
                "description": ""
            },
            {
                "flag": "-D",
                "long": "--use-device",
                "arg": null,
                "description": "Instead of a hwaddr, 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."
            },
            {
                "flag": "-i",
                "long": "--device",
                "arg": null,
                "description": "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) for details. Also the dontpub option which is available for delete and set operations cannot be used with 2.4 and newer kernels."
            },
            {
                "flag": "-f",
                "long": "--file",
                "arg": null,
                "description": "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": [
            "This will answer ARP requests for 10.0.0.2 on eth0 with the MAC address for eth1.",
            "Delete the ARP table entry for 10.0.0.1 on interface eth1. This will  match  published  proxy",
            "ARP entries and permanent entries."
        ],
        "see_also": [
            {
                "name": "rarp",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/rarp/8/json"
            },
            {
                "name": "route",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/route/8/json"
            },
            {
                "name": "ifconfig",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/ifconfig/8/json"
            },
            {
                "name": "netstat",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/netstat/8/json"
            }
        ],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 13,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 6,
                "subsections": []
            },
            {
                "name": "MODES",
                "lines": 19,
                "subsections": []
            },
            {
                "name": "OPTIONS",
                "lines": 1,
                "subsections": [
                    {
                        "name": "-v, --verbose",
                        "lines": 2,
                        "flag": "-v",
                        "long": "--verbose"
                    },
                    {
                        "name": "-n, --numeric",
                        "lines": 3,
                        "flag": "-n",
                        "long": "--numeric"
                    },
                    {
                        "name": "-H --hw-type -t",
                        "lines": 6,
                        "flag": "-t",
                        "long": "--hw-type"
                    },
                    {
                        "name": "-a",
                        "lines": 1,
                        "flag": "-a"
                    },
                    {
                        "name": "-e",
                        "lines": 1,
                        "flag": "-e"
                    },
                    {
                        "name": "-D, --use-device",
                        "lines": 4,
                        "flag": "-D",
                        "long": "--use-device"
                    },
                    {
                        "name": "-i --device",
                        "lines": 11,
                        "flag": "-i",
                        "long": "--device"
                    },
                    {
                        "name": "-f --file",
                        "lines": 18,
                        "flag": "-f",
                        "long": "--file"
                    }
                ]
            },
            {
                "name": "EXAMPLES",
                "lines": 1,
                "subsections": [
                    {
                        "name": "/usr/sbin/arp -i eth0 -Ds 10.0.0.2 eth1 pub",
                        "lines": 2
                    },
                    {
                        "name": "/usr/sbin/arp -i eth1 -d 10.0.0.1",
                        "lines": 3
                    }
                ]
            },
            {
                "name": "FILES",
                "lines": 5,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "AUTHORS",
                "lines": 5,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "arp - manipulate the system ARP cache\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "arp [-vn] [-H type] [-i if] [-ae] [hostname]\n\narp [-v] [-i if] -d hostname [pub]\n\narp [-v] [-H type] [-i if] -s hostname hwaddr [temp]\n\narp [-v] [-H type] [-i if] -s hostname hwaddr [netmask nm] pub\n\narp [-v] [-H type] [-i if] -Ds hostname ifname [netmask nm] pub\n\narp [-vnD] [-H type] [-i if] -f [filename]\n\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "Arp  manipulates or displays the kernel's IPv4 network neighbour cache. It can add entries to\nthe table, delete one or display the current content.\n\nARP stands for Address Resolution Protocol, which is used to find the  media  access  control\naddress of a network neighbour for a given IPv4 Address.\n",
                "subsections": []
            },
            "MODES": {
                "content": "arp  with  no  mode  specifier will print the current content of the table. It is possible to\nlimit the number of entries printed, by specifying an hardware address type,  interface  name\nor host address.\n\narp  -d  address  will delete a ARP table entry. Root or netadmin privilege is required to do\nthis. The entry is found by IP address. If a hostname is given, it will  be  resolved  before\nlooking up the entry in the ARP table.\n\narp -s address hwaddr is used to set up a new table entry. The format of the hwaddr parame‐\nter is dependent on the hardware class, but for most classes one can assume  that  the  usual\npresentation  can be used.  For the Ethernet class, this is 6 bytes in hexadecimal, separated\nby colons. When adding proxy arp entries (that is those with the publish flag set) a  netmask\nmay be specified to proxy arp for entire subnets. This is not good practice, but is supported\nby older kernels because it can be useful. If the temp flag is not supplied entries  will  be\npermanent  stored into the ARP cache. To simplify setting up entries for one of your own net‐\nwork interfaces, you can use the arp -Ds address ifname form. In that case the  hardware  ad‐\ndress is taken from the interface with the specified name.\n\n",
                "subsections": []
            },
            "OPTIONS": {
                "content": "",
                "subsections": [
                    {
                        "name": "-v, --verbose",
                        "content": "Tell the user what is going on by being verbose.\n",
                        "flag": "-v",
                        "long": "--verbose"
                    },
                    {
                        "name": "-n, --numeric",
                        "content": "shows  numerical  addresses instead of trying to determine symbolic host, port or user\nnames.\n",
                        "flag": "-n",
                        "long": "--numeric"
                    },
                    {
                        "name": "-H --hw-type -t",
                        "content": "When setting or reading the ARP cache, this optional parameter tells arp  which  class\nof  entries  it  should check for.  The default value of this parameter is ether (i.e.\nhardware code 0x01 for IEEE 802.3 10Mbps Ethernet).  Other values might  include  net‐\nwork technologies such as ARCnet (arcnet) , PROnet (pronet) , AX.25 (ax25) and NET/ROM\n(netrom).\n",
                        "flag": "-t",
                        "long": "--hw-type"
                    },
                    {
                        "name": "-a",
                        "content": "",
                        "flag": "-a"
                    },
                    {
                        "name": "-e",
                        "content": "",
                        "flag": "-e"
                    },
                    {
                        "name": "-D, --use-device",
                        "content": "Instead of a hwaddr, the given argument is the name of an interface.   arp  will  use\nthe MAC address of that interface for the table entry. This is usually the best option\nto set up a proxy ARP entry to yourself.\n",
                        "flag": "-D",
                        "long": "--use-device"
                    },
                    {
                        "name": "-i --device",
                        "content": "Select an interface. When dumping the ARP cache only entries  matching  the  specified\ninterface  will  be printed. When setting a permanent or temp ARP entry this interface\nwill be associated with the entry; if this option is not used, the kernel  will  guess\nbased  on  the routing table. For pub entries the specified interface is the interface\non which ARP requests will be answered.\nNOTE: This has to be different from the interface to which the IP  datagrams  will  be\nrouted.   NOTE: As of kernel 2.2.0 it is no longer possible to set an ARP entry for an\nentire subnet. Linux instead does automagic proxy arp when a route exists  and  it  is\nforwarding.  See  arp(7)  for  details. Also the dontpub option which is available for\ndelete and set operations cannot be used with 2.4 and newer kernels.\n",
                        "flag": "-i",
                        "long": "--device"
                    },
                    {
                        "name": "-f --file",
                        "content": "Similar to the -s option, only this time the address info is taken from file filename.\nThis can be used if ARP entries for a lot of hosts have to be set up.  The name of the\ndata file is very often /etc/ethers, but this is not official. If no filename is spec‐\nified /etc/ethers is used as default.\n\nThe  format  of the file is simple; it only contains ASCII text lines with a hostname,\nand a hardware address separated by whitespace. Additionally the pub, temp and netmask\nflags can be used.\n\nIn  all places where a hostname is expected, one can also enter an IP address in dotted-deci‐\nmal notation.\n\nAs a special case for compatibility the order of the hostname and the hardware address can be\nexchanged.\n\nEach  complete  entry  in the ARP cache will be marked with the C flag. Permanent entries are\nmarked with M and published entries have the P flag.\n",
                        "flag": "-f",
                        "long": "--file"
                    }
                ]
            },
            "EXAMPLES": {
                "content": "",
                "subsections": [
                    {
                        "name": "/usr/sbin/arp -i eth0 -Ds 10.0.0.2 eth1 pub",
                        "content": "This will answer ARP requests for 10.0.0.2 on eth0 with the MAC address for eth1.\n"
                    },
                    {
                        "name": "/usr/sbin/arp -i eth1 -d 10.0.0.1",
                        "content": "Delete the ARP table entry for 10.0.0.1 on interface eth1. This will  match  published  proxy\nARP entries and permanent entries.\n"
                    }
                ]
            },
            "FILES": {
                "content": "/proc/net/arp\n/etc/networks\n/etc/hosts\n/etc/ethers\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "rarp(8), route(8), ifconfig(8), netstat(8)\n",
                "subsections": []
            },
            "AUTHORS": {
                "content": "Fred N. van Kempen <waltje@uwalt.nl.mugnet.org>, Bernd Eckenfels <net-tools@lina.inka.de>.\n\n\n\nnet-tools                                    2008-10-03                                       ARP(8)",
                "subsections": []
            }
        }
    }
}