linux命令之arp


arp 命令主要用于显示和修改地址解析协议(ARP)使用的IP地址到Ethernet MAC(以太网物理地址)转换表。
arp语法格式:
arp [-evn] [-H type] [-i if] -a [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 ifa [netmask nm] pub
arp [-vnD] [-H type] [-i if] -f [filename]
参数说明:
-a [hostname] 或 --display [hostname] :显示指定主机的所有当前ARP条目。当不指定hostname时,显示所有的ARP条目。这些ARP条目会以BSD的样式展示。
-d [hostname] 或 --display [hostname] : 删除hostname指定主机的ARP条目(需要root权限)。
-D 或 --use-device  : 使用ifa 硬件地址接口
-e : 以默认的Linux样式显示。
-H type 或 --hw-type type 或 -t type :在设置和查询arp缓存时,该参数指定对type类型地址进行检查。该参数的可选项包括 ether、arcnet、pronet、ax25、netrom,其默认值是ether。
-i if 或 --device if : 选择一个接口。
-s hostname hw_addr 或 --set hostname : 手工追加一个ARP条目到hostname变量指定主机的ARP表中。
-f [filename] 或 --file [filename] : 从制定的文件中读入ARP条目到arp表。该文件中选项的格式是hostname eth_addr。
-n :以数字地址形式显示。
-v :显示命令执行过程的详细信息。

示例:
$ arp -a 192.168.1.1 ##显示IP为192.168.1.1 主机的arp条目
? (192.168.1.1) at 1c:fa:68:91:f7:33 [ether] on eth0

$ arp -s 192.168.1.22 00:11:22:33:44:55 ## 向arp映射表中添加一个条目
$ arp -a  ## 显示所有的arp条目。
? (192.168.1.1) at 1c:fa:68:91:f7:34 [ether] on eth0
? (192.168.1.22) at 00:11:22:33:44:55 [ether] PERM on eth0

$ arp -d 192.168.1.22  ##删除一个arp表项
$ arp -a
? (192.168.1.1) at 1c:fa:68:91:f7:34 [ether] on eth0
? (192.168.1.22) at  on eth0
## 检查结果时发现只是删除了硬件地址


相关内容