我目前使用 TalkTalk 路由器访问我的家庭网络。我之前遇到过连接速度慢或完全中断的问题(这不是常见问题)。
我之前下载了 XARP - 一种用于识别 ARP 欺骗攻击的工具 - 该工具检测到我的网络可能存在攻击。我读到过一些文章,为了避免这种情况,你应该将所有 ARP 条目设为静态。即使这样做,arp -a
通过 cmd 运行时条目也会恢复为动态。
在测试过程中,我输入了以下命令来显示我的网络接口(在本例中是我的以太网连接)上的所有邻居:
netsh interface ipv4 show neighbors "Ethernet"
结果可见这里
但是,我注意到这里有一个奇怪的 IP(169.254.93.156),其物理地址为 00-00-00-00-00-00(我假设这是 MAC 地址),类型设置为不可访问。还有许多其他 IP 也具有此 MAC 地址。
当我netstat -ano
通过 cmd 执行检查所有连接和监听端口时,我注意到本地地址显示 0.0.0.0 有点奇怪这里和这里。
在最糟糕的情况下我该怎么办?假设有人知道我的路由器和连接到路由器的设备的所有详细信息。我知道我可以使用 XARP 进行检测,但我该如何防止可能的欺骗攻击?
上述情况是否预示着可能存在 MAC 欺骗攻击?
在这方面我还是个新手,所以任何建议都将受到赞赏。
答案1
169.254.93.156 是APIPA 地址。如果无法从 DHCP 获取地址,许多操作系统将自动选择此范围内的地址。
静态 ARP 要求您执行以下操作:
- 查找网络上每个设备的 MAC 地址。
- 在网络上的每个设备(包括路由器)上配置静态 ARP 条目。
- 当您引入新设备时,更新网络上的每个设备。
除非您按照上述步骤操作,否则您可能做错了。此外,在 iPhone 等设备上无法做到这一点。这会产生大量的“管理开销”,在大多数情况下可能不值得 - 如果您的网络上有不受信任的设备,那么有更好的方法将它们与受信任的设备分开(VLAN 或其他网络分段)。
ARP 将 IP 地址转换为 MAC 地址,通常需要它才能使 LAN 中的设备在未预先加载 IP 到 MAC 映射的情况下相互通信。
如果有人绕过您的路由器,他们就可以在您的网络内使用 ARP 攻击,但是他们首先就不应该绕过您的路由器来做到这一点,因此您应该努力解决这个问题。
如果您怀疑您的网络已被入侵,您需要将您的路由器离线,重置它,确保固件已更新到最新版本,并更改路由器上的所有密码以及与已知未受入侵的系统中的任何 ISP 或提供商帐户相关的密码。
答案2
但是,我注意到这里有一个奇怪的 IP(169.254.93.156),其物理地址为 00-00-00-00-00-00(我假设这是 MAC 地址),类型设置为不可访问。还有许多其他 IP 也具有此 MAC 地址。
这是正常的。“无法访问”表示 ARP 查找失败的ping
对于此地址(即它不存在于您的本地子网中),因此“MAC 地址”字段保持为空。每当您尝试连接到不存在的本地 IP 地址时,都会显示此类条目。
(邻居表不仅缓存“肯定”结果 - 它还会在短时间内跟踪“否定”条目,以便操作系统不会在 ARP 查询不断失败的情况下用 ARP 查询淹没网络。)
操作系统认为任何位于本地子网内的地址都会发生这种情况,其中包括 169.254.0.0/16 地址,因为它们是定义即使没有明确配置,也是本地链路。
当我通过 cmd 执行 netstat -ano 检查所有连接和监听端口时,我注意到这里和这里的本地地址显示 0.0.0.0,这有点奇怪。
这是正常的(而且完全地与前文无关)。
在用于建立侦听套接字的 bind() 函数中,全零地址(0.0.0.0
对于 IPv4 或::
IPv6)表示“未指定的地址”,并将套接字绑定到全部可用的本地地址。