Получение IP-адреса маршрутизатора, к которому подключен iPhone, с помощью Bonjour

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

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

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

Спасибо


person RJ168    schedule 11.08.2016    source источник


Ответы (1)


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

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

Получение таблицы маршрутизации на MACOSX (программно)

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

person dgatwood    schedule 14.08.2016
comment
Просто чтобы добавить одну незначительную нитку к моему ответу. Есть одна ситуация, когда mDNS может знать о вашем маршрутизаторе. Если маршрутизатор является базовой станцией аэропорта или Time Capsule, mDNS может использовать это устройство в качестве спящего прокси-сервера. Однако тот факт, что это то же устройство, что и маршрутизатор, является совершенно случайным, и это не гарантируется. Mac с отключенным режимом сна или Apple TV также могут выступать в качестве SPS. Насколько мне известно, нет никакого способа узнать, какое устройство используется в качестве SPS, кроме как путем чтения журналов. В любом случае, mDNS не волнует, что это маршрутизатор. - person dgatwood; 14.08.2016