我最近在C语言中玩libpcap来创建一个arp嗅探器程序,该程序捕获空中的arp请求。我想到了一个奇怪的效果。我从路由器捕获了arp请求。我不知道这是否是我程序的错误,但我很好奇(分析数据包后发现操作代码设置为1,甚至更多,这意味着我们必须处理arp请求)。这有可能吗?我在互联网上没有找到类似问题的任何条目。

#1 楼

ARP由LAN上的主机用来将第3层地址解析为第2层地址,以便可以为LAN构建帧。路由器只是LAN上的另一台主机,它需要将第3层地址解析为第2层地址,就像LAN上的PC一样。

评论


我不会将路由器称为主机(但我完全不同意)。

–让·皮埃尔(JeanPierre)
16年12月27日在19:40

在第2层(LAN)协议中,没有路由器,只有主机。

–罗恩·莫潘♦
16/12/27在20:43