ARP 代表地址解析协议,当我们想要检索设备的 MAC 地址但只知道其 IP 地址时,它特别有用。 这 arp 命令 在 Linux 中用于查看、添加和删除 ARP 缓存中存在的条目——该表包含本地网络上主机的 IP 地址到 MAC 地址的映射。 arp 命令是 net-tools 包的一部分,它已被弃用,取而代之的是 ip
命令。
安装 ARP
为了能够在你的 Linux 设备上使用 ARP 命令,你首先需要’网络工具‘ 在你的系统上。 安装它所需要做的就是在终端中输入以下代码:
sudo apt install net-tools
Ubuntu 网络配置指南
arp命令的基本用法
要查看 ARP 缓存的当前内容,请键入以下代码:
arp
您还可以使用: arp -a
从屏幕截图中可以看出,输出有几个字段,它们是:
- 地址: 默认情况下,arp 命令打印本地网络上主机的符号名称。 当 arp 与
-n
选项,它打印主机的 IP 地址而不是它们的符号名称。
arp -n
- 硬件类型: 指定硬件类型(默认情况下其值为
ether
) - 硬件地址: 主机的 MAC(物理)地址
- 标志: 这
Flags
字段指示地址是否已获知、用户手动设置、已发布或不完整
ARP 缓存中的每个完整条目都标有 C 标志,永久条目标记为 米 和已发表的条目有 磷 旗帜 - 面具:描述子网掩码(IP 地址中的掩码位数)
- 我面对:
IFace
告诉我们网络接口的逻辑名称
使用 arp 命令
现在让我们看一下 arp 命令的一些示例,以及如何利用它来满足您的网络需求。
1.在ARP缓存中手动添加条目以防IP地址重复
在诊断重复的 IP 分配问题时,ARP 有时很有用。 例如,假设您无法访问 IP 地址为 192.168.168.100 的计算机。 您尝试 ping 计算机,期望 ping 失败; 但是你瞧,ping 成功了。 造成这种情况的一个可能原因是网络上的两台计算机被分配了地址 192.168.168.100,而您的 ARP 缓存指向错误的一台。
要在表中手动添加条目,可以使用以下命令:
arp -s <host-IP-address> <host-MAC-address>
例如,看看下面的图像:
使用后 sudo arp -s 192.168.1.7 22:33:44:55:66:77
,具有相应 IP 和 MAC 地址的新条目已添加到 ARP 缓存中。
2.从表中删除条目
您还可以从 ARP 表中删除不必要的或重复的条目。 不用担心,即使您从表中删除了主条目或某些重要条目,如果它在网络上处于活动状态,它将再次通过 ARP 过程并最终显示在表中。
要删除条目,请输入以下代码
arp -d <host-IP-address>
例如,请参见下图:
使用后 arp -d 192.168.1.7
命令,从表中删除相应的地址。
虽然活动主机将再次出现在表中,但不活动/关闭的主机将使用此命令从表中删除,除非它们再次处于活动状态。 这使得 arp -d
命令对 Linux 用户来说非常方便。
3. 使用文本文件添加多个条目
之前,我们看到了如何使用 arp -s
命令在表中添加单个条目。 但是可以一次向表中添加多个条目。 我们需要做的就是 创建一个文件,其中包含我们要添加的条目的 IP 地址和 MAC 地址。
现在, 运行以下命令 在保存文件的位置:
sudo arp -f <file-name>
例如,参考下图:
如您所见,这两个条目:
192.168.1.4 11:22:33:44:55:66 192.168.1.7 1A:2B:3C:4D:5A:6B
被添加到表中。
概括
ARP是计算机网络中一个非常重要的概念。 无论是为了您的学习,还是仅仅为了知识,我们都希望这篇文章能够增加您对 ARP 及其在 Linux 中的使用的理解。
参考
您可以通过查看其官方手册页了解有关 ARP 实用程序的更多信息:
Linux 手册页 – ARP