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

时间:2015-03-29 15:47:37

标签: objective-c xcode ip

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

route print | find " 0.0.0.0"