查找直连设备的IP地址

pmf*_*pmf 18 windows ip discovery

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

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

(我知道这样做的真正方法可能是通过DHCP,但这是关于发现传统设备.)

Mas*_*imo 16

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

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

例如,您有ip 192.168.1.1和子网255.255.255.0

  1. ping 192.168.1.255
  2. 5秒后停止ping
  3. 观看设备回复:arp -a

注意:在步骤3中,您将获得MAC到IP缓存条目的列表,因此您的子网中的主机也会在最后几分钟内交换数据,即使它们不回复icmp_get也是如此.

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

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

  • 如果地址不在 192.168.1.0/24 子网中怎么办? (2认同)

Bri*_*ite 8

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

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

当然,如果网络堆栈之前已经看到其中的流量,它将只知道其他主机.您可能必须首先在接口上发送广播数据包以引发某种响应,从而填充本地ARP表.


小智 8

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


小智 5

最好的方法是安装Wireshark,重新启动设备以等待TCP / UDP流,广播将宣布两个以太网端口的IP地址。这在连接的设备未启用DHCP客户端的情况下特别有用,然后可以从那里开始。