Когда доступна сеть Personal Hotspot, в списке доступных сетей в iOS и OS X вместо значка блокировки отображается значок цепочки ссылок.
У меня вопрос, как OS X отличает эти сети? В 802.11 указано, как точки доступа по-разному передают свои SSID?
Когда доступна сеть Personal Hotspot, в списке доступных сетей в iOS и OS X вместо значка блокировки отображается значок цепочки ссылок.
У меня вопрос, как OS X отличает эти сети? В 802.11 указано, как точки доступа по-разному передают свои SSID?
Ответы:
Я думаю, что этот вопрос должен быть размещен на сайте Reverse Engineering Stack Exchange . Вы просите подробности реализации о черном ящике ...
На самом деле я немного покопался /System/Library/CoreServices/Menu Extras/AirPort.menu
и/System/Library/Frameworks/CoreWLAN.framework/
Существует частный метод с CWNetwork
именем isPersonalHotspot
вида:
char -[CWNetwork(Private) isPersonalHotspot](void * self, void * _cmd) {
eax = [*(self + 0x4) objectForKey:@"IOS_IE"];
eax = LOBYTE(eax != 0x0 ? 0x1 : 0x0) & 0xff;
return eax;
}
Кажется, просто проверяя некоторые идентификаторы. Я думаю, SFRemoteHotspotDevice
и WiFiXPCEventProtocol
может иметь более низкие детализации уровня, но я не проверял.
Кстати, есть также свойство, чтобы определить, является ли сеть CarPlay
@interface CWNetwork : NSObject <NSCopying, NSSecureCoding>
... //redacted
@property(readonly) BOOL isPersonalHotspot;
@property(readonly) BOOL isCarPlayNetwork;
... //redacted
Apple контролирует аппаратное обеспечение, драйверы и операционную систему, я думаю, они могут легко добавлять дополнительные метаданные при передаче сигнала WiFi, чтобы ваш Mac знал, добавлять ли значок цепочки или нет.
Если кто-нибудь выяснит, как именно Apple справилась, пожалуйста, дайте мне знать. :)
Значок цепочки показывает, что интернет-соединение соединяется через другое устройство. Это не специально для личных точек доступа.
Apple общается с Apple, они знают свои продукты и знают, когда это устройство Apple или нет. У Apple может быть свой диапазон MAC-адресов, или они просто видят всю информацию об этом устройстве, а именно:
Если вы идете в Об этом Mac, Системный отчет, Сеть, Wi-Fi. Вы увидите следующую информацию об этой сети / устройстве.
Проверьте на интерфейсах: тип карты, MAC-адрес или локаль. Это могут быть все «Apple Identifiers». Создавая точку доступа с вашим iPhone, Apple решила поделиться информацией с вашим Mac, чтобы показать, что это устройство Apple.