WiFi 范围扩展器和失败的 ARP 请求

WiFi 范围扩展器和失败的 ARP 请求

我正在研究一个网络,如下所示 - BT HomeHub 5 和 Netgear EX6150 WiFi 扩展器。网络上还有其他点,但为了简洁起见我省略了它们,所有粉色虚线都是 WiFi。

网络图

我看到的问题是 PC 1不能将不会)与 PC 2 通信,但我的手机将要。当然,我的手机有能力跳过并直接连接到扩展器,目前我不能排除它在这里发挥作用的可能性。

当 PC 1 尝试与 WiFi 扩展器上的其他主机通信时,情况也是一样。

所有主机都可以访问互联网。


我发现扩展器将“芒格“MAC地址,但我不太清楚为什么。例如,PC 2 的 MAC 地址是88:b1:11:f4:e0:66,但路由器的接口(以及连接到路由器的主机)会将其视为 进行通信02:0f:b5:f4:e0:66手动的第 33 页,而且似乎没有办法关闭它。我看不出这有什么技术原因,目前我打赌这是问题的关键部分。


现在是技术细节的时间了。

  • PC 1 是192.168.1.74/ 1c:3e:84:c8:0c:08(根据操作系统的报告)
  • PC 2 是192.168.1.16/ 88:b1:11:f4:e0:66(根据操作系统的报告)

我的手机会愉快地扫描网络(使用),发现主机,然后 ping 通它...正如前面所说,PC 1 不会。

我尝试手动将 PC 2 的地址信息添加到 PC 1 的 ARP 表中:

C:\WINDOWS\system32>netsh interface ip add neighbors 14 192.168.1.16 02-0f-b5-f4-e0-66


C:\WINDOWS\system32>arp -a

Interface: 192.168.1.74 --- 0xe
  Internet Address      Physical Address      Type
  ...
  192.168.1.16          02-0f-b5-f4-e0-66     static
  ...

C:\WINDOWS\system32>ping 192.168.1.16

Pinging 192.168.1.16 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.

Ping statistics for 192.168.1.16:
    Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

C:\WINDOWS\system32>

所以这显然不是只是ARP 问题。

从 PC 2 的角度来看,我tcpdump在 ping 过程中采取了以下措施:

$ tcpdump -enr dump.cap
11:37:45.730405 1c:3e:84:c8:0c:08 > 88:b1:11:f4:e0:66, ethertype IPv4 (0x0800), length 74: 192.168.1.74 > 192.168.1.16: ICMP echo request, id 1, seq 1317, length 40
11:37:45.730468 88:b1:11:f4:e0:66 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Request who-has 192.168.1.74 tell 192.168.1.16, length 28
11:37:45.764667 1c:3e:84:c8:0c:08 > 88:b1:11:f4:e0:66, ethertype ARP (0x0806), length 42: Reply 192.168.1.74 is-at 1c:3e:84:c8:0c:08, length 28
11:37:45.764678 88:b1:11:f4:e0:66 > 1c:3e:84:c8:0c:08, ethertype IPv4 (0x0800), length 74: 192.168.1.16 > 192.168.1.74: ICMP echo reply, id 1, seq 1317, length 40

在 ICMP 回显请求之前没有who-has,因为我们已经手动布置了它...但 PC 21c:3e:84:c8:0c:08在成功的 ARP 查询后明确以回显答复做出响应 - 好东西 - 但 PC 1 声称从未收到它。

另外,ping 之后,PC 2 的 ARP 表中有 PC 1 的地址(我之前已将其删除):

$ arp -n
Address                  HWtype  HWaddress           Flags Mask            Iface
...
192.168.1.74             ether   1c:3e:84:c8:0c:08   C                     wlp3s0
...

在 PC 1 和 PC 2 上用 Wireshark 重复 pingtcpdump会显示以下内容(请参阅下面的转储):

  • PC 1 → PC 2 的流量似乎没有问题
    • 不存在源的 MAC 混合
  • 来自 PC 2 → PC 1 的流量仅当是广播时才会被接收(例如:ARP 请求)
    • 那里源的 MAC 混合

个人电脑 1

