Linux中的arp命令是什么?

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 命令

从屏幕截图中可以看出,输出有几个字段,它们是:

  1. 地址: 默认情况下,arp 命令打印本地网络上主机的符号名称。 当 arp 与 -n 选项,它打印主机的 IP 地址而不是它们的符号名称。
arp -n 
arp -n 命令
  1. 硬件类型: 指定硬件类型(默认情况下其值为 ether)
  2. 硬件地址: 主机的 MAC(物理)地址
  3. 标志:Flags 字段指示地址是否已获知、用户手动设置、已发布或不完整
    ARP 缓存中的每个完整条目都标有 C 标志,永久条目标记为 和已发表的条目有 旗帜
  4. 面具:描述子网掩码(IP 地址中的掩码位数)
  5. 我面对: 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> 

例如,看看下面的图像:

在 Arp 表中添加条目在 ARP 表中添加条目

使用后 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 删除条目从 ARP 表中删除条目

使用后 arp -d 192.168.1.7 命令,从表中删除相应的地址。

虽然活动主机将再次出现在表中,但不活动/关闭的主机将使用此命令从表中删除,除非它们再次处于活动状态。 这使得 arp -d 命令对 Linux 用户来说非常方便。

3. 使用文本文件添加多个条目

之前,我们看到了如何使用 arp -s 命令在表中添加单个条目。 但是可以一次向表中添加多个条目。 我们需要做的就是 创建一个文件,其中包含我们要添加的条目的 IP 地址和 MAC 地址。

现在, 运行以下命令 在保存文件的位置:

sudo arp -f <file-name> 

例如,参考下图:

Arp 使用文件添加多个条目使用 ARP 中的文件添加多个条目

如您所见,这两个条目:

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