Unter der Haube

So funktioniert myNetWorking

Was unter der Haube passiert: eine einzelne Prüfung, die Unterscheidung zwischen einem Ausfall des Dienstes und Problemen mit deiner Verbindung, der Hintergrundbetrieb, die Daten und die Releases.

Eine Prüfung

myNetWorking baut eine TCP-Verbindung zu Host und Port des Dienstes auf. Nimmt der Port die Verbindung an, ist der Dienst erreichbar — die App schließt die Verbindung sofort wieder und sendet keinerlei Daten. Das ist weder ein Ping noch eine HTTP-Anfrage, sondern nur der Verbindungsaufbau selbst.

  • Die Antwortzeit ist die Zeit vom Beginn des Verbindungsaufbaus bis zum Erfolg. Bei Hostnamen enthält sie auch die DNS-Namensauflösung.

  • Der Verbindungs-Timeout beträgt standardmäßig 5 Sekunden. Du kannst ihn zwischen 1 und 60 Sekunden einstellen.

  • Wann wird geprüft? Sofort nach dem Start der App sowie nach dem Hinzufügen, Bearbeiten und erneuten Aktivieren eines Dienstes. Danach, sobald das Prüfintervall des Dienstes abgelaufen ist (standardmäßig 30 Sekunden), und nach einer fehlgeschlagenen Prüfung, sobald das Prüfintervall bei Ausfall aus den Einstellungen abgelaufen ist (standardmäßig 10 Sekunden).

  • Der Abstand zählt ab dem Ende der vorherigen Prüfung. Derselbe Dienst wird nie zweimal gleichzeitig geprüft. Während der gesamten Prüfung, einschließlich der Verifizierung, hat der Dienst den Status „Prüfe…“.

Ausfallprüfung Schritt für Schritt

Schlägt eine Verbindung fehl, meldet die App nicht sofort einen Ausfall. Sie geht folgende Schritte durch:

  1. Sie verbindet sich mit dem Dienst. Erfolg bedeutet den Status „Online“.

  2. Nach einem Fehlversuch fragt sie den Zustand der Verbindung ab. Ist die Verbindung nicht voll funktionsfähig, erhält der Dienst den Status „Kein Netz“.

  3. Funktioniert die Verbindung, verbindet sie sich sofort ein zweites Mal mit dem Dienst. Erfolg bedeutet „Online“.

  4. Nach dem zweiten Fehlversuch prüft sie die Verbindung noch einmal von Grund auf. Ist sie nicht voll funktionsfähig oder gab es in den letzten 30 Sekunden Probleme mit ihr, erhält der Dienst den Status „Kein Netz“.

  5. Ließ sich der Hostname beim zweiten Versuch nicht auflösen, obwohl derselbe Name zuvor aufgelöst wurde, liegt es am DNS — Status „Kein Netz“.

  6. In allen anderen Fällen erhält der Dienst den Status „AUSGEFALLEN“.

Nur „AUSGEFALLEN“ eröffnet einen Vorfall und löst einen Alarm aus. „Kein Netz“ bedeutet ein Problem auf deiner Seite: Die App hält es im Protokoll fest, macht aber den Dienst nicht verantwortlich.

Referenzserver und Quorum

Den Zustand der Verbindung bewertet die App, indem sie sich parallel mit den Referenzservern verbindet — standardmäßig mit Port 53 der Server 1.1.1.1, 8.8.8.8 und 9.9.9.9. Das ist derselbe TCP-Verbindungsaufbau wie bei den Diensten, mit demselben Timeout. Die App sendet ihnen keine DNS-Anfragen.

Ein Referenzserver ist vertrauenswürdig, wenn er seit dem Start der App mindestens einmal geantwortet hat (auch der aktuelle Versuch zählt). Das Ergebnis der Bewertung hängt von den vertrauenswürdigen Servern ab:

ErgebnisWannWas es für die Dienste bedeutet
Verbindung funktioniertalle vertrauenswürdigen Server haben geantwortetein Dienst, der nicht antwortet, kann den Status „AUSGEFALLEN“ erhalten
Verbindung instabilein Teil der vertrauenswürdigen Server hat geantwortet, ein Teil nicht„Kein Netz“ — kein Dienst wird verantwortlich gemacht
keine Verbindungkein vertrauenswürdiger Server hat geantwortet„Kein Netz“

