我正在开发一个使用 RJ45 在本地网络上连接的嵌入式设备,当系统发送 ARP 请求以了解网关的 mac 地址时,根本没有答案。
如果我清除 Windows 上的 arp 表,Windows 会询问完全相同的 ARP 请求并得到答案!
我嗅探了数据包,请求数据包内部的唯一区别是数据包末尾嵌入式设备上的 0 预告片,目标 mac 地址是 ff:ff:ff:ff:ff:ff,其中 windows 1 是 00 :00:00:00:00:00 (维基百科似乎说应该是 ffffffffff)
我试图更改mac地址,以防我的网关由于arp垃圾邮件而禁止了mac,但它并没有改变任何东西。我也尝试使用 DHCP IP 和静态 IP,同样的问题......
Windows 数据包:
第 1 帧(在线 42 字节,捕获 42 字节) 框架标记:假 到货时间:2010年1月29日12:05:49.775534000 上一个数据包的时间增量:-77.580549000 秒 自参考或第一帧以来的时间:6354.738379000 秒 帧数:1 数据包长度:42 字节 捕获长度:42 字节 框架中的协议:eth:arp 以太网 II,Src:00:1e:8c:b5:d0:00,Dst:ff:ff:ff:ff:ff:ff 类型:ARP (0x0806) 地址解析协议(请求) 硬件类型:以太网 (0x0001) 协议类型:IP (0x0800) 硬件尺寸:6 协议大小:4 操作码:请求(0x0001) 发送方 MAC 地址:00:1e:8c:b5:d0:00 (00:1e:8c:b5:d0:00) 发件人IP地址:192.168.0.14 (192.168.0.14) 目标 MAC 地址:00:00:00:00:00:00 (00:00:00:00:00:00) 目标IP地址:192.168.0.1(192.168.0.1) 0000:FF FF FF FF FF FF 00 1E 8C B5 D0 00 08 06 00 01 ...... 0010: 08 00 06 04 00 01 00 1E 8C B5 D0 00 C0 A8 00 0E ...... 0020: 00 00 00 00 00 00 C0 A8 00 01 ....
嵌入式设备包:
第 1 帧(在线 60 字节,捕获 60 字节) 框架标记:假 到货时间:2010年1月29日12:07:04.257748000 上一个数据包的时间增量:-3.098335000 秒 自参考或第一帧以来的时间:6429.220593000 秒 帧数:1 数据包长度:60 字节 捕获长度:60 字节 框架中的协议:eth:arp 以太网 II,源:00:04:a3:12:34:05,目标:ff:ff:ff:ff:ff:ff 类型:ARP (0x0806) 预告片:0000000000000000000000000000000000000 地址解析协议(请求) 硬件类型:以太网 (0x0001) 协议类型:IP (0x0800) 硬件尺寸:6 协议大小:4 操作码:请求(0x0001) 发件人 MAC 地址:00:04:a3:12:34:05 (00:04:a3:12:34:05) 发件人IP地址:192.168.0.129 (192.168.0.129) 目标MAC地址:ff:ff:ff:ff:ff:ff (ff:ff:ff:ff:ff:ff) 目标IP地址:192.168.0.1(192.168.0.1) 0000: FF FF FF FF FF FF 00 04 A3 12 34 05 08 06 00 01 ..........4....... 0010: 08 00 06 04 00 01 00 04 A3 12 34 05 C0 A8 00 81 .....................4 0020:FF FF FF FF FF FF C0 A8 00 01 00 00 00 00 00 00 ...... 0030: 00 00 00 00 00 00 00 00 00 00 00 00 ......