使用可能なパーソナルホットスポットネットワークがある場合、iOSおよびOS Xで使用可能なネットワークのリストに、通常のロックアイコンの代わりにチェーンリンクアイコンが表示されます。
私の質問は、OS Xがこれらのネットワークをどのように区別するかです。802.11では、ホットスポットがSSIDを異なる方法でブロードキャストする方法が指定されていますか?
使用可能なパーソナルホットスポットネットワークがある場合、iOSおよびOS Xで使用可能なネットワークのリストに、通常のロックアイコンの代わりにチェーンリンクアイコンが表示されます。
私の質問は、OS Xがこれらのネットワークをどのように区別するかです。802.11では、ホットスポットがSSIDを異なる方法でブロードキャストする方法が指定されていますか?
回答:
この質問はリバースエンジニアリングスタック交換サイトに投稿する必要があると思います。ブラックボックスに関する実装の詳細を求めています...
実際、私は少し周りを掘るんでした/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について、システムレポート、ネットワーク、Wifiに移動した場合。このネットワーク/デバイスに関する次の詳細が表示されます。
インターフェイスで確認してください:カードの種類、MACアドレス、またはロケール。これらはすべて「Apple Identifiers」になる可能性があります。iPhoneでホットスポットを作成する際、AppleはMacと情報を共有してAppleデバイスであることを示すことにしました。