Einige zusätzliche Regeln:

  • Eine fehlende Netzwerkverbindung — Flugmodus oder abgezogenes Kabel — erkennt die App sofort, ohne auf Timeouts zu warten.

  • Gemeinsame Bewertung. Alle Dienste nutzen dieselbe Bewertung, die 3 Sekunden lang gilt. Zwei Dienste, die in derselben Sekunde nicht mehr antworten, können daher keine widersprüchlichen Ergebnisse erhalten.

  • 30 Sekunden Schonfrist. Jede Bewertung „instabil“ oder „keine Verbindung“ startet eine 30-sekündige Frist, in der nicht erreichbare Dienste den Status „Kein Netz“ statt „AUSGEFALLEN“ erhalten.

  • Das Ergebnis „instabil“ ist erst möglich, wenn ein Server nicht mehr antwortet, der zuvor geantwortet hat. Die erste Bewertung nach dem Start lautet daher „Verbindung funktioniert“, sobald mindestens ein Server antwortet.

Beispiel: instabiles WLAN und ein echter Ausfall

Ein Beispiel mit den Standardeinstellungen: ein NAS unter 192.168.1.50:445, geprüft alle 30 Sekunden, bei Ausfall alle 10 Sekunden, Timeout 5 Sekunden. Alle drei Referenzserver haben seit dem Start der App schon mindestens einmal geantwortet (z. B. bei einer früheren fehlgeschlagenen Prüfung) und sind daher vertrauenswürdig.

UhrzeitWas passiertErgebnis
10:00:00Das NAS antwortet in 4 ms„Online“
10:00:30Das WLAN verliert Pakete, das NAS antwortet nicht. Die Server 1.1.1.1 und 9.9.9.9 antworten, 8.8.8.8 nichtVerbindung instabil: „Kein Netz“, Protokolleintrag, kein Vorfall und kein Alarm
10:00:50Das NAS schweigt weiterhin. Die Server antworten wieder alle, aber seit dem Verbindungsproblem sind noch keine 30 Sekunden vergangenweiterhin „Kein Netz“
10:01:10Das WLAN läuft wieder normal, das NAS antwortet„Online“
10:30:00Jemand schaltet die Dateifreigabe auf dem NAS ab: Port 445 lehnt die Verbindung sofort ab. Auch der zweite Versuch schlägt fehl, und alle Referenzserver antworten davor und danach„AUSGEFALLEN“: Vorfall, Protokolleintrag, Benachrichtigung mit Ton und ein Alarm, der sich alle 60 Sekunden wiederholt
ab 10:30:10Das NAS wird alle 10 Sekunden geprüftweiterhin „AUSGEFALLEN“
10:42:10Die Freigabe funktioniert wieder, das NAS antwortet„Online“: Vorfall mit der Dauer 12m 10s geschlossen, Protokolleintrag und Benachrichtigung über die Wiederherstellung

In Version 1.0.0 hätte um 10:00:30 die Antwort eines einzigen Referenzservers genügt, um die Verbindung für funktionsfähig zu halten — das NAS hätte dann fälschlich den Status „AUSGEFALLEN“ erhalten.

Wie schnell ein Ausfall erkannt wird

  • Eine abgelehnte Verbindung (der Host läuft, aber der Dienst auf dem Port ist abgeschaltet) erkennt die App fast sofort — „AUSGEFALLEN“ erscheint in derselben Prüfung.

  • Ein Host, der überhaupt nicht antwortet, kann in einer Prüfung etwa vier Timeouts beanspruchen, also bis zu ungefähr 20 Sekunden: erster Versuch, Bewertung der Verbindung, zweiter Versuch und zweite Bewertung.

  • Im ungünstigsten Fall vergehen vom Beginn des Ausfalls bis zum Status „AUSGEFALLEN“ also das Prüfintervall plus etwa 20 Sekunden — mit den Standardeinstellungen ungefähr 50 Sekunden.

  • Tritt ein echter Ausfall innerhalb von 30 Sekunden nach Verbindungsproblemen auf, wird er bei der ersten Prüfung nach Ablauf dieser Frist gemeldet.

Überwachung der Internetverbindung selbst

Unabhängig von den Diensten kann die App die Internetverbindung selbst überwachen. Du schaltest das unter Einstellungen → Internetverbindung ein: Ein Schalter liefert eine eigene Benachrichtigung und einen Protokolleintrag, der andere hält jede Unterbrechung als Vorfall fest. Ist einer von beiden aktiviert, wird die Verbindung alle 30 Sekunden geprüft, während einer Unterbrechung alle 10 Sekunden. Das Ergebnis „instabil“ gilt weder als Unterbrechung noch als Rückkehr. Details beschreibt das Kapitel Internetprüfung.

Hintergrundbetrieb

