Как iOS и OS X определяют, когда сеть Wi-Fi является личной точкой доступа?

31

Когда доступна сеть Personal Hotspot, в списке доступных сетей в iOS и OS X вместо значка блокировки отображается значок цепочки ссылок.

Раскрывающийся список выбора сети Wi-Fi в OS X

У меня вопрос, как OS X отличает эти сети? В 802.11 указано, как точки доступа по-разному передают свои SSID?

user3052786
источник
5
Я дал тебе + только потому, что ты заставил меня смеяться над
взорвавшимся
2
Звучит как возможность разжечь проволочную акулу / беспорядочный сниффер.
корчи
Я удалил свой ответ, потому что, очевидно, личная точка доступа iPhone не является специальной сетью . Я полагаю, что есть другие данные, идентифицирующие сеть как личную точку доступа, но у меня пока нет конкретной информации для ответа. (Я совершенно уверен, что он не основан на MAC-адресе, как предложено @emotality)
Джош
Я СТАЛА, что есть специальное расширение IEEE802.11 Beacon Frame от Apple, которое объявляет о привязке, как и другие (например, Ciscos CCX). К сожалению, у меня нет устройства для тестирования.
Макс Райд

Ответы:

7

Я думаю, что этот вопрос должен быть размещен на сайте 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 справилась, пожалуйста, дайте мне знать. :)

hewigovens
источник
0

Значок цепочки показывает, что интернет-соединение соединяется через другое устройство. Это не специально для личных точек доступа.

NarphXCIX
источник
Помимо того факта, что соединения Wi-Fi почти всегда соединены с другим сетевым устройством, это на самом деле не объясняет, почему горячие точки, созданные на устройствах Android, не отображаются со значком цепочки.
user3052786
В macOS Sierra на горячих точках, созданных на устройствах Android, отображается значок цепочки.
Сурадж
-1

Apple общается с Apple, они знают свои продукты и знают, когда это устройство Apple или нет. У Apple может быть свой диапазон MAC-адресов, или они просто видят всю информацию об этом устройстве, а именно:

Если вы идете в Об этом Mac, Системный отчет, Сеть, Wi-Fi. Вы увидите следующую информацию об этой сети / устройстве.

Детали Wifi

Проверьте на интерфейсах: тип карты, MAC-адрес или локаль. Это могут быть все «Apple Identifiers». Создавая точку доступа с вашим iPhone, Apple решила поделиться информацией с вашим Mac, чтобы показать, что это устройство Apple.

emotality
источник
Должен сказать, я действительно сомневался, что это может быть поначалу возможным, поскольку ни одна из этой информации, кроме MAC, не используется в 802.11, но после прочтения я начинаю думать, что ваша теория может иметь некоторые достоинства. По-видимому, первое 3 октета MAC-адреса указывают производителя устройства, и Apple использует отдельную часть производителя MAC-адреса на всех своих iDevices.
user3052786
Теперь, если бы я мог каким-то образом подделать BSSID точки доступа, чтобы она отображалась как iDevice, я мог бы подтвердить или опровергнуть эту теорию ... Кто-нибудь знает, как это может быть достигнуто? (Или, если это вообще можно сделать?)
user3052786
Lol нет, я не думаю, что это хорошая идея задавать вопросы о взломе здесь: P, но вы можете пометить ответ как правильный, если он ответил на ваш вопрос. : D
Эмотивность
Я думаю, что это не так. Даже горячие точки, созданные на устройствах Android, имеют значок «цепочка».
Сурадж
Где ты видел это, Сурадж Тапар?
Короос
-2

Также горячие точки на iOS также обозначены как 172.20.10.x.

Майк Рид
источник
1
Вы не будете получать трафик DHCP, если вы не связаны с AP.
Макс Райд