Linux上的arping命令介绍
作为网络管理员,您可能已经非常熟悉ARP协议。
ARP通常由第二层设备使用,以便轻松发现并相互通信。
当您使用小型办公室网络时,您可能会尝试ping主机以验证它们是否可用。
如果使用的是ICMP协议,则可能会知道您实际上是在执行ARP请求,以便探测网络上的设备。
如果您正在寻找创建ARP ping的更直接的方法,则可能对arping命令感兴趣。
在本教程中,我们将专注于arping命令:如何安装它以及如何有效使用它。
先决条件
为了在系统上安装arping命令,您显然需要在服务器上具有sudo特权。
为了检查您是否为sudo,您只需执行以下命令
$ groups
user sudo
如果不是这种情况,您可以阅读我们的指南,以获取Debian或CentOS主机的 sudo特权。
在Linux上安装Arping
为了在您的服务器上安装arping命令,请执行“ apt-get install ”命令并指定“ arping”软件包。
$ sudo apt-get install arping
现在已经安装了命令,您可以执行“ arping”命令以检查当前使用的版本。
大!
现在,arping命令已安装在您的服务器上。
默认情况下,arping命令将每秒发送一次ARP(或ICMP)请求,但是显然可以对其进行配置。
使用Arping查找主机
首先,与通过以太网通信的任何设备一样,您的设备具有用于通过网络进行通信的内部ARP表。
为了查看您当前的ARP条目,您可以简单地对所有设备执行带有“ -a”选项的“ arp”命令。
$ arp -a
使用ARP命令时,将显示一个主机名列表,后跟IP和MAC地址。
在这种情况下,我的ARP表中只有一个条目:通过192.168.178.1 IP地址可访问的路由器。
但是,我可能会对在本地网络上找到其他主机感兴趣:要实现这一点,您将使用arping命令。
使用IP地址对主机执行ping操作
为了通过网络ping主机,您可以简单地使用“ arping”命令并指定要ping的IP地址。
此外,您可以使用“计数”的“ -c”选项指定要发送的ping数。
$ arping -c 2 <ip_address>
注意:如果您不确定在Linux上查找IP地址的方式,我们将提供有关此主题的完整指南。
例如,使用本地网络上的“ 192.168.178.27” IP地址,您将执行以下命令
如您所见,如果您收到响应ping,则会为您提供相应设备的MAC地址。
请注意,使用arping命令不会自动更新您的ARP表:您必须使用诸如ping之类的命令来更新它。
$ arp -a
太棒了,您成功使用了arping命令,以便通过网络发出ARP请求!
使用Arping的ARP超时
如果arping命令无法解析所定义目标的IP地址,您将获得ARP超时。
例如,在未知主机上执行ARP请求将为您提供以下输出
$ arping -c 5 <ip_address>
如您所见,在某些情况下,如果您未指定任何网络接口,则会收到警告。
这是很正常的,因为arping命令期望指定网络接口。
如果要使用路由器,或者选择将Linux服务器安装为路由器,则可以安装两个网络接口卡以路由到两个不同的网络。
如果是这种情况,arping需要知道它需要使用的网络接口才能发送ARP ping。
如您所见,arping命令将尝试“ 猜测 ”未提供的网络接口。
指定网络接口
如果服务器上有多个网络接口,则仲裁将无法“猜测”要使用的网络接口卡。
结果,您可能会收到一条错误消息,指出arping无法猜出正确的消息。
为了指定要使用的网络接口,您将必须使用“ -I”选项,后跟网络接口的名称。
如果需要有关枚举网络接口的帮助,可以使用本指南在Linux上查找IP地址。
$ arping -I <interface_name> <ip_address>
如果我们的接口名为“ enp0s3”,则该命令将为以下命令:
$ arping -I enp0s3 192.168.178.22
太棒了,您对您的远程服务器执行了ping操作,并指定了要使用的网络接口!
从源MAC发送ARP ping
在某些情况下,您可能希望指定发送数据包的源MAC地址。
为了实现这一点,您需要对“源”执行带有“ -s”选项的“ arping”命令,后跟要ping的MAC地址。
$ 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地址。