我试图查找具有特定 IP 地址的计算机在我们的内部网络上。我已经从 DNS 中识别了计算机名称,但在这种情况下它对我没有帮助。
我只是想知道我是否可以以某种方式将 IP 绑定到交换机端口并从那里跟踪它?如果可以,怎么做?
答案1
给定一个 IP 地址,您应该能够找到相应主机的 MAC 地址。
arp -a
在 Windows 和 Linux 上都会显示该主机的 arp 缓存,将 IP 映射到 MAC 地址。(请注意,这需要在与您尝试查找的计算机位于同一 IP 子网的计算机上运行)。
获得 MAC 地址后,登录到您怀疑恶意主机所连接的交换机,并在 MAC 地址表中搜索该地址。(MAC 地址表也称为桥接表或 CAM 表)。
例如,在基于 Cisco IOS 的交换机上,以下命令:
show mac-address-table address <MAC address>
将显示给定 MAC 地址上次出现的端口。如果结果端口是另一台交换机的链接,请登录该交换机并再次运行该命令。重复此操作,直到找到主机端口,您就应该找到罪魁祸首了。
请注意,这种方法仅在您拥有允许查询其 MAC 地址表的托管交换机时才有效。否则,就需要手动排除;找到您知道的每个端口不是恶意机器,直到剩下一个你无法解释的端口。祝你好运。
答案2
正如其他人提到的,没有直接的方法来确定连接到某个交换机端口的 IP。原因是以太网交换机在 OSI 模型的 L2 上工作,并且通常不检查更高级别的层(第 3 层 -> IP 地址)。(较新的硬件中有一些例外)
需要注意的是,要使用 ping / ARP 技巧,您需要使用与要搜索的设备位于同一 VLAN 或子网的设备。否则,您将只能在 ARP 表中看到默认网关的 MAC 地址。
如果可能的话,这是我推荐的程序。
源和目标位于同一 VLAN
- 向您尝试定位的设备发出 ping 指令。
- 一旦成功返回,请在 ARP 表中查找该设备的 MAC 地址。
- 登录交换机本身,通过 MAC 地址表查找步骤 2 中找到的地址。(MAC 地址表也可以称为 CAM 表)。MAC 地址表提供 MAC 地址到交换机端口的映射。
源和目标位于不同的 VLAN
- 从核心路由器或可疑默认网关发出 ping 命令。显然,如果所有路由都在同一台设备上完成,这种方法效果最好。
- 如果有多个 L3 接口,您可能需要“遍历”网络,从一个 L3 接口到另一个 L3 接口执行 ping / ARP 检查,直到找到作为您正在搜索的设备的默认网关的接口。
- 一旦找到它,您就可以登录交换机并搜索 MAC 地址表来查找端口。
答案3
检查交换机上的 ARP 缓存以查找 MAC 地址和交换机端口与该设备的 IP 关联。本文应该可以帮助您:
答案4
物理接口和 IP 地址之间不存在 1:1 映射。交换机上的一个端口可以处理多台机器的流量(如果另一台交换机采用菊花链连接),而一个交换机端口可以转发多个 IP 的流量(如果机器采用多宿主连接)。
如果您有一个足够先进的交换机,您可以查看交换机的管理屏幕,看看它是否列出了在特定端口上听到的 MAC 地址。
或者,假设您想要查找的计算机距离不太远(逻辑上),您可以尝试向其发送大量流量,比如说ping -f
,这应该允许您通过查看活动指示灯来追踪机器所在的端口。