查找直连设备的IP地址

时间:2011-05-25 17:45:33

标签: windows ip discovery

有没有办法找出直接连接到特定以太网接口的设备的IP地址?即给定一个主机,一个有线以太网连接和一个连接到该有线连接的第二个主机,可以使用IP下面的层或协议来找到它。

对于使用某些Windows-API函数或回调的仅使用Windows的解决方案,我也会感到满意。

(我知道实现此目的的真正方法可能是通过DHCP,但这是关于发现传统设备。)

5 个答案:

答案 0 :(得分:15)

嗯......有很多方法。 我回答了另一个网络发现问题,我写了一点getting started

某些tcpip堆栈会回复icmp广播。 因此,您可以尝试PING到您的网络广播地址。

例如,您有ip 192.168.1.1和子网255.255.255.0

  1. ping 192.168.1.255
  2. 5秒后停止ping
  3. 观看设备回复:arp -a
  4. 注意:在步骤3中,您将获得MAC到IP缓存条目的列表,因此您的子网中的主机也会在最后几分钟内交换数据,即使它们没有回复icmp_get

    注意(2):现在我在linux上。我不确定,但它可以是Windows不通过广播回复icm_get。

    它是唯一连接到您电脑的设备吗? 它是路由器还是其他简单的PC?

答案 1 :(得分:8)

要使用DHCP,您必须在主服务器上运行DHCP服务器,在辅助服务器上运行客户端;然后,主服务器可以查询服务器以找出它分发的地址。可能有点矫枉过正。

我无法直接帮助您使用Windows。在Unix上,“arp”命令将告诉您已知哪些IP地址附加到本地以太网段。 Windows将拥有相同的信息(因为它是IP /以太网接口的核心部分),但我不知道你是如何得到它的。

当然,网络堆栈只会知道其他主机以前是否有来自它的流量。您可能必须首先在接口上发送广播数据包以引发某种响应,从而填充本地ARP表。

答案 2 :(得分:4)

您的最佳方法是安装Wireshark,重新启动设备等待TCP / UDP流,广播将宣布两个以太网端口的IP地址 当连接的设备未启用DHCP客户端时,这尤其有用,那么您可以从那里开始。

答案 3 :(得分:2)

您还可以从直接连接的网络设备获取信息,例如使用LDWin的网络交换机,这是一个在github上发布的便携式免费Windows程序:

http://www.sysadmit.com/2016/11/windows-como-saber-la-ip-del-switch-al-que-estoy-conectado.html

LDWin支持以下链路发现方法:CDP(思科发现协议)和LLDP(链路层发现协议)。

您可以获取型号,管理IP,VLAN标识符,端口标识符,固件版本等。

答案 4 :(得分:1)

Windows 7中包含arp命令。 arp -a应该显示连接到系统的静态和动态类型接口。