Ob nun iOS 13 oder iPadOS, es gibt verschiedene Wege um weitere Informationen zum WLAN zu erhalten. Die einfachsten Möglichkeiten sind natürlich über Einstellungen → WLAN, aber die Informationen gehen schwerlich über die IP-Adresse hinaus. In diesem Artikel wird dargestellt, wie das iPhone die Verbindung zu einem Alcatel-Lucent Enterprise Stellar Wireless Access Point sieht/analysiert. Dieser Artikel enthält Wissen das ich mir durch diesen tollen Blog Artikel angeeignet habe.
Der erste Weg zu detaillierteren Informationen führt über Einstellungen → Datenschutz → Analyse → Analysedaten → WiFiConnectionQuality-xxxx-xx-xx-xxxxxx.ips
In diesem Report sind auch Geo-Daten über das WLAN hinterlegt, wenn man diese weiterleitet sollte dies bekannt sein / berücksichtigt werden. Für diese Analyseart sind keine weiteren Erweiterungen/Profile o.ä. notwendig.
Eine erweiterte Analyse ist über das Hinzufügen eines von Apple für diese Art der Analyse bereitgestellten Profils möglich. Dieses Profil kann über diese Apple-Webseite über die Angabe der eigenen Apple-ID und Akzeptanz der „Developer“-Lizenzbedingungen installiert werden. Durch dieses Profil werden neue Diagnosefunktionen unter Einstellungen → WLAN → Diagnosemodus und Einstellungen → WLAN → (eigenes WLAN) → Diagnostics zugänglich.
Die durch die oben gezeigte Funktion erzeugten Logs befinden sich nach einem Sync mit iTunes (Sync, nicht Backup!) im Verzeichnis /Users/<Benutzername>/Library/Logs/CrashReporter/MobileDevice/<Name des mobilen Geräts>/CoreCapture/. Der Name des Verzeichnisses beinhaltet den Kommentar der eingetippt wird und zusätzlich den Zeitstempel der Aufzeichnung z.B. [2019-10-19_13,57,04.553800]=bedroom.
Besonders spannend fand ich die Aufzeichnungen aus den DriverLogs (./Data/com.apple.driver.AppleBCMWLANCoreV3.0/DriverLogs) mit Dateinamen z.B. [2019-10-19_13,54,22.346852]-AppleBCMWLAN_Logs-001.txt.
Aus dieser Datei geht hervor, welche Access Points das iPhone/iPad in die Nachbarschaftstabelle (Roaming-Kandidaten) aufnimmt und mit welcher Signalstärke diese gesehen werden.
Oct 19 13:56:33.810924 +0200 066100.605500 wlan0<N>[62189] constructNeighborCacheFromBeaconCache@6430:Roam candidate# 0 DC:08:56:00:1B:D9 on channel 100 RSSI: -65 Oct 19 13:56:33.810933 +0200 066100.605509 wlan0<N>[62190] constructNeighborCacheFromBeaconCache@6430:Roam candidate# 1 DC:08:56:00:29:11 on channel 11 RSSI: -68 Oct 19 13:56:33.810940 +0200 066100.605516 wlan0<N>[62191] constructNeighborCacheFromBeaconCache@6430:Roam candidate# 2 DC:08:56:00:29:21 on channel 116 RSSI: -69 Oct 19 13:56:33.810946 +0200 066100.605522 wlan0<N>[62192] constructNeighborCacheFromBeaconCache@6430:Roam candidate# 3 DC:08:56:00:29:19 on channel 36 RSSI: -75 Oct 19 13:56:33.810951 +0200 066100.605527 wlan0<N>[62193] constructNeighborCacheFromBeaconCache@6430:Roam candidate# 4 DC:08:56:00:1B:D1 on channel 11 RSSI: -76 Oct 19 13:56:33.810956 +0200 066100.605532 wlan0<I>[62194] dumpNeighborCache@6609:Neihgbor Cache Channels 100 Oct 19 13:56:33.810960 +0200 066100.605536 wlan0<I>[62195] dumpNeighborCache@6609:Neihgbor Cache Channels 11 Oct 19 13:56:33.810963 +0200 066100.605539 wlan0<I>[62196] dumpNeighborCache@6609:Neihgbor Cache Channels 116 Oct 19 13:56:33.810966 +0200 066100.605542 wlan0<I>[62197] dumpNeighborCache@6609:Neihgbor Cache Channels 36
Eine weitere spannende Datei ist ConfigManagerState.txt aus folgendem Verzeichnis: /Users/<Benutzername>/Library/Logs/CrashReporter/MobileDevice/<Name des mobilen Geräts>/CoreCapture/WiFi/[2019-10-19_13,57,04.553800]=bedroom/Data/com.apple.driver.AppleBCMWLANCoreV3.0/StateSnapshots/ConfigManagerState.txt
Hier lassen sich u.a. die Rahmenparameter für die Aufnahme von Access Points in die Liste der Roaming-Kandidaten und Schwellwerte für Roaming ableiten.
Prefer 5GHz threshold parameters from device tree: rssiThreshold = -65 rssiAdjustment = 30 default roam params from device tree: flags = 0x0001 fullRoamScanPeriod = 90 partialRoamScanPeriod = 30 roamResetRSSIDelta = 7 fullRoamScanCount = 2 txFailTrigger = 0 2.4 GHz: rssiTrigger = -75 rssiQualDelta = 20 5 GHz: rssiTrigger = -75 rssiQualDelta = 10 Enterprise roam params from device tree: flags = 0x0001 fullRoamScanPeriod = 90 partialRoamScanPeriod = 30 roamResetRSSIDelta = 7 fullRoamScanCount = 2 txFailTrigger = 0 2.4 GHz: rssiTrigger = -70 rssiQualDelta = 12 5 GHz: rssiTrigger = -70 rssiQualDelta = 12 2.4GHz Roam profile[0]: RSSI:[-10,-75], Flag:0xc, ScanParams:(2,3000,180,2,1200), Candidate:(20,-65,50) 2.4GHz Roam profile[0]: RSSI:[-75,-128], Flag:0x10, ScanParams:(2,90,30,2,180), Candidate:(12,-65,50) 5GHz Roam profile[0]: RSSI:[-75,-128], Flag:0x10, ScanParams:(2,90,30,2,180), Candidate:(12,-128,10) 2.4GHz Roam profile[1]: RSSI:[-75,-128], Flag:0x14, ScanParams:(2,90,30,2,180), Candidate:(12,-65,50) 5GHz Roam profile[1]: RSSI:[-75,-128], Flag:0x14, ScanParams:(2,90,30,2,180), Candidate:(12,-128,10) 2.4GHz Roam profile[2]: RSSI:[-10,-75], Flag:0xc, ScanParams:(2,3000,180,2,1200), Candidate:(20,-65,50) 2.4GHz Roam profile[2]: RSSI:[-75,-128], Flag:0x14, ScanParams:(2,90,30,2,180), Candidate:(12,-65,50) 5GHz Roam profile[2]: RSSI:[-75,-128], Flag:0x10, ScanParams:(2,90,30,2,180), Candidate:(12,-128,10) 2.4GHz Roam profile[3]: RSSI:[-10,-50], Flag:0xc, ScanParams:(2,1200,180,2,600), Candidate:(20,-65,50) 2.4GHz Roam profile[3]: RSSI:[-50,-70], Flag:0xc, ScanParams:(2,1200,180,2,360), Candidate:(15,-65,50) 2.4GHz Roam profile[3]: RSSI:[-70,-128], Flag:0x10, ScanParams:(2,90,30,1,30), Candidate:(12,-65,50) 5GHz Roam profile[3]: RSSI:[-70,-75], Flag:0x0, ScanParams:(2,90,30,1,30), Candidate:(12,-128,0) 5GHz Roam profile[3]: RSSI:[-75,-128], Flag:0x10, ScanParams:(2,90,2,2,30), Candidate:(12,-128,10) AWDL Always ON: N/A Priv Elect: N/A Restricted to infra channel: N/A Restricted Feature Set: N/A Elect Metric: 0 DFS Proxy Support Enabled:YES Motion Profile States from device tree: frozen = 0 Moving = 16 walking = 32 driving = 48
Durch gleichzeitiges drücken (und halten) der Tasten „Lautstärke lauter“, „Lautstärke leiser“ und des „Aufwachen/Siri“-Knopfes bis das iPhone die Aktion mit einer kurzen Vibration bestätigt, wird ein (sehr umfangreicher) Systemdiagnosemodus gestartet.
Die Ausgabe dieser Analyse befindet sich nach dem iTunes-Sync im Verzeichnis /Users/<Benutzername>/Library/Logs/CrashReporter/MobileDevice/<Name des mobilen Geräts>/DiagnosticLogs/sysdiagnose und muss erst entpackt werden sysdiagnose_2019.10.20_15-44-29+0200_iPhone-OS_iPhone_17A878.tar.gz.
Das Verzeichnis „WiFi“ enthält dabei sehr interessante Ausgaben zum (verbundenen) Netzwerk und anderen Rahmenparametern.
Hier als Beispiel mal die Ausgabe in der Datei diagnostics-environment.txt
# --- Diagnostics ———————————————————————————————————————————————————————————————————————————————————————————————————————— Timestamp Name Duration Result Description ———————————————————————————————————————————————————————————————————————————————————————————————————————— Congested Wi-Fi Channel CCA 0.394 No 15:45:03.122 Current channel (100) is NOT congested (CCA = 0.0% congested) Recommended 2.4GHz — 6 Recommended 5GHz — 165 HT40 2.4GHz Networks 0.011 No 15:45:03.517 Did not find HT40 network(s) in 2.4GHz Conflicting Wi-Fi CC 0.002 Yes 15:45:03.529 Found conflicting country code(s) (de) 'Vodafone-79AC' — 88:71:b1:a4:12:6a (EU) 'Vodafone-79AC' — 88:71:b1:a4:12:6b (EU) Hidden Wi-Fi Scan Results 0.000 No 15:45:03.531 Did not find any hidden networks No Scan Results 0.000 No 15:45:03.532 Wi-Fi networks are visible Conflicting PHY Mode 11ac 0.006 No 15:45:03.532 0 PNL networks have conflicting PHY modes (802.11ac). Conflicting PHY Mode 11n 0.007 No 15:45:03.539 0 PNL networks have conflicting PHY modes (802.11n).
Die Datei „wifi_scan_cache.txt“ beinhaltet die Sicht des iPhones auf alle SSIDs in der Umgebung und die verwendeten Sicherheitsverfahren / Signalstärken.