如何获取我的网络中所有设备的名称和IP地址,或获取我连接的路由器的IP地址?

6
好的,我正在尝试编写一个与硬件(路由器)配合工作的应用程序。我的应用程序的第一部分是显然要检测设备是否在网络中(无论是在WAN端还是LAN端,因为路由器可以从两个方向访问,无论您连接到下游路由器还是直接连接到我正在应用程序中访问的路由器) - 我希望这样说有意义。
我想到了两种检测设备是否在网络中的方法:
1. 因为我知道网络上设备的名称,所以我能否让应用程序编译出所有连接到网络的设备列表,然后检查我要查找的设备名称是否出现在列表中?
2. 第二种选择意味着应用程序只能在连接到路由器的LAN端时自动连接,因此不如第一种选择好。我会通过某种方式获取路由器的默认网关,并向其发送API请求,然后查看是否有回复(如果有回复,则可以假定已连接到正确的设备)。
因此,总结起来,我需要一种方法来获取连接到我所在网络的所有设备的名称和IP地址(这是更可取的解决方案),或者获取默认网关(路由器IP地址)的方法。
我很新手,所以请详细说明,让我理解。如果您能真正解释如何实施这一点,也许可以在控制台中输出,那就更好了 - 然后我就可以将其实现到我的程序中,并做我需要做的事情。

请有人回答这个问题。 - Jason
1个回答

0

如果您从DHCP获取了IP地址,那么获取路由器的IP地址就很容易了,因为您的默认路由器就是路由器的IP地址。

route print | find " 0.0.0.0"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接