ARP 请求如何工作

网络工程 ARP
2022-02-10 10:24:04

所以我可能有一个愚蠢的问题,主要是因为我在实验时得到了奇怪的结果。

我有点不确定 ARP 请求是如何工作的。

例如,我如何 arp 我的整个本地网络 192.168.0.1/24。我必须向每个单独的 ip 发送 arp 请求还是将 arp 请求发送到路由器或交换机,路由器或交换机又回复哪个主机已启动及其相应的 ip 和 MAC 地址。

我正在尝试使用 python 以编程方式执行此操作,并使用一个名为 scapy 的模块...我正在观看一个教程,他们通过将本地 IP 地址和掩码提供给 scapy.all.arping 来对整个本地网络进行 arping,如果我不是错误

1个回答

我必须向每个单独的 ip 发送 arp 请求吗

是的。

还是 arp 请求被发送到路由器

路由器永远不会转发 ARP 请求(除了非常奇特的情况)。

或切换

交换机会像任何其他广播一样转发 ARP 请求(到所有端口,但接收广播的端口除外)。

who 依次回复哪个主机已启动及其对应的 ip 和 MAC 地址。

不 - 回复的是主机本身。

ARP 请求作为广播(= 目标 MAC 地址 FF:FF:FF:FF:FF:FF)发送到整个第 2 层网络(通过交换机、集线器连接)。所有主机都会收到请求,但除了请求的主机之外,其他主机都只是忽略/丢弃它。具有所请求 IP 地址的主机回复对源主机的请求,通知它相关的 MAC 地址。

ARP 在RFC 826中定义。