Wie erkennen iOS und OS X, wenn ein Wi-Fi-Netzwerk ein persönlicher Hotspot ist?

Wenn ein persönliches Hotspot-Netzwerk verfügbar ist, wird in der Liste der verfügbaren Netzwerke unter iOS und OS X anstelle des üblichen Schlosssymbols ein Kettengliedsymbol angezeigt.

Drop-down-Menü zur Auswahl des Wi-Fi-Netzwerks in OS X

Meine Frage ist, wie unterscheidet OS X diese Netzwerke? Ist in 802.11 angegeben, wie Hotspots ihre SSIDs unterschiedlich übertragen?

Ich habe dir ein + gegeben, nur weil du mich mit dem explodierten Reis zum Lachen gebracht hast :)
Klingt nach einer Gelegenheit, Wireshark/Promiscuous Sniffer auszubrechen.
Ich habe meine Antwort gelöscht, weil anscheinend ein persönlicher iPhone-Hotspot kein Ad-hoc-Netzwerk ist . Ich glaube, es gibt andere Daten, die das Netzwerk als persönlichen Hotspot identifizieren, aber ich habe noch keine Einzelheiten für eine Antwort. (Ich bin mir ziemlich sicher, dass es nicht auf der MAC-Adresse basiert, wie @emotality vorgeschlagen hat)
Ich wette , es gibt eine Apple-spezifische IEEE802.11-Beacon-Frame-Erweiterung, die Tethering ankündigt, wie es andere tun (z. B. Ciscos CCX). Leider habe ich kein Gerät zum Testen.

Antworten (4)

Ich denke, diese Frage sollte auf der Reverse Engineering Stack Exchange- Site veröffentlicht werden. Sie fragen nach den Implementierungsdetails einer Blackbox ...

Tatsächlich habe ich ein wenig auf /System/Library/CoreServices/Menu Extras/AirPort.menuund herumgegraben/System/Library/Frameworks/CoreWLAN.framework/

Es gibt eine private Methode CWNetworknamens isPersonalHotspot, Art von:

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

Es scheint nur einige Kennungen zu überprüfen. Ich denke, SFRemoteHotspotDeviceund WiFiXPCEventProtocolkann mehr Details auf niedriger Ebene haben, aber ich habe es nicht überprüft.

Übrigens, es gibt auch eine Eigenschaft, um festzustellen, ob es sich um ein CarPlay-Netzwerk handelt

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

Apple kontrolliert die Hardware, die Treiber und das Betriebssystem. Ich denke, sie können beim Senden des WLAN-Signals problemlos zusätzliche Metadaten hinzufügen, damit Ihr Mac weiß, ob das Kettensymbol hinzugefügt wird oder nicht.

Wenn jemand genau herausfindet, wie Apple den Trick gemacht hat, lass es mich bitte wissen. :)

Apple spricht mit Apple, sie kennen ihre eigenen Produkte und wissen, wann es sich um ein Apple-Gerät handelt oder nicht. Apple hat möglicherweise einen eigenen MAC-Adressbereich oder sie sehen einfach alle Informationen zu diesem Gerät, dh:

Wenn Sie zu "Über diesen Mac", "Systembericht", "Netzwerk", "WLAN" gehen. Sie sehen die folgenden Details zu diesem Netzwerk/Gerät.

WLAN-Details

Überprüfen Sie an den Schnittstellen: Kartentyp, MAC-Adresse oder Gebietsschema. Dies können möglicherweise alle "Apple Identifiers" sein. Beim Erstellen eines Hotspots mit Ihrem iPhone hat Apple beschlossen, die Informationen mit Ihrem Mac zu teilen, um zu zeigen, dass es sich um ein Apple-Gerät handelt.

Ich muss sagen, ich habe anfangs wirklich bezweifelt, dass dies eine Möglichkeit sein könnte, da keine dieser Informationen außer MAC in 802.11 geteilt wird, aber nachdem ich mich damit befasst habe, fange ich an zu glauben, dass Ihre Theorie einen gewissen Wert haben könnte. Anscheinend die erste 3 Oktette einer MAC-Adresse geben den Hersteller des Geräts an, und Apple verwendet einen separaten Herstellerteil der MAC-Adresse auf allen seinen iDevices.
Wenn ich jetzt irgendwie die BSSID eines Zugangspunkts fälschen könnte, damit er als iDevice angezeigt wird, könnte ich diese Theorie möglicherweise bestätigen oder widerlegen ... Weiß jemand, wie dies erreicht werden könnte? (Oder ob es überhaupt möglich ist?)
Lol nein, ich denke nicht, dass es eine gute Idee ist, hier Hacking-Fragen zu stellen: P, aber Sie können die Antwort als richtig markieren, wenn sie Ihre Frage beantwortet hat. :D
Ich denke, das ist nicht der Fall. Sogar Hotspots, die mit Android-Geräten erstellt wurden, zeigen das „Ketten“-Symbol.
Wo hast du das gesehen, Suraj Thapar?

Das Kettensymbol zeigt an, dass die Internetverbindung über ein anderes Gerät überbrückt wird. Es ist nicht speziell für persönliche Hotspots.

Abgesehen davon, dass WLAN-Verbindungen fast immer zu einem anderen Netzwerkgerät gebrückt werden, erklärt dies nicht wirklich, warum Hotspots, die auf Android-Geräten erstellt wurden, nicht mit einem Kettensymbol angezeigt werden.
Unter macOS Sierra zeigen Hotspots, die mit Android-Geräten erstellt wurden, das Kettensymbol.

Außerdem werden Hotpots unter iOS ebenfalls als 172.20.10.x identifiziert.

Sie erhalten keinen DHCP-Verkehr, es sei denn, Sie haben sich mit dem AP verbunden.