2016-08-11 120 views
0

我想通過掃描MDNS獲取我的iPhone當前連接的路由器的IP地址。使用Bonjour提取iPhone連接的路由器的IP地址

我認爲這可以通過Apple提供的Bonjour編程實現,但不能得到正確的實現/指導。

有人可以幫助這裏的一些參考代碼/文件/網址?

謝謝

回答

1

mDNS和路由是完全不相關的系統; mDNS流量甚至無法路由。

我知道獲取路由數據的唯一方法是使用sysctl或路由套接字。我認爲只有sysctl在iOS中工作(因爲你不是root),但我不確定。請參閱:

Getting routing table on MACOSX (programmatically)

甚至,將讓你只路由器的本地網絡地址,這可能不是你要找的是什麼,這取決於你的目標。

+0

只是爲我的答案添加一個小小的黑洞。有一種情況是mDNS *可能知道你的路由器。如果路由器恰好是機場基站或Time Capsule,則mDNS *可能*使用該設備作爲睡眠代理服務器。事實上,這恰好與路由器是同一臺設備,這完全是巧合,但這並不能保證。禁用睡眠功能的Mac或Apple TV也可以充當SPS。據我所知,除了通過讀取日誌之外,沒有辦法找出哪些設備被用作SPS。無論哪種方式,但mDNS並不在乎它是路由器。 – dgatwood