【问题标题】:Fetching IP address of router to which iPhone is connected using Bonjour使用 Bonjour 获取 iPhone 连接的路由器的 IP 地址
【发布时间】:2016-12-18 03:07:33
【问题描述】:

我想通过扫描 MDNS 来获取我的 iPhone 当前连接的路由器的 IP 地址。

我认为这可以通过 Apple 提供的 Bonjour 编程来实现,但无法获得正确的实施/指导。

有人可以在这里提供一些参考代码/文档/网址吗?

谢谢

【问题讨论】:

    标签: ios networking ip-address router bonjour


    【解决方案1】:

    mDNS 和路由是完全不相关的系统; mDNS 流量甚至没有被路由。

    我知道获取路由数据的唯一方法是使用 sysctl 或路由套接字。而且我认为只有 sysctl 在 iOS 中有效(因为您不是 root),但我不确定。见:

    Getting routing table on MACOSX (programmatically)

    即使这样,您也只能获得路由器的本地网络地址,这可能不是您想要的,具体取决于您的目标。

    【讨论】:

    • 只是在我的答案中添加一个小细节。在一种情况下,mDNS 可能了解您的路由器。如果路由器恰好是 Airport Base Station 或 Time Capsule,mDNS可能将该设备用作睡眠代理服务器。但是,这恰好是与路由器相同的设备这一事实完全是巧合,并且不能保证。禁用睡眠的 Mac 或 Apple TV 也可以充当 SPS。据我所知,除了阅读日志之外,没有办法找出正在用作 SPS 的设备。不过,无论哪种方式,mDNS 都不在乎它是路由器。
    猜你喜欢
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-13
    • 2021-08-14
    相关资源
    最近更新 更多