使用bash手动发送ARP包

com*_*vip 5 linux bash arp utility

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

A.B*_*A.B 5

这不能使用 bash shell 来完成,而是使用从 shell 运行的专用命令来完成。Linux 上arping有专门用于此目的的命令。

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

arping 192.0.2.2
Run Code Online (Sandbox Code Playgroud)

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