Die Überwachung läuft auf deinem Gerät, ohne Cloud-Server. Ist die App beendet oder das Gerät ausgeschaltet, wird nichts geprüft.

  • macOS, Windows, Linux: Die App überwacht, solange sie läuft. Das Schließen des Fensters blendet es unter macOS und Windows in die Menüleiste bzw. den Infobereich aus und minimiert es unter Linux. Erst der Befehl Beenden beendet die Überwachung.

  • Android: Die Überwachung hält ein Vordergrunddienst mit der dauerhaften Benachrichtigung „myNetWorking überwacht“ aufrecht. Seit Version 1.1.0 ist das ein Dienst für spezielle Zwecke (specialUse), für den das tägliche 6-Stunden-Limit nicht gilt, das Android 15 Diensten zur Datensynchronisierung auferlegt. Er läuft, solange bei mindestens einem Dienst die Überwachung aktiviert ist. Nach einem Neustart des Smartphones muss die App einmal geöffnet werden.

  • iPhone und iPad: Die volle Überwachung läuft nur bei geöffneter App, weil iOS ihre Timer im Hintergrund anhält. Die App meldet beim System eine Hintergrundaktualisierung an, nicht häufiger als alle 15 Minuten, aber iOS entscheidet, ob und wann sie ausgeführt wird. In einer solchen Runde wird jeder aktivierte Dienst einmal geprüft, mit vollständiger Verifizierung, und Änderungen landen in den Vorfällen, im Protokoll und in Benachrichtigungen.

Mehr dazu im Kapitel Hintergrundbetrieb.

Wo die Daten liegen

Dienstliste, Einstellungen, Vorfälle, Protokoll und die letzten Status werden als JSON-Daten im Einstellungsspeicher des Systems abgelegt — nur auf deinem Gerät. Die App bewahrt bis zu 300 Vorfälle und 500 Protokolleinträge auf; die ältesten werden automatisch gelöscht. Es gibt keine Konten und keine Synchronisierung, und die App selbst legt keine Kopien in der Cloud an — die Daten können nur in einer Sicherung des Geräts landen, wenn diese im System eingeschaltet ist. Die genauen Pfade findest du auf der Seite Installation.

Datenschutz durch Technikgestaltung

Das ist die vollständige Liste der Verbindungen, die die App aufbaut:

  1. TCP-Verbindungsversuche zu jedem aktivierten Dienst, die sofort wieder geschlossen werden, ohne Daten zu übertragen.

  2. DNS-Auflösung der Hostnamen deiner Dienste — über das Betriebssystem.

  3. TCP-Verbindungsversuche zu den Referenzservern — nur wenn die Prüfung eines Dienstes fehlschlägt oder regelmäßig, wenn die Internetüberwachung aktiviert ist: alle 30 Sekunden, während einer Unterbrechung des Internetzugangs alle 10 Sekunden (Standardwert der Einstellung Prüfintervall bei Ausfall).

  4. Nur in Versionen von nci.pl und nur nach einem Klick auf Nach Updates suchen: eine einzelne HTTPS-Anfrage nach der Datei mit der Nummer der neuesten Version.

Die App hat keine Analyse, keine Telemetrie, keine Absturzberichte und keine Werbung. Benachrichtigungen entstehen lokal. Beachte nur, dass die Betreiber der überwachten Hosts und der Referenzserver die Verbindungsversuche von deiner IP-Adresse sehen — wie bei jeder Verbindung.

Wie Releases entstehen

Alle Versionen entstehen aus einem gemeinsamen Quellcode (Flutter).

  • Stores: Die Versionen aus dem Mac App Store, dem App Store, dem Microsoft Store und von Google Play durchlaufen die Prüfung des jeweiligen Stores, der sie mit seinem Zertifikat signiert, verteilt und aktualisiert.

  • macOS, .dmg-Datei: Die App ist mit einem Developer-ID-Zertifikat signiert, läuft in der Sandbox des Systems und ist von Apple notarisiert. Gatekeeper erkennt sie daher als geprüft und fragt nur, ob du eine aus dem Internet geladene App öffnen möchtest.

  • Linux: Die .deb- und .rpm-Pakete für x64 und ARM64 baut ein Continuous-Integration-Dienst automatisch. Vor der Veröffentlichung werden sie auf frisch installierten Systemen installiert und probeweise gestartet.

  • Neben den Download-Dateien veröffentlichen wir SHA-256-Prüfsummen.

  • Die Versionen von dieser Website unterscheiden sich von den Store-Versionen nur durch die Schaltfläche Nach Updates suchen und den Absatz, der sie im Datenschutztext der App beschreibt.