使用 bash 手动发送 ARP 数据包

使用 bash 手动发送 ARP 数据包

如何使用 bash 或某些 Linux 实用程序将 ARP 数据包发送到 LAN 上的指定 IP?

答案1

这不能通过 bash shell 完成,但可以通过 shell 运行专用命令来完成。Linux 上arping有专门的命令来完成此操作。

例如,在具有单个网络接口的系统上(因此接口猜测不会出错)向 IPv4 地址为 192.0.2.2 的远程系统(应该在同一个 LAN 中)发送 ARP:

arping 192.0.2.2

此命令有两种形式:原来的 arping工具arping。它们的语法和功能不同,只有基本用法相同。根据变体或发行版,此命令可能需要 root 才能运行,然后放置在/usr/sbin/而不是中/usr/bin/(放置在 中时,/usr/bin/命令具有其他权限,例如CAP_NET_RAW允许它在由普通用户运行时制作 ARP 数据包)。我可能会选择工具如果有选择的话,变体。

相关内容