查找直接连接的设备的IP地址

问题描述

| 有没有办法找出直接连接到特定以太网接口的设备的IP地址?即如果给定一台主机,一个有线以太网连接和一台第二主机连接到该有线连接,则可以使用IP之下的哪一层或协议来找出这一点。 对于使用某些Windows-API函数或回调的仅Windows解决方案,我也很满意。 (我知道这样做的真正方法可能是通过DHCP,但这是关于发现旧设备的。)     

解决方法

要使用DHCP,您必须在主要服务器上运行DHCP服务器,在次要服务器上运行客户端。然后主服务器可以查询服务器,以了解服务器发出的地址。可能是过度杀伤力。 我不能直接帮助您使用Windows。在Unix上,\“ arp \”命令将告诉您已知将哪些IP地址附加到本地以太网段。 Windows将具有相同的信息(因为它是IP /以太网接口的核心部分),但我不知道您如何获得它。 当然,如果网络堆栈以前曾看到过该主机的流量,则它只会知道其他主机。您可能必须先在接口上发送广播数据包,以引起某种响应,从而填充本地ARP表。     ,嗯...有很多方法。 我回答了另一个网络发现问题,并写了一些入门指南。 一些tcpip堆栈会回复icmp广播。 因此,您可以尝试PING您的网络广播地址。 例如,您有IP 192.168.1.1和子网255.255.255.0 ping 192.168.1.255 5秒后停止ping 观看设备回复:arp -a 注意:在第3步中,您将获得MAC-to-IP缓存条目的列表,因此,子网中也有主机在最后几分钟与您交换数据,即使这些主机不回复icmp_get。 注意(2):现在我在linux上。我不确定,但可能是Windows无法通过广播回复icm_get。 它是PC上唯一连接的一台设备吗? 是路由器还是其他简单的PC?     ,最好的方法是安装Wireshark,重新启动设备以等待TCP / UDP流,广播将宣布两个以太网端口的IP地址 当连接的设备未启用DHCP客户端时,此功能特别有用,然后您可以从那里进行。     ,Windows 7中包含arp命令。 arp -a应该向您显示连接到系统的静态和动态类型接口。     ,您还可以从直接连接的网络设备获取信息,例如使用LDWin的网络交换机,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标识符,端口标识符,固件版本等。