Short: smarthome network | Heimnetz Author: sysop at sysop@bbs.fpv-de.com Uploader: Alexander Thomas Niesner (sysop bbs fpv-de com) Type: comm/tcp Version: 2026-11-01 Requires: MorphOS, Amiga Classic 68k, Amiga OS 4.x and Linux, Windows ALLROUND Architecture: generic ================================================================================= netcheck v4.4 2026 - Netzwerk-Werkzeugkasten im Browser (Nachfolger von DDNS Check 2.2) ================================= (o_o) (¬_¬) ( ?_?) ?(°_°)? (??_?) (?_?) ======= WAS IST DAS? ++++++++++++++++++++++++++++++ Eine Webseite (index.html) plus ein kleiner Python-Helfer (netcheck.py). Der Browser darf selbst nicht pingen oder Netzwerkbefehle ausfuehren, deshalb erledigt der Helfer das und liefert die Ergebnisse an die Seite. Kein Node, keine Zusatzpakete, nur Python 3. SCHNELLSTART (Linux) ++++++++++++++++++++++++++++++ 1. Ordner entpacken, z. B. nach ~/netcheck 2. config/device.py oeffnen und eigene Geraete eintragen (Name, IP, Etage) 3. Im Ordner starten: python3 netcheck.py 4. Im Browser oeffnen: http://127.0.0.1:8099/netcheck/ (oder index.html direkt per file:// oeffnen, Helfer muss laufen) Beenden mit Strg+C. Kein sudo noetig, besser ohne. DIE BOXEN ++++++++++++++++++++++++++++++ Geraete Ping-Status je Geraet, nach Etage gruppiert, Knopf "Pruefen" Umschalter: Live = jeder Klick pingt wirklich Snapshot = zeigt den letzten gespeicherten Stand Netzwerk Schnittstellen: Typ, Status, Link ja/nein (nein = kein Kabel/ kein Signal), MAC, IP-Adressen, MTU, Tempo DNS Nameserver, Suchdomaene, Testabfragen mit Antwortzeit ARP Nachbarn im LAN (IP, MAC, Schnittstelle, Status), Filterfeld Netstat Ports und Verbindungen, Listener zuerst, Filterfeld Jede Box: (Neu laden) und - / + (ein-/ausklappen, wird gemerkt) Kopfzeile: "Alles neu laden" und "Auto 30 s" (eingeklappte Boxen werden nicht nachgeladen) SNAPSHOT-BETRIEB (ohne laufenden Server) ++++++++++++++++++++++++++++++ python3 netcheck.py --snap schreibt data.js, state.json und netcheck.log in die RAM-Ablage (Linux: /dev/shm/netcheck/). Per Cron zyklisch, z. B. jede Minute: * * * * * python3 /pfad/zu/netcheck/netcheck.py --snap Die Seite liest data.js unter file:// ueber den Pfad aus os//client.js. PLAIN-SEITE (ohne JavaScript, fuer alte Browser, z. B. AWeb) ++++++++++++++++++++++++++++++ http://:8099/netcheck/plain Fertig vom Server erzeugt, aktualisiert sich alle 30 Sekunden. ORDNERSTRUKTUR ++++++++++++++++++++++++++++++ index.html Einstieg, erkennt das System per User-Agent netcheck.py Helfer (Server und --snap) config/device.py Geraete, Port, RAM-Pfade, DNS-Tests, Optionen style/css/common.css Aussehen style/js/common.js Boxen, Umschalter, Nachladen os/lin|win|mac/ ping.py = Ping-Aufruf des jeweiligen Systems info.py = Daten fuer Netzwerk/DNS/ARP/Netstat client.js = Hinweistexte und Snapshot-Pfad os/mos|ami/ nur client.js (Platzhalter) EINSTELLUNGEN (config/device.py) ++++++++++++++++++++++++++++++ HOST "127.0.0.1" = nur lokal. "0.0.0.0" = auch im LAN erreichbar PORT Standard 8099 LOG_LINES Laenge des Verlaufs in netcheck.log (Standard 500) DEVICES "name": {"ip": "...", "etage": "..."} DATA_DIRS RAM-Pfad je System, sonst Temp-Ordner DNS_TESTS Namen fuer die DNS-Testabfragen INFO_REMOTE False = Netzwerk/ARP/Netstat/DNS nur fuer lokale Clients SICHERHEIT ++++++++++++++++++++++++++++++ - Der Helfer fuehrt nur feste Befehle aus (Ping auf die Geraeteliste, Systeminfos), keine Eingaben aus dem Browser als Befehl. - Ausgeliefert werden nur index.html, style/ und os/*/client.js. config/ und alle .py-Dateien bleiben unerreichbar. - Fremde Host-/Origin-Header werden abgelehnt (Schutz vor fremden Webseiten). - Bei HOST = "0.0.0.0" ist der Helfer im LAN sichtbar. Info-Boxen bleiben trotzdem lokal, solange INFO_REMOTE = False ist. STAND DER SYSTEME ++++++++++++++++++++++++++++++ Linux getestet (Geraete, Netzwerk, DNS, ARP, Snapshot, Plain) Windows Ping-Code vorhanden, Info-Boxen als Rohtext, ungetestet macOS Ping-Code vorhanden, Info-Boxen als Rohtext, ungetestet MorphOS Anzeige moeglich, Shell-Script-Helfer folgt AmigaOS nur Plain-Seite, Shell-Script-Helfer folgt FEHLERSUCHE ++++++++++++++++++++++++++++++ "Address already in use" Auf Port 8099 laeuft schon etwas (meist eine alte Instanz): ss -ltnp | grep 8099 dann kill oder in config/device.py einen anderen PORT eintragen. Seite zeigt "Helfer nicht erreichbar" python3 netcheck.py starten und Seite neu laden. Alle Geraete "offline" IPs in config/device.py pruefen, Geraet im Netz erreichbar? Netstat leer oder Fehler Programm "ss" fehlt (Paket iproute2). Prozessnamen sieht man nur fuer eigene Programme. Snapshot-Modus: "Kein Snapshot gefunden" python3 netcheck.py --snap ausfuehren, Pfad in os//client.js pruefen. USB-Stick (FAT/exFAT): Ausfuehrungsrechte fehlen, immer per python3 starten. FEATURE & AUTOR ++++++++++++++++++++++++++++++ Für die Zukunft werden einige Dinge noch Optional erweitert 1. Wahl der Router Konfiguration "Un-Management Router / Switch" & "Management Router / Switch" 2. zzgl. TCP IP Netzwerk Tools, Programme, Binaeries in Einbindung gemacht in Übernahme (Eigene Personen Namens Änderung Aufgrund Scheidung) somit auf den MorphOS Betriebssystem seit 2019 in Test Reihen, Namensänderung DDNS Check auf "NETcheck" Meldungen an : Alexander, Thomas Niesner | Solbad Strasse 28 | 31812 Bad Pyrmont Mails + Fehlermeldungen bitte an " sysop@bbs.fpv-de.com " www.fpv-de.com Die Software ist Free Ware - Spenden zur Unterstützung sind dennoch immer Willkommen ! +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++