Linux上的arping命令介绍

作为网络管理员,您可能已经非常熟悉ARP协议。

ARP通常由第二层设备使用,以便轻松发现并相互通信。

当您使用小型办公室网络时,您可能会尝试ping主机以验证它们是否可用。

如果使用的是ICMP协议,则可能会知道您实际上是在执行ARP请求,以便探测网络上的设备。

如果您正在寻找创建ARP ping的更直接的方法,则可能对arping命令感兴趣

在本教程中,我们将专注于arping命令:如何安装它以及如何有效使用它。

先决条件

为了在系统上安装arping命令,您显然需要在服务器上具有sudo特权。

为了检查您是否为sudo,您只需执行以下命令

$ groups

 

user sudo

如果不是这种情况,您可以阅读我们的指南,以获取DebianCentOS主机的 sudo特权

Linux上安装Arping

为了在您的服务器上安装arping命令,请执行“ apt-get install ”命令并指定“ arping”软件包。

$ sudo apt-get install arping

Linux上的arping命令介绍

现在已经安装了命令,您可以执行“ arping”命令以检查当前使用的版本。

$ arping -v

 

ARPing 2.19, by Thomas Habets <[email protected]>

大!

现在,arping命令已安装在您的服务器上。

默认情况下,arping命令将每秒发送一次ARP(或ICMP)请求,但是显然可以对其进行配置。

使用Arping查找主机

首先,与通过以太网通信的任何设备一样,您的设备具有用于通过网络进行通信的内部ARP表。

为了查看您当前的ARP条目,您可以简单地对所有设备执行带有“ -a”选项的“ arp”命令。

$ arp -a

使用ARP命令时,将显示一个主机名列表,后跟IPMAC地址。

Linux上的arping命令介绍

在这种情况下,我的ARP表中只有一个条目:通过192.168.178.1 IP地址可访问的路由器。

但是,我可能会对在本地网络上找到其他主机感兴趣:要实现这一点,您将使用arping命令。

使用IP地址对主机执行ping操作

为了通过网络ping主机,您可以简单地使用“ arping”命令并​​指定要pingIP地址。

此外,您可以使用计数“ -c”选项指定要发送的ping数。

$ arping -c 2 <ip_address>

注意:如果您不确定Linux查找IP地址的方式,我们将提供有关此主题的完整指南。

例如,使用本地网络上的“ 192.168.178.27” IP地址,您将执行以下命令

Linux上的arping命令介绍

如您所见,如果您收到响应ping,则会为您提供相应设备的MAC地址。

请注意,使用arping命令不会自动更新您的ARP表:您必须使用诸如ping之类的命令来更新它。

$ arp -a

Linux上的arping命令介绍

太棒了,您成功使用了arping命令,以便通过网络发出ARP请求!

使用ArpingARP超时

如果arping命令无法解析所定义目标的IP地址,您将获得ARP超时。

例如,在未知主机上执行ARP请求将为您提供以下输出

$ arping -c 5 <ip_address>

Linux上的arping命令介绍

如您所见,在某些情况下,如果您未指定任何网络接口,则会收到警告。

这是很正常的,因为arping命令期望指定网络接口

如果要使用路由器,或者选择将Linux服务器安装为路由器,则可以安装两个网络接口卡以路由到两个不同的网络。

如果是这种情况,arping需要知道它需要使用的网络接口才能发送ARP ping

如您所见,arping命令将尝试“ 猜测 ”未提供的网络接口。

指定网络接口

如果服务器上有多个网络接口,则仲裁将无法猜测要使用的网络接口卡。

结果,您可能会收到一条错误消息,指出arping无法猜出正确的消息。

Linux上的arping命令介绍

为了指定要使用的网络接口,您将必须使用“ -I”选项,后跟网络接口的名称。

如果需要有关枚举网络接口的帮助,可以使用本指南Linux查找IP地址。

$ arping -I <interface_name> <ip_address>

如果我们的接口名为“ enp0s3”,则该命令将为以下命令:

$ arping -I enp0s3 192.168.178.22

Linux上的arping命令介绍

太棒了,您对您的远程服务器执行了ping操作,并指定了要使用的网络接口!

从源MAC发送ARP ping

在某些情况下,您可能希望指定发送数据包的源MAC地址。

为了实现这一点,您需要对执行带有“ -s”选项的“ arping”命令,后跟要pingMAC地址。

$ arping -c 2 -s 00:60:70:12:34:56 <ip地址>

在这种情况下,您有两种可能: 

  • 您是MAC地址的所有者,您只需使用“ -s”选项即可。
  • 您不是MAC地址的所有者,并且您正在尝试欺骗MAC地址。在这种情况下,您需要使用混杂模式。简短提醒一下,混杂模式设置为传输NIC接收到的所有帧,而不是原来打算接收的帧。

为了使用“ arping ”命令启用混杂模式,您需要使用“ -p”选项。

使用我们之前使用的选项,这将导致我们执行以下命令。

$ arping -c 2 -s 00:60:70:12:34:56 -p <ip_address>

结论

在本教程中,您学习了如何轻松使用Arping命令来ping本地网络上的IP地址。

使用arping,您可以使用匹配的MAC地址填充本地ARP缓存。

您还了解到,您可以使用混杂模式来欺骗您的MAC地址。