2010-01-29 577 views
2

我正在使用RJ45连接本地网络的嵌入式设备,以及系统发送ARP请求以了解网关的MAC地址时,根本没有答案。为什么我没有收到来自ARP请求的答复?

如果我清除Windows上的arp表,Windows会询问完全相同的ARP请求并获得答案!

我嗅探了数据包,请求数据包内唯一的区别是数据包末尾的嵌入式设备上有一个0尾部,目标MAC地址是ff:ff:ff:ff:ff:ff其中窗口一个是00:00:00:00:00:00(维基百科似乎说它应该是ffffffffff)

我试图更改mac地址,以防我的网关因arp垃圾邮件而禁止mac,但它不会什么都不会改变。我也试着用DHCP IP和静态IP,同样的问题...

的Windows包:

 
Frame 1 (42 bytes on wire, 42 bytes captured) 
    Frame is marked: False 
    Arrival Time: Jan 29, 2010 12:05:49.775534000 
    Time delta from previous packet: -77.580549000 seconds 
    Time since reference or first frame: 6354.738379000 seconds 
    Frame Number: 1 
    Packet Length: 42 bytes 
    Capture Length: 42 bytes 
    Protocols in frame: eth:arp 
Ethernet II, Src: 00:1e:8c:b5:d0:00, Dst: ff:ff:ff:ff:ff:ff 
    Type: ARP (0x0806) 

Address Resolution Protocol (request) 
    Hardware type: Ethernet (0x0001) 
    Protocol type: IP (0x0800) 
    Hardware size: 6 
    Protocol size: 4 
    Opcode: request (0x0001) 
    Sender MAC address: 00:1e:8c:b5:d0:00 (00:1e:8c:b5:d0:00) 
    Sender IP address: 192.168.0.14 (192.168.0.14) 
    Target MAC address: 00:00:00:00:00:00 (00:00:00:00:00:00) 
    Target IP address: 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     ..........  

嵌入式设备的分组:

 
Frame 1 (60 bytes on wire, 60 bytes captured) 
    Frame is marked: False 
    Arrival Time: Jan 29, 2010 12:07:04.257748000 
    Time delta from previous packet: -3.098335000 seconds 
    Time since reference or first frame: 6429.220593000 seconds 
    Frame Number: 1 
    Packet Length: 60 bytes 
    Capture Length: 60 bytes 
    Protocols in frame: eth:arp 
Ethernet II, Src: 00:04:a3:12:34:05, Dst: ff:ff:ff:ff:ff:ff 
    Type: ARP (0x0806) 
    Trailer: 000000000000000000000000000000000000 
Address Resolution Protocol (request) 
    Hardware type: Ethernet (0x0001) 
    Protocol type: IP (0x0800) 
    Hardware size: 6 
    Protocol size: 4 
    Opcode: request (0x0001) 
    Sender MAC address: 00:04:a3:12:34:05 (00:04:a3:12:34:05) 
    Sender IP address: 192.168.0.129 (192.168.0.129) 
    Target MAC address: ff:ff:ff:ff:ff:ff (ff:ff:ff:ff:ff:ff) 
    Target IP address: 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    ............  
+0

你确定你的网络不使用vlan或类似的东西(隧道?)?您的Windows数据包小于64字节,这是包含crc的以太网帧的最小长度。一些nics /驱动程序会剥离掉这样的图层,并且您不会在wireshark中看到它。 – nos 2010-01-29 12:07:09

+0

没有vlan。这只是一个互联网盒(freebox)与我的电脑,并在箱子上rj45(作为路由器)作为嵌入盒 由于我在同一台PC上嗅探,也许wireshark(packetyzer事实上)删除预告片。 – acemtp 2010-01-29 12:58:54

+0

我也有一些非常奇怪的行为,如: - 当我的电脑ping图片时,它工作2次,超时后(LED仍然每秒闪烁) - 当它试图通过DHCP获取IP时,它询问N次(其中N是随机的),从网关获得答案,发送请求,接收ACK但不验证DHCP并要求另一时间... 您有想法吗? – acemtp 2010-01-29 16:58:59

回答

0

事实上,这是一个与TX问题极性反转并导致这些问题。

我颠倒了极性,现在它完美的工作。

相关问题