我们的网络出现 IP 地址冲突的错误,我想找到所有设备的 IP 地址。(我之前也有需要)。(更新/说明:我也在寻找基于 Windows 的。)
有什么建议?
我已经阅读了对各种工具(Look@Lan、Angry IP Scanner)的建议,我正在寻找使用过这些工具或其他工具的人的建议。
我们最近在路由器故障转移后发现了一个问题,即我们的 Windows 2008 Boxes 在故障恢复后没有开始与主路由器通信。
当我们进行一些挖掘时,他们仍然拥有来自辅助路由器的 ARP 条目。根据TechNet 博客,这是故意设计的:
首先,如果接收到 ARP 广播,Windows Vista 或 Windows Server 2008 将不会更新邻居缓存,除非它是接收者的广播 ARP 请求的一部分。这意味着,当在装有 Windows Vista 和 Widows Server 2008 的网络上发送免费 ARP 时,如果存在 IP 地址冲突,这些系统将不会使用不正确的信息更新其缓存。
其次,似乎只有当机器无法再与当前位于其缓存中的机器交谈时,Windows 邻居缓存(arp-cache)才会更新。它不会偶尔发出 ARP 请求以确保缓存未过期。虽然这在初始故障转移期间不是问题,但在故障恢复期间,当两个框都处于活动状态时,这会导致窗口继续与辅助框通话。
有什么办法可以强制 Windows 2008 接受免费 ARP 请求?
在 Linux 和其他系统上,有一个名为 arping 的实用程序,可用于发送 ARP 请求(“ping”)并显示答案,很像“ping”实用程序,但使用 ARP 而不是 ICMP。
有没有办法在 Windows 上做同样的事情?(我使用 Windows 7)
子网中的某些客户端使用旧 MAC 地址缓存了 IP,我希望它们通过执行 ARP 广播来更新新值,这在 Linux 中可行吗?
希望这里的人可能对我们面临的问题有所了解。目前,我们让思科 TAC 正在调查此案,但他们正在努力寻找根本原因。
虽然标题提到了 ARP 广播和高 CPU 使用率,但现阶段我们不确定它们是否相关。
原问题已发布在INE在线社区
我们已将网络精简为没有冗余设置的单个链路,将其视为星形拓扑。
事实:
我们有 AT&T U-Verse 互联网服务,它有一个非常笨拙的 DSL 网关。
我们有 5 个 IP(网络掩码 248),但网关除了单个 IP -> 单个 MAC 地址映射之外无法执行任何操作。
我们有一台防火墙机器,我们将不同的 IP/端口组合重定向到 DMZ 内的不同位置。
到目前为止,我们的解决方案是在防火墙上安装一个 VMWare 虚拟机,其中有 4 个额外的 NIC,以获取其他 4 个 IP 地址……但是我们遇到了问题。
网关基本上是在执行 ARP ping 以查看 IP 是否在预期的 MAC 上响应。由于 4 个 NIC 都在同一个 LAN 上,Linux 使用单个接口响应所有 IP 的 ARP 请求。这不是网关所期望的,它弄乱了其他 3 个 NIC。网关拒绝为 ARP ping 结果不是预期 MAC 的 IP 路由传入流量。
我们怎样才能得到 eth0 的 IP 出 eth0、eth1 的 IP 出 eth1 等的 ARP 回复?
编辑
Christopher Cashell 的响应在这种情况下不起作用。我对阅读它抱有很大的希望,但是......不。
编辑 2
解决了!看我下面的回答。
我有一个运行 linux 的机器人,带有有线和无线适配器。当我启动时,它连接到无线网络正常。当我为有线(静态或使用 DHCP)分配 IP 时,它看起来可以正常工作。如,ifconfig显示正确的 IP 并route显示正确的路由。但是,当我对有线 IP 进行 ARP 请求时,ARP 回复包含无线 MAC。
???机器人上没有桥接器,为什么我没有有线MAC???
断线时,有线IP回复ping...
为什么机器人通过无线接口回复有线 IP 请求???
编辑:同一 IP 子网上的有线和无线适配器。我从同一 IP 子网上的一台计算机(用不同的计算机尝试过)发出 ARP 请求。
相关的 ifconfig 输出:
eth0 Link encap:Ethernet HWaddr 00:01:C0:04:BD:F7
inet addr:192.168.0.110 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
ra0 Link encap:Ethernet HWaddr 24:3C:20:06:3E:6D
inet addr:192.168.0.101 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST …Run Code Online (Sandbox Code Playgroud) 我(和一位同事)刚刚注意到并测试过,当一台 Linux 机器被 ping 时,在最后一次 ping 之后,它会向启动 ICMP ping 的机器发起单播ARP 请求。ping Windows 机器时,Windows 机器最后不会发出 ARP 请求。
有谁知道这个单播 ARP 请求的目的是什么,为什么它发生在 Linux 而不是 Windows?
Wireshark 跟踪(10.20.30.45 是一个 Linux 机器):
No.Time Source Destination Prot Info
19 10.905277 10.20.30.14 10.20.30.45 ICMP Echo (ping) request
20 10.905339 10.20.30.45 10.20.30.14 ICMP Echo (ping) reply
21 11.904141 10.20.30.14 10.20.30.45 ICMP Echo (ping) request
22 11.904173 10.20.30.45 10.20.30.14 ICMP Echo (ping) reply
23 12.904104 10.20.30.14 10.20.30.45 ICMP Echo (ping) request
24 12.904137 10.20.30.45 10.20.30.14 ICMP Echo …Run Code Online (Sandbox Code Playgroud) 下面更新:下面更新 2:最终解决方案
我有一台全新的 HP EliteBook 笔记本电脑 8560p,运行 Windows 7 64 位。我把它插到一个小的Dlink di-604路由器上,它目前配置了DHCP,得到的IP地址是192.168.1.100,路由器的IP地址是192.168.1.6。我插入第二个笔记本,它的 IP 地址为 192.168.1.101。这就是插入的全部内容,并且路由器未连接到 WAN。如果我继续使用第二个笔记本 (.101) 并 ping 第一个 (.100),它没有响应。如果我尝试 ping 192.168.1.2(一个不存在的 IP 地址),我会收到一个响应,并且我在 arp 缓存中注意到第一台机器的 MAC 地址为 ip 192.168.1.2 和 192.168.1.100 列出。第一台机器上没有定义 192.168.1.2,也从来没有,这是一个直接开箱即用的笔记本。ipconfig /all 响应 192.168.1.100 和 192.168.1。
我尝试将第一台机器设置为静态地址 192.168.1.150。同样的结果,无法 ping .150 但响应 ping .2。, .2 和 .150 出现在 .101 的 arp 缓存中,具有相同的 MAC 地址。
一些观察结果:当响应 .2 上的 ping 时,它不是始终低于 1 毫秒或更少,它通常是一个相当高的范围数,从 4 毫秒到 30 毫秒不等,考虑到两者都连接到同一个交换机,这真的很奇怪。
我尝试了多个路由器、dlink、sonicwall 和另一个 dlink。全部结果相同
如果我对整个局域网使用不同的子网,比如 192.168.0.x 而不是 192.168.1.x,那么它的工作和响应都没有问题。
有谁见过这样的事情吗?
更新:我对这个神秘的 IP 地址 192.168.1.2 …
我通过使用创建了一个开放的临时 wlan iwconfig(我也有同样的问题wpa_supplicant)。网络上有 4 个节点,如下图所示。节点运行 ubuntu 12.04 和 debian Squeeze,并具有 3.7.1、3.5 和 3.2 内核。我使用两个不同的 USB 加密狗品牌(TP link 和 ZCN),它们都有 AR9271 芯片组和ath9k_htc驱动程序(这里是lsusb 输出和ethtool 输出)。
我遇到的问题是具有 TP 链接 USB wifi 加密狗的两个节点(10.0.0.2和10.0.0.5)可以 ping 网络上的任何节点,反之亦然。但是,其他具有 ZCN wifi dongle 的节点(10.0.0.6和10.0.0.7)无法相互 ping,但它们与 TP-link wifi 模块通信没有问题。tcpdump显示10.0.0.6并且10.0.0.7无法看到他们的 arp 请求,例如
20:37:52.470305 ARP, Request who-has 10.0.0.7 tell 10.0.0.6, length 28
20:37:53.463713 ARP, Request who-has 10.0.0.7 tell 10.0.0.6, …Run Code Online (Sandbox Code Playgroud)