Comment iOS et OS X détectent-ils lorsqu'un réseau Wi-Fi est un point d'accès personnel?

31

Lorsqu'un réseau Hotspot personnel est disponible, il affiche une icône de maillon de chaîne au lieu de l'icône de verrouillage habituelle dans la liste des réseaux disponibles sur iOS et OS X.

Liste déroulante de sélection du réseau Wi-Fi sous OS X

Ma question est, comment OS X distingue-t-il ces réseaux? Est-il spécifié dans 802.11 comment les hotspots diffusent leurs SSID différemment?

user3052786
la source
5
Je vous ai donné un + juste parce que vous m'avez fait rire avec le riz éclaté :)
Ruskes
2
Cela ressemble à une opportunité d'éclater le wirehark / renifleur promiscuité.
cortex
J'ai supprimé ma réponse car, apparemment, un point d'accès personnel iPhone n'est pas un réseau ad hoc . Je crois qu'il existe d'autres données identifiant le réseau comme un hotspot personnel, mais je n'ai pas encore les détails pour une réponse. (Je suis assez certain qu'il n'est pas basé sur l'adresse MAC comme l'a suggéré @emotality)
Josh
JE PARIE qu'il y a une extension de cadre Beacon IEEE802.11 spécifique à Apple qui annonce le partage de connexion, comme d'autres le font (par exemple Ciscos CCX). Malheureusement, je n'ai pas d'appareil pour tester.
Max Ried

Réponses:

7

Je pense que cette question devrait être publiée sur le site Reverse Engineering Stack Exchange . Vous demandez les détails d'implémentation d'une boîte noire ...

En fait, j'ai creusé un peu /System/Library/CoreServices/Menu Extras/AirPort.menuet/System/Library/Frameworks/CoreWLAN.framework/

Il existe une méthode privée CWNetworkappelée isPersonalHotspot, sorte de:

char -[CWNetwork(Private) isPersonalHotspot](void * self, void * _cmd) {
    eax = [*(self + 0x4) objectForKey:@"IOS_IE"];
    eax = LOBYTE(eax != 0x0 ? 0x1 : 0x0) & 0xff;
    return eax;
}

Il semble juste vérifier certains identifiants. Je pense SFRemoteHotspotDeviceet WiFiXPCEventProtocolpeut avoir plus de détails de bas niveau mais je n'ai pas vérifié.

BTW, Il existe également une propriété pour identifier si le réseau CarPlay est

@interface CWNetwork : NSObject <NSCopying, NSSecureCoding>
... //redacted
@property(readonly) BOOL isPersonalHotspot;
@property(readonly) BOOL isCarPlayNetwork;
... //redacted

Apple contrôle le matériel, les pilotes et le système d'exploitation, je suppose qu'ils peuvent facilement ajouter des métadonnées supplémentaires lors de la diffusion du signal WiFi afin que votre Mac sache si l'ajout de l'icône de chaîne ou non.

Si quelqu'un sait exactement comment Apple a fait l'affaire, faites-le moi savoir. :)

Hewigovens
la source
0

L'icône de chaîne indique que la connexion Internet est pontée via un autre appareil. Ce n'est pas spécifiquement pour les hotspots personnels.

NarphXCIX
la source
Mis à part le fait que les connexions Wi-Fi sont presque toujours reliées à un autre appareil réseau, cela n'explique pas vraiment pourquoi les points d'accès créés sur les appareils Android n'apparaissent pas avec une icône de chaîne.
user3052786
Sur macOS Sierra, les points chauds créés à l'aide d'appareils Android affichent l'icône de chaîne.
Suraj
-1

Apple parle à Apple, ils connaissent leurs propres produits et savent quand c'est un appareil Apple ou non. Apple peut avoir sa propre plage d'adresses MAC ou simplement voir toutes les informations sur cet appareil, à savoir:

Si vous accédez à À propos de ce Mac, Rapport système, Réseau, Wifi. Vous verrez les détails suivants sur ce réseau / appareil.

Détails Wifi

Vérifiez les interfaces: type de carte, adresse MAC ou paramètres régionaux. Il peut s'agir de tous les «identifiants Apple». Lors de la création d'un hotspot avec votre iPhone, Apple a décidé de partager les informations avec votre Mac pour montrer qu'il s'agit d'un appareil Apple.

émotivité
la source
Je dois dire que je doutais vraiment que cela puisse être une possibilité au début, car aucune de ces informations, à l'exception de MAC, n'est partagée en 802.11, mais après y avoir lu, je commence à penser que votre théorie pourrait avoir un certain mérite. 3 octets d'une adresse MAC indiquent le fabricant de l'appareil, et Apple utilise une partie fabricant distincte de l'adresse MAC sur tous ses iDevices.
user3052786
Maintenant, si je pouvais en quelque sorte usurper le BSSID d'un point d'accès pour qu'il apparaisse comme un iDevice, je pourrais éventuellement confirmer ou infirmer cette théorie ... Quelqu'un sait comment cela pourrait être accompli? (Ou si cela peut être accompli du tout?)
user3052786
Lol non, je ne pense pas que ce soit une bonne idée de poser des questions de piratage ici: P mais vous pouvez marquer la réponse comme correcte si elle a répondu à votre question. : D
emotality
Je pense que ce n'est pas le cas. Même les hotspots créés à l'aide d'appareils Android affichent l'icône "chaîne".
Suraj
Où avez-vous vu cela se produire, Suraj Thapar?
Coroos
-2

En outre, les hotpots sur iOS sont également identifiés comme 172.20.10.x.

Mike Reed
la source
1
Vous ne recevrez pas de trafic DHCP sauf si vous vous êtes associé à l'AP.
Max Ried