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

cro*_*oss 6 ip xcode objective-c

好的,所以我正在尝试编写一个适用于硬件(路由器)的应用程序.我的应用程序的第一部分是显然检测设备是否在网络上(在WAN端或LAN端,因为路由器可以从两侧访问,无论您是连接到下游路由器还是直接连接到我试图通过应用程序访问的路由器) - 我希望这是有道理的.

我想到的两个选项是检测设备是否在网络上:

  1. 因为我知道网络上设备的名称,我是否可以让应用程序编译连接到网络的所有设备的列表,并检查我要查找的设备的名称是否是其中任何一个?
  2. 第二个选项意味着应用程序只能在应用程序连接到路由器的LAN端时自动连接,因此不如用户必须输入他们尝试访问的路由器ID的IP那样有利. WAN端.我这样做的方法就是通过分配以某种方式获取路由器的默认网关然后只是发送一个API请求并查看它是否回复(如果它回复我可以假设我已连接到正确的设备).

总而言之,我要么需要一种方法来获取连接到我所在网络的所有设备的名称+ IP(这是更好的解决方案)或获取默认网关(路由器IP地址)的方法.

我对此非常陌生,所以请为我提供丰富的信息,以便我理解.如果你真的可以解释如何实现它,我会很感激,也许这样我就可以把它打印出来在控制台中 - 然后我可以将它实现到我的程序中并做我需要做的事情.

Gáb*_*bor 0

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

route print | find " 0.0.0.0"
Run Code Online (Sandbox Code Playgroud)