2016-08-11 1 views
0

Я хочу получить IP-адрес маршрутизатора, к которому мой iPhone в настоящее время подключен через сканирование MDNS.Получение IP-адреса маршрутизатора, к которому подключен iPhone с помощью Bonjour

Я думаю, что это может быть осуществимо с помощью программирования Bonjour, предоставляемого Apple, но не может получить правильную реализацию/руководство.

Может ли кто-нибудь помочь здесь с некоторым кодом ссылки/документацией/url?

Спасибо

ответ

1

MDNS и маршрутизация совершенно не связанные между собой системы; трафик mDNS даже не маршрутизируется.

Единственные способы, с помощью которых я могу получить данные маршрутизации, - использовать либо sysctl, либо routing socket. И я думаю, что только sysctl работает в iOS (потому что вы не root), но я не уверен в этом. См:

Getting routing table on MACOSX (programmatically)

И даже то, что будет вам только локальный сетевой адрес маршрутизатора, который не может быть то, что вы ищете, в зависимости от ваших целей.

+0

Просто добавьте один незначительный нит в мой ответ. Существует одна ситуация, когда mDNS * может * знать о вашем маршрутизаторе. Если маршрутизатор - это базовая станция аэропорта или временная капсула, mDNS * может * использовать это устройство в качестве прокси-сервера сна. Тот факт, что это, случается, является тем же самым устройством, что и маршрутизатор, является совершенно случайным, и это не гарантируется. Mac с отключенным отключением или Apple TV также может выступать в роли SPS. Насколько я знаю, нет способа узнать, какое устройство используется в качестве SPS, кроме как путем чтения журналов. В любом случае, mDNS все равно, что это маршрутизатор. – dgatwood

Смежные вопросы