$ tcpdump -enr pc1_dump4.cap
reading from file pc1_dump4.cap, link-type EN10MB (Ethernet)
12:17:59.525610 1c:3e:84:c8:0c:08 > 02:0f:b5:f4:e0:66, ethertype IPv4 (0x0800), length 74: 192.168.1.74 > 192.168.1.16: ICMP echo request, id 1, seq 1330, length 40
12:17:59.641049 02:0f:b5:f4:e0:66 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Request who-has 192.168.1.74 tell 192.168.1.16, length 28
12:17:59.641080 1c:3e:84:c8:0c:08 > 02:0f:b5:f4:e0:66, ethertype ARP (0x0806), length 42: Reply 192.168.1.74 is-at 1c:3e:84:c8:0c:08, length 28
12:18:04.345340 1c:3e:84:c8:0c:08 > 02:0f:b5:f4:e0:66, ethertype IPv4 (0x0800), length 74: 192.168.1.74 > 192.168.1.16: ICMP echo request, id 1, seq 1331, length 40
12:18:09.346886 1c:3e:84:c8:0c:08 > 02:0f:b5:f4:e0:66, ethertype IPv4 (0x0800), length 74: 192.168.1.74 > 192.168.1.16: ICMP echo request, id 1, seq 1332, length 40
12:18:14.347539 1c:3e:84:c8:0c:08 > 02:0f:b5:f4:e0:66, ethertype IPv4 (0x0800), length 74: 192.168.1.74 > 192.168.1.16: ICMP echo request, id 1, seq 1333, length 40

电脑 2

$ tcpdump -enr pc2_dump4.cap
reading from file dump4.cap, link-type EN10MB (Ethernet)
12:18:02.206931 1c:3e:84:c8:0c:08 > 88:b1:11:f4:e0:66, ethertype IPv4 (0x0800), length 74: 192.168.1.74 > 192.168.1.16: ICMP echo request, id 1, seq 1330, length 40
12:18:02.206995 88:b1:11:f4:e0:66 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Request who-has 192.168.1.74 tell 192.168.1.16, length 28
12:18:02.289242 1c:3e:84:c8:0c:08 > 88:b1:11:f4:e0:66, ethertype ARP (0x0806), length 42: Reply 192.168.1.74 is-at 1c:3e:84:c8:0c:08, length 28
12:18:02.289254 88:b1:11:f4:e0:66 > 1c:3e:84:c8:0c:08, ethertype IPv4 (0x0800), length 74: 192.168.1.16 > 192.168.1.74: ICMP echo reply, id 1, seq 1330, length 40
12:18:07.122444 1c:3e:84:c8:0c:08 > 88:b1:11:f4:e0:66, ethertype IPv4 (0x0800), length 74: 192.168.1.74 > 192.168.1.16: ICMP echo request, id 1, seq 1331, length 40
12:18:07.122484 88:b1:11:f4:e0:66 > 1c:3e:84:c8:0c:08, ethertype IPv4 (0x0800), length 74: 192.168.1.16 > 192.168.1.74: ICMP echo reply, id 1, seq 1331, length 40
12:18:12.037691 1c:3e:84:c8:0c:08 > 88:b1:11:f4:e0:66, ethertype IPv4 (0x0800), length 74: 192.168.1.74 > 192.168.1.16: ICMP echo request, id 1, seq 1332, length 40
12:18:12.037729 88:b1:11:f4:e0:66 > 1c:3e:84:c8:0c:08, ethertype IPv4 (0x0800), length 74: 192.168.1.16 > 192.168.1.74: ICMP echo reply, id 1, seq 1332, length 40
12:18:17.170982 1c:3e:84:c8:0c:08 > 88:b1:11:f4:e0:66, ethertype IPv4 (0x0800), length 74: 192.168.1.74 > 192.168.1.16: ICMP echo request, id 1, seq 1333, length 40
12:18:17.171025 88:b1:11:f4:e0:66 > 1c:3e:84:c8:0c:08, ethertype IPv4 (0x0800), length 74: 192.168.1.16 > 192.168.1.74: ICMP echo reply, id 1, seq 1333, length 40

如果我反转方向(PC 2 向 PC 1 发送回显请求),那么 PC 1 就永远不会看到该请求。

禁用 Windows 防火墙没有帮助。

作为最后的手段,通过以太网将 PC 1 连接到路由器可以解决问题......但这目前不是一个可接受的解决方案。

有人可以帮忙吗?

相关内容