Linux命令学习手册-arp

作者 : 开心源码 本文共2371个字,预计阅读时间需要6分钟 发布时间: 2022-05-13 共167人阅读
arp

功能

管理系统的 arp 缓存。

形容

用来管理系统的 arp 缓存,常用的命令包括:

  • arp: 显示所有的表项。
  • arp -d address: 删除一个 arp 表项。
  • arp -s address hw_addr: 设置一个 arp 表项。

常用参数:

  • -a 使用 bsd 形式输出。(没有固定的列)
  • -n 使用数字形式显示 ip 地址,而不是默认的主机名形式。
  • -D 不是指定硬件地址而是指定一个网络接口的名称,表项将使用相应接口的 MAC 地址。一般用来设置 ARP 代理商。
  • -H type , --hw-type type 指定检查特定类型的表项,默认 typeether ,还有其余类型。
  • -i If , --device If 指定设置哪个网络接口上面的 arp 表项。
  • -f filename 作用同 -s ,不过它通过文件来指定 IP 地址和 MAC 地址的绑定。文件中每行分别是主机和 MAC ,中间以空格分割。假如没有指定文件名称,则使用 /etc/ethers 文件。

以下例子中,用主机名称的地方也可以用点分10进制的ip地址来表示。另外输出结果中用 C 表示 ARP 缓存内容, M 表示永久性表项, P 表示公共的表项。

举例

查看 arp

#arpAddress                  HWtype  HWaddress           Flags Mask            Ifacehostname1                ether   44:37:e6:97:92:16   C                     eth0hostname2                ether   00:0f:fe:43:28:c5   C                     eth0hostname3                ether   00:1d:92:e3:d5:ee   C                     eth0hostname4                ether   00:1d:0f:11:f2:a5   C                     eth0

这里, Flags 中的 C 代表此表项目是高速缓存中的内容,高速缓存中的内容过一段时间(一般20分钟)会清空,而 M 则表示静态表项,静态表项的内容不会过一段时间被清空。

查看 arp 表,并且用 ip 显示而不是主机名称

# arp -nAddress                  HWtype  HWaddress           Flags Mask            Iface10.1.10.254              ether   00:1d:92:e3:d5:ee   C                     eth010.1.10.253              ether   44:37:e6:9b:2c:53   C                     eth010.1.10.178              ether   00:1b:78:83:d9:85   C                     eth010.1.10.119              ether   00:1d:0f:11:f2:a5   C                     eth0

这里,对于上面的条目,假设当我们 ping 10.1.10.1 通过之后,arp中会多一条”10.1.10.1″相关的信息。

查看 arp 表,显示主机名称和 ip

#arp -ans.amazon.esdl.others.com (10.1.10.254) at 00:1d:92:e3:d5:ee [ether] on eth0server.amazon.eadl.others.com (10.1.10.253) at 44:37:e6:9b:2c:53 [ether] on eth0D2-baijh.amazon.esdl.others.com (10.1.10.178) at 00:1b:78:83:d9:85 [ether] on eth0aplab.local (10.1.10.119) at 00:1d:0f:11:f2:a5 [ether] on eth0

增加一对IP和MAC地址的绑定

# arp -s 10.1.1.1 00:11:22:33:44:55:66

这里,假如网络无法达到,那么会报告错误,具体如下:

root@quietheart:/home/lv-k# arp -s 10.1.1.1 00:11:22:33:44:55:66SIOCSARP: Network is unreachableroot@quietheart:/home/lv-k# arp -nAddress                  HWtype  HWaddress           Flags Mask            Iface10.1.10.254              ether   00:1d:92:e3:d5:ee   C                     eth010.1.10.253              ether   44:37:e6:9b:2c:53   C                     eth010.1.10.178              ether   00:1b:78:83:d9:85   C                     eth010.1.10.119              ether   00:1d:0f:11:f2:a5   C                     eth0

实际上,假如 arp -s 设置成功之后,会添加一个Flags为 CM 的表项,有些系统静态条目不会由于ARP响应而升级,而高速缓存中的条目会因而而升级。假如想要手工设置没有 M ,那么用 temp 选项,例如: arp -s IP MAC temp 相似的命令,实践发现,假如已经设置过IP了,那么再设置也不会改变其Flags。

删除一个 arp 表项

# arp -d 10.1.10.118

这里,删除之后只是硬件地址没有了,如下:

root@quietheart:~# arp -nAddress                  HWtype  HWaddress           Flags Mask            Iface10.1.10.118              ether   00:25:9c:c2:79:90   CM                    eth010.1.10.254              ether   00:1d:92:e3:d5:ee   C                     eth0root@quietheart:~# arp -d 10.1.10.118root@quietheart:~# arp -nAddress                  HWtype  HWaddress           Flags Mask            Iface10.1.10.118                      (incomplete)                              eth010.1.10.254              ether   00:1d:92:e3:d5:ee   C

删除 eth0 上面的一个 arp 表项

# arp -i eth0 -d 10.1.10.118

其它

指定回复的MAC地址

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

eth0 收到IP地址为 10.0.0.2 的请求时,将会用 eth1MAC 地址答复。

例如,双网卡机器运行这条命令:

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

会多一项:

10.0.0.2                 *           MP                    eth0
说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Linux命令学习手册-arp

发表回复