如何在 Linux 中使用 arping 命令
对于网络管理员来说,ARP 协议可能听起来很熟悉。 ARP 是第 2 层设备实现的用于发现彼此并进行通信的协议。 arping 工具使用此协议工作。
现在,为什么需要琶音?想象一下您正在使用一个小型办公网络。使用经典的 ping 命令来 ping 主机来验证其可用性非常诱人,对吧?好吧,如果您使用 ICMP 协议,那么您实际上是在执行 ARP 请求来探测网络中的设备。
这就是 arping 工具的用武之地。与 ping 一样,arping 使用网络层 ARP 数据包对网络主机执行 ping 操作。此方法对于不响应第 3 层和第 4 层 ping 请求的主机很有用。
本文向您展示如何在 Linux 中使用 arping 命令。
Linux 中的 Arping
在网络管理员中,arping 是一种流行的工具。然而,它并不包含在 Linux 提供的默认工具集中。因此,您必须手动安装 arping。
值得庆幸的是,琶音是一种流行的工具。无论您使用什么发行版,都应该可以直接从官方软件包服务器获取。根据您的发行版运行以下命令。
对于 Debian/Ubuntu 及其衍生版本,arp 工具需要 net-tools 软件包:
对于 Fedora 及其衍生产品:
对于 openSUSE 及其衍生产品:
使用琶音
发现主机
如果多个设备通过以太网连接,则系统已经具有用于通过网络进行通信的内部 ARP 表。您可以使用 arping 列出网络中的条目。
运行以下命令来执行此操作:
如您所见,该命令将打印主机名列表及其 IP 和 MAC 地址。Ping 主机
如果您知道目标设备的 IP 地址,则只需将该地址传递给 arping 即可执行 ARP ping。
Arping 还允许您定义 ping 目标设备的次数。为此,请使用“-c”标志,后跟要执行的 ping 次数。一个快速提示:如果识别出新设备,您应该运行以下命令来更新 ARP 表:
ARP 超时
如果 arping 无法解析目标的 IP 地址,则会导致 ARP 超时。为了进行演示,请运行以下命令。 IP地址应该是无法访问的。
正如您所看到的,如果您没有指定网络接口,arping 会通知您。这是因为 arping 期望您指定接口。如果未指定,arping 会尝试猜测它。
指定网络接口
正如您在上一节中所看到的,arping 更喜欢您指定网络接口。如果服务器上有多个网络接口,这一点尤其必要。 Arping 无法猜测要使用哪个网卡。
为了避免这个问题,我们可以手动指定arping的网络接口。如果使用此方法,arping 将利用指定的网络接口而不是进行猜测。
首先,使用以下命令列出所有可用的网络接口:
然后,使用“-I”标志指定要进行 arping 的网络接口,如下所示:
指定源 MAC 地址
与前面的方法一样,也可以指定发送数据包的源的 MAC 地址。为此,请使用“-s”标志,后跟您想要的 MAC 地址,如下所示:
现在,根据您是否拥有 MAC 地址,有两种结果:
如果您拥有 MAC 地址,则可以使用“-s”标志。
如果您不拥有 MAC 地址,那么您就是在尝试欺骗它。如果是这种情况,那么您将不得不使用混杂模式。在此处查看有关混杂模式的更多信息。快速提醒一下,此模式的配置方式是传输 NIC 接收到的所有帧。
好处是,arping 可以在混杂模式下运行。要启用此模式,请使用“-p”标志。该命令将如下所示:
指定源IP地址
arping 的另一个有趣的功能是能够手动定义源 IP 地址。此方法的工作方式与上一步非常相似。
然而,这种方法也有其自身的问题。一旦 arping 对设备执行 ping 操作,设备就会回复您手动定义的 IP 地址。如果没有该 IP 地址的所有权,arping 将不会收到回复。
要手动定义源 IP 地址,请使用“-S”标志。
此方法还有其他细微差别。如何使用此方法取决于您是否拥有该 IP 地址:
如果您拥有 IP 地址,那么您就可以开始了。
如果您不拥有 IP 地址,那么您可能需要使用混杂模式。
如果您的情况与第二个选项匹配,请使用“-p”标志启用混杂模式。
琶音帮助
虽然这些是最常用的 arping 命令,但 arping 还提供了更多功能。例如,arping 提供了一个即时文档的快速帮助页面:
如果您对有关 arping 功能的深入信息感兴趣,您可以更深入地了解手册页:
最后的想法
本教程介绍了使用 arping 的一些更常见的方法。您可以使用混杂模式更新 ARP 表并欺骗 MAC 和 IP 地址。
对于雄心勃勃的 Linux 网络和系统管理员来说,这不一定是停止的地方!查看 Fierce,这是一种用于网络扫描的更先进且功能丰富的工具。
快乐计算!