Startseite TunnelDebugger Support
Eintrag
Abbrechen

TunnelDebugger Support

tunneldebugger – Der umfassende Support-Leitfaden

Willkommen auf unserem Support-Blog für tunneldebugger – die App zur Netzwerk- und VPN-Diagnose! In diesem Beitrag erfährst du, wie meine App funktioniert, welche Features dir zur Verfügung stehen und wie du typische Probleme lösen kannst. Ob du IT-Administrator oder Endnutzer bist – dieser Leitfaden bietet dir wertvolle Einblicke in die Funktionsweise und Bedienung von tunneldebugger.

Einführung

In modernen Unternehmensnetzwerken werden VPN-Lösungen häufig eingesetzt – insbesondere im Rahmen von MDM-On-Demand-VPN-Konzepten. Um sicherzustellen, dass diese Verbindungen reibungslos funktionieren und eventuelle Verbindungsprobleme zeitnah behoben werden können, haben wir tunneldebugger entwickelt. Die App ermöglicht es, VPN-Verbindungen und Netzwerkpfade detailliert zu analysieren, indem sie – über verschiedene Netzwerktools – wichtige Kennzahlen wie Router-IP, Ping-Roundtrip-Time (RTT) oder HTTP-Erreichbarkeit ermittelt.

Funktionsweise

InfoTab

WLAN- und Geräteinformationen

  • WLAN-Daten: Mithilfe der CaptiveNetwork-APIs ermittelt tunneldebugger die aktuelle WLAN-SSID und BSSID. Diese Informationen sind hilfreich, um festzustellen, mit welchem Netzwerk dein Gerät gerade verbunden ist – besonders wichtig in Umgebungen, in denen mehrere Netzwerke aktiv sein können.
  • Geräteinformationen: Zusätzlich zeigt die App grundlegende Systeminformationen an, wie den Namen deines Geräts, den Systemnamen (z. B. iOS) und die aktuelle iOS-Version. Auch die lokale IP-Adresse wird angezeigt, sodass du sofort weißt, unter welcher IP dein Gerät im Netzwerk erreichbar ist.

0033-tunneldebugger-06f1d17e-23b6-45bf-bbc0-6116de8c2bb3.jpg!

PortCheck

  1. Zielverwaltung: Jedes Ziel wird als Instanz von PortCheckTarget modelliert. Diese enthält:
    • Hostname & Port: Die grundlegenden Parameter, die angeben, wohin die Verbindung aufgebaut werden soll.
    • Statusinformationen: isReachable gibt an, ob eine Verbindung erfolgreich hergestellt werden konnte; errorMessage speichert Fehlermeldungen; resolvedIP enthält die über DNS ermittelte IP-Adresse; rtt misst die Round-Trip-Time, also die Zeit, die benötigt wird, um eine Antwort zu erhalten.
    • Weitere Angaben: Angaben wie lastChecked (Zeitpunkt der letzten Überprüfung) und isChecking (ob aktuell eine Prüfung läuft) helfen, den Status kontinuierlich zu aktualisieren.
  2. Asynchrone Überprüfung: Die PortCheckViewModel-Klasse koordiniert die Prüfung aller konfigurierten Ziele. Für jedes Ziel wird:
    • Zunächst der Hostname in eine IP-Adresse aufgelöst (mithilfe einer asynchronen DNS-Auflösung).
    • Anschließend wird versucht, über eine TCP-Verbindung (unter Nutzung des Network‑Frameworks) den Zielport zu erreichen. Der Verbindungsversuch startet eine Zeitmessung: Das gemessene Zeitintervall entspricht der RTT. Falls die Verbindung innerhalb einer bestimmten Zeit (z. B. 30 Sekunden) nicht hergestellt werden kann, wird das Ziel als nicht erreichbar markiert.
  3. Ergebnisdarstellung: Die Resultate der Überprüfung (Erreichbarkeit, RTT, Fehlerdetails) werden in der Benutzeroberfläche in einer Tabelle (Form) angezeigt. Du findest dort separate Abschnitte für die konfigurierten Portziele, inklusive aller Statusinformationen und Messwerte.
    • Außerdem sorgt ein pull-to-refresh dafür, dass der Benutzer den Test manuell neu starten kann.

0025-tunneldebugger-0994d1f4-c5d4-4621-8be2-0747071f2487.jpg!

TracerouteTab

Die Traceroute in tunneldebugger bietet eine umfassende Ansicht, mit der Netzwerkadministratoren und technisch interessierte Anwender den Weg von ICMP-Paketen durch ihr Netzwerk visualisieren können.

  • Der obere Bereich erlaubt eine schnelle Eingabe des gewünschten Ziels und das Starten bzw. Stoppen des Traceroute-Vorgangs.
  • Die Ergebnisse werden Zeile für Zeile angezeigt, wobei jede Zeile interaktiv ist – so können Benutzer direkt auf einen Hop tippen, um weitere Aktionen (z. B. Kopieren der IP, Whois-Abfrage) durchzuführen.
  • Der gesamte Prozess ist asynchron aufgebaut, sodass Änderungen in Echtzeit in der UI erscheinen.

Dieser Aufbau unterstützt nicht nur die Diagnose von Netzwerkpfaden, sondern ermöglicht auch eine intuitive Interaktion mit den einzelnen Netzwerkknoten – was bei der Fehlersuche in VPN- oder lokalen Netzwerken äußerst hilfreich sein kann.

0027-tunneldebugger-cac3c08d-5638-49d4-add4-36e90f7e44cf.jpg!

Einstellungen Tab

Der Einstellungen-Tab in tunneldebugger bietet dir auf einen Blick alle wichtigen Berechtigungs- und Debug-Einstellungen – von der Standortfreigabe über den lokalen Netzwerkzugriff bis hin zur Log-Steuerung. Er ermöglicht es, systematisch zu überprüfen, ob alle Berechtigungen erteilt sind, und bietet die Möglichkeit, den Detailgrad der Logausgaben (also den Debug-Modus) zu steuern. Hier ein Überblick:

Einstellungen Tab

  • Lokaler Netzwerkzugriff: Es wird angezeigt, ob der Zugriff auf das lokale Netzwerk erlaubt wurde – dies geschieht typischerweise über einen Test (z. B. mit einem UDP-Test). Ist der Test erfolgreich, erscheint ein grünes Symbol (wie zum Beispiel ein „wifi“-Icon), andernfalls ein rotes Symbol. Falls der Zugriff auf das lokale Netzwerk nicht erlaubt ist, hiflt ein löschen der App und ein erneuter Installationsversuch. Dies ist besonders wichtig, da viele Netzwerk-Tools (wie UDP-Tests) auf den Zugriff auf das lokale Netzwerk angewiesen sind.
  • Debug-Logs aktiv: Ein Toggle ermöglicht es, den Detailgrad der Log-Ausgaben zu steuern. Wenn der Toggle aktiviert ist, werden Debug- und Trace-Nachrichten zusätzlich ausgegeben – ideal, wenn du in einer Test- oder Support-Situation möglichst viele Details sehen möchtest. Diese Einstellung wird in den UserDefaults gespeichert, sodass sie über App-Neustarts hinweg erhalten bleibt.
  • Log Export Funktion: Die Log-Export-Funktion (die in der Settings-View über einen extra Button – “Logs exportieren” – erreichbar ist) sammelt alle Log-Meldungen, die im DebugLogger und möglicherweise im LogManager protokolliert werden. Diese Logs werden formatiert zusammengefasst, sodass du sie anschließend über ein Share-Sheet (z. B. mit UIActivityViewController) exportieren und zum Beispiel per E-Mail an den Support senden kannst.
    • Vorteile:
    • Du erhältst eine komplette Übersicht aller Debug- und Netzwerk-Events, die in der App auftreten – etwa Verbindungsversuche, Berechtigungsanfragen, Eventualitäten wie „UDP connect() fehlgeschlagen“ und weitere Meldungen.
    • Dies ist besonders nützlich, wenn du bei einem Problem Unterstützung benötigst oder wenn du selbst systematisch Fehler analysieren möchtest.

0035-tunneldebugger-7d7dc954-6c03-472c-a4a5-c715d4059e2b.jpg!

Architektur und Funktionsweise

tunneldebugger ist nach dem Model-View-ViewModel (MVVM)-Prinzip aufgebaut:

  • Model/Service: Hier befinden sich alle Klassen, die mit der Netzwerkdiagnose zu tun haben. Beispielsweise steuert der TracerouteManager das Versenden von ICMP-Paketen und verarbeitet die Antworten, während der LocalNetworkManager für die Anfrage von Netzwerkberechtigungen und UDP-Tests zuständig ist.
  • ViewModel: Das InfoViewModel konsolidiert die von den Service-Klassen ermittelten Daten – z. B. Router-IP, Hostname, RTT und WLAN-Daten – und stellt sie als Published‑Eigenschaften zur Verfügung. Änderungen werden automatisch an die Views weitergegeben.
  • View: Die Benutzeroberfläche (z. B. InfoTabView und SettingsTabView) ist so gestaltet, dass sie in einem klassischen Formular (Form) oder in Tabellenübersichten alle relevanten Informationen anzeigt. Die Views sind von der Geschäftslogik entkoppelt, wodurch das Testen und Warten der App wesentlich vereinfacht wird.

Fazit

tunneldebugger bietet dir als IT-Administrator oder technikaffinem Endnutzer ein leistungsfähiges Werkzeug zur Überwachung und Diagnose von VPN- und Netzwerkverbindungen. Dank der MVVM-Architektur ist die App modular und gut testbar, und die Kombination aus Traceroute-, heuristischer und direkter WLAN-Informationsabfrage sorgt dafür, dass du auch in komplexen Netzwerkumgebungen stets die relevanten Informationen zur Hand hast.

Wir hoffen, dass dir dieser Leitfaden dabei hilft, die App noch besser zu verstehen und effektiv einzusetzen. Falls du weitere Fragen hast oder Unterstützung benötigst, freuen wir uns über dein Feedback in den Kommentaren.

Dieser Eintrag ist vom Autor unter CC BY 4.0 lizensiert.

Apple Content Cache mit Grafana und Prometheus überwachen – Schritt-für-Schritt-Anleitung

-