Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
nmlinux — Einheitliches Netzwerk-Toolkit für Linux — Python 3 + PySide6 | Kitploit
Tools/GitHubGitHub/thongor77/nmlinux
NetzwerkkartierungPort-ScanningInformationsbeschaffungDNS-Analyse
GitHubthongor77/nmlinux

nmlinux

Einheitliches Netzwerk-Toolkit für Linux — Python 3 + PySide6

Repository anzeigen
921vor 7 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

NMLinux · v1.7.12

Version Python License: GPL-2.0 Platform Languages Donate Bitcoin

Ein vereinheitlichtes Netzwerk-Toolkit für Linux und macOS – untersuchen, verbinden, diagnostizieren.

NMLinux ist eine einzige, vereinheitlichte GUI, die 29 Netzwerkmodule in einem Fenster vereint: Schnittstellenüberwachung, WLAN, DNS, SSH-Terminal, Firewall-Ansicht, Topologiekarte, Traceroute und mehr. Von Grund auf in Python und PySide6 (Qt 6) entwickelt, mit 8 Oberflächensprachen und ohne externe Abhängigkeiten über die Standard-Systemwerkzeuge hinaus.

[!NOTE] NMLinux ist nicht mit dem Linux-Systemdaemon /usr/bin/NetworkManager (NetworkManager von Red Hat/GNOME) verwandt. NMLinux ist ein eigenständiges Projekt, das von Grund auf in Python und PySide6 entwickelt wurde.

Entwickelt mit Claude Code (Anthropic) und dem Beitrag seines Autors.


Entwicklungsprozess

NMLinux wird mit KI-Unterstützung entwickelt – konkret mit Claude Code – und das wird in diesem Repo nirgendwo versteckt. Heutzutage nutzt fast jedes ernsthafte Softwareprojekt irgendwo in seiner Pipeline KI, ob es das zugibt oder nicht. Also ist „war KI beteiligt" nicht die interessante Frage. Die interessante Frage ist: Fängt irgendetwas es ab, wenn die KI etwas falsch macht?

Das hier fängt es ab, falls du lieber selbst prüfst, als mir aufs Wort zu glauben:

  • 162 Tests — pytest tests/ -v. Reine Logik plus eine Handvoll echter Qt-Widget-Tests (Menüs, Tabellen), ohne die interessanten Teile wegzumocken.
  • docs/Decisions-Techniques.md — jede nicht offensichtliche technische Entscheidung, die verworfenen Alternativen und die gefundenen und behobenen Fehler (einschließlich KI-bedingter) – mit dokumentierter Begründung.
  • docs/Architecture.md und docs/Carte-des-Modules.md — die tatsächliche Struktur des Codes, synchron gehalten mit dem, was ausgeliefert wird.
  • Ein i18n-Konsistenzcheck, der vor jedem Release läuft, um fehlende Übersetzungsschlüssel in den 8 unterstützten Sprachen zu finden.

Nichts davon existiert, weil KI nicht vertrauenswürdig wäre. Es existiert, weil nichts veröffentlicht werden sollte, ohne einen Prozess, der es prüft – handgeschriebener Code eingeschlossen. Beurteile das Ergebnis und wie es verifiziert wird, nicht das Werkzeug, das beim Schreiben geholfen hat.

Trotzdem einen Fehler gefunden? Das ist nützlich, nicht peinlich – eröffne ein Issue.


Community

GitHub Discussions sind geöffnet — teile Feedback, melde Ideen, stelle Fragen oder sag einfach Hallo. Der Autor hat über 30 Jahre Erfahrung in Infrastruktur und Betrieb und hat dieses Werkzeug entwickelt, weil gute, kostenlose und einfache Software auch für Linux existieren sollte.


Screenshots

Linux-Screenshots aus v1.2.7 – macOS-Screenshots aus v1.3.5. Die App hat jetzt 29 Module und 8 Oberflächensprachen (FR/EN/ES/DE/IT/PT/JA/ZH).

Linux (KDE)

DashboardTopologie
DashboardTopologie
TracerouteWLAN
TracerouteWLAN

macOS

DashboardTraceroute
macOS-DashboardmacOS-Traceroute

Änderungsprotokoll

v1.7.12 — 2026-08-12

  • Traceroute – Korrektur: Unter Flatpak (v1.7.11, siehe unten – inzwischen entfernt) wurde traceroute über den Host-Shim immer auf PATH aufgelöst, selbst wenn auf dem Host kein echtes traceroute-Binärprogramm installiert war; daher griff der Worker nie auf tracepath zurück und die Trace endete sofort ohne Hops und ohne angezeigten Fehler. Jetzt wird immer dann auf tracepath zurückgegriffen, wenn traceroute keinerlei auswertbare Ausgabe erzeugt – unabhängig davon, warum es fehlgeschlagen ist.
  • SSH-Terminal – Askpass-Korrektur: Wenn DISPLAY/WAYLAND_DISPLAY gesetzt sind (jede GUI-Sitzung) und ssh kein sauberes tty hat, kann es für die Passwortabfrage $SSH_ASKPASS statt des eingebetteten Terminals verwenden – was die Authentifizierung stillschweigend scheitern lässt, wenn kein Askpass-Helfer installiert ist. SSH_ASKPASS_REQUIRE=never erzwingt nun, dass Passwortabfragen immer über das Terminal selbst laufen.
  • Flatpak-Paketierung entfernt: Das in v1.7.11 mitgelieferte lokale KDE-Linux-Manifest wird nicht weitergeführt. Die Untersuchung des obigen SSH-Passwortabfrage-Fehlers deckte eine Kernel-Grenze auf: Ein Prozess, der über vermittelt wird, kann niemals Eigentümer des Steuerterminals des weitergeleiteten pty werden ( wird mit verweigert – eine andere, nicht verwandte Sitzung besitzt es bereits; das ist eine beabsichtigte Kernel-Sicherheitsgrenze, kein Fehler). Der einzige funktionierende Workaround (, das ein frisches pty anlegt) behebt die Passwortabfrage, bricht aber die Live-Größenänderungs-Weitergabe des Terminals für diese Sitzung – ein schlechterer Kompromiss, als auf Flatpak ganz zu verzichten. AUR und das AppImage sind künftig die unterstützten Linux-Installationswege.

v1.7.11 — 2026-08-03

  • Flatpak-Paketierung (KDE Linux): Ein lokales Build-Manifest unter packaging/flatpak/ zielt auf KDE Linux und andere reine Flatpak-Distributionen. Host-CLI-Werkzeuge, die nmlinux extern aufruft (nmcli, pkexec, mount.cifs, ssh, nmap, …), werden über flatpak-spawn --host-Shims auf PATH angebunden, statt einzeln zu sandboxen; PySide6 stammt von Flathubs io.qt.PySide.BaseApp statt vom PyPI-Rad. Nicht auf Flathub veröffentlicht – stattdessen wird ein einzelnes .flatpak-Bundle mit packaging/flatpak/build-bundle.sh erstellt und wie bereits beim AppImage jedem Release beigefügt. In v1.7.12 eingestellt – siehe oben.

v1.7.10 — 2026-08-03

  • SSH-Terminal – Korrektur: Es wurde ein Wettlaufzustand behoben, bei dem das PTY mit der falschen (Standard 24×80) Größe starten konnte, wenn die tatsächliche Größe des Terminal-Widgets beim Start der Sitzung noch nicht bekannt war, wodurch die Größenänderungsanforderung stillschweigend verworfen wurde. Dadurch gerieten entfernte Vollbild-Anwendungen (z. B. Claude Code CLI, htop, vim) aus dem Takt mit der tatsächlichen Fenstergröße, sodass am unteren Bildschirmrand veralteter/übrig gebliebener Text stehen blieb, der erst verschwand, wenn neue Ausgabe darüber scrollte. Vom Benutzer gemeldet; mit einer echten interaktiven Sitzung reproduziert.

v1.7.9 — 2026-08-02

  • SSH-Terminal – Kopieren/Einfügen: Text mit der Maus auswählen (Klicken-Ziehen, hervorgehoben), mit Ctrl+Shift+C oder dem Rechtsklick-Menü kopieren; mit Ctrl+Shift+V einfügen (bestehend). Kopieren war bisher unmöglich – es gab gar keine Textauswahl.
  • SSH-Terminal – mehrere gleichzeitige Sitzungen: Die SSH-Seite öffnet nun jede Verbindung in einem eigenen Tab statt einer einzigen gemeinsamen Sitzung. Das erneute Verbinden mit einer gespeicherten Verbindung – selbst zweimal mit derselben – führte bisher dazu, dass die aktive Sitzung beendet wurde, ohne eine funktionierende Ersatzsitzung zu öffnen; jetzt öffnet jede Verbindungsaktion einen neuen, unabhängigen Tab.

v1.7.8 — 2026-07-14

  • Speedtest – neuer LAN-Tab (iperf3): Neben dem bestehenden Internet-Speedtest führt ein neuer Tab reine Client-iperf3-Tests entweder gegen eine gebündelte Liste öffentlicher Server (26 Länder) oder gegen einen gespeicherten benutzerdefinierten Server (z. B. einen internen Org-Server) durch. Unterstützt TCP/UDP, IPv4/IPv6/Auto und die Rückwärtsrichtung (Download), mit Jitter/Paketverlust bei UDP-Tests. Vorgeschlagen in Issue #6.
  • Neue optionale Abhängigkeit: iperf3 – installieren, um den LAN-Tab zu aktivieren; der Tab zeigt andernfalls ein Banner und bleibt deaktiviert.

v1.7.6 — 2026-07-05

  • Asset Inventory – Aktualisieren per Rechtsklick: Ein oder mehrere bereits gescannte Zeilen per Rechtsklick auswählen (Mehrfachauswahl unterstützt) und „Ausgewählte aktualisieren“ wählen, um nur diese Hosts an Ort und Stelle erneut zu scannen, statt einen vollständigen Netzwerkscan erneut auszuführen.
  • Asset Inventory – Feedback bei SSH-Authentifizierungsfehlern: Eine abgelehnte SSH-Anmeldung zeigt jetzt „SSH-Authentifizierung fehlgeschlagen“ an, statt stillschweigend zu scheitern, ohne die per Nmap erkannte Hostname-/OS-Basis zu verlieren – bestätigt gegen ein echtes Synology-NAS, bei dem DSMs Auto Block ein korrektes Passwort ablehnte, nachdem zuvor andere konfigurierte Anmeldedatensätze ausprobiert wurden.

v1.7.5 — 2026-07-04

  • Ping-Monitor – Verzeichnis gespeicherter Ziele: Ein neues linkes Bedienfeld ermöglicht es, Ping-Ziele (Name, Host, Intervall) in einer persistenten Liste zu speichern, sodass überwachte Hosts einen App-Neustart überstehen, statt neu eingetippt werden zu müssen. Ein ★-Button in jeder aktiv überwachten Zeile speichert diesen Host zu jedem Zeitpunkt der Sitzung im Verzeichnis – ohne dass man vorher planen musste, bevor die App unerwartet geschlossen wird.
  • Ping-Monitor – „Überwachung starten“: Ein gespeichertes Ziel auswählen und mit einem Klick die Überwachung starten, wobei das gespeicherte Intervall wiederverwendet wird.

v1.7.4 — 2026-07-04

  • Asset Inventory – inkonsistente Scan-Ergebnisse behoben: Der Lebendigkeitscheck sendete einen einzelnen Ping mit 1-Sekunden-Timeout und ohne Wiederholung, wodurch ein echtes Gerät unter der eigenen parallelen Last des Scanners (bis zu 40 gleichzeitig getestete Hosts) oder wenn ein WLAN-Host zwischen Beacons kurz schlief, übersehen werden konnte – live gegen ein echtes Subnetz bestätigt, das bei wiederholten Läufen desselben Bereichs unterschiedliche Geräteanzahlen lieferte. Der Check wiederholt den Ping jetzt, bevor er auf den TCP-Port-Probe zurückfällt.
  • Asset Inventory – neuer Button „Leere aktualisieren“: Nach einem Scan werden nur die IPs erneut gescannt, die keine Daten geliefert haben, statt den gesamten Bereich erneut zu scannen; neu gefundene Hosts werden in die vorhandenen Ergebnisse eingefügt.

v1.7.3 — 2026-07-03

  • SMB – Freigaben über das Rechtsklick-Menü einhängen: Per Rechtsklick auf eine Freigabe im SMB-Tab lässt sich „Einhängen/Aushängen“ wählen, um sie an einem stabilen lokalen Pfad (~/mnt/<host>_<share>) einzuhängen, der vom Terminal und jeder anderen App genutzt werden kann – keine flüchtige Browse-Ansicht. Nur für die Sitzung (keine fstab/systemd-Persistenz), Anmeldedaten aus den vorhandenen Benutzer-/Passwortfeldern wiederverwendet. Linux verwendet pkexec mount -t cifs mit einer Datei mit eingeschränkten Berechtigungen (niemals über ps sichtbar); macOS verwendet direkt mount_smbfs. Wird die Standard-Aushandlung von einem Server abgelehnt (bei älteren NAS-Geräten üblich), wird automatisch mit einem älteren SMB-Dialekt (vers=2.0) erneut versucht – beide Versuche laufen unter einer einzigen Authentifizierungsabfrage über einen dedizierten Hilfsprozess.
  • Neue optionale Abhängigkeit: cifs-utils (Linux) zum Einhängen von SMB-Freigaben; in macOS integriert.

v1.7.2 — 2026-07-03

  • macOS-Installation – zwei Bootstrap-Fehler auf einem nackten Mac behoben: bootstrap_macos.sh erzwingt dem Homebrew-Installer nicht mehr NONINTERACTIVE=1, was auf jedem frischen Administratorkonto sofort abbrach, statt nach dem sudo-Passwort zu fragen; der dokumentierte Einzeiler lädt das Skript jetzt zuerst herunter, statt es direkt in bash zu pipen, da verschachtelte interaktive Schritte (Xcode-CLT-Installer, Homebrews eigene sudo-Abfrage) beim Piping in den Eingabestrom des äußeren Skripts eingreifen konnten.
  • Universelles Rechtsklick-Menü – SMB ergänzt: SmbNfsPage war die einzige Zielseite, die im in v1.7.0 eingeführten modulübergreifenden Rechtsklick-System fehlte; ein Rechtsklick auf einen Host und die Wahl von SMB füllt nun das Host-Feld vor und startet sofort den Scan, im Menü fett, wenn Port 445 als offen erkannt wird.
  • i18n – verbleibende Dashboard-Strings übersetzt: Das Gateway-Latenz-Label, der Titel der TLS-Watchlist-Karte und ihre Statuszeile waren noch fest auf Französisch; jetzt in allen 8 Oberflächensprachen übersetzt.

v1.7.1 — 2026-07-02

  • macOS 26 (Tahoe) – WLAN-SSID-Korrekturen: Von system_profiler (liefert ohne Ortungsdienste <redacted>) auf CoreWLAN als primäre Datenquelle umgestellt; die App fragt jetzt beim ersten Start die Berechtigung für Ortungsdienste an; die WLAN-Seite zeigt nach Erteilung alle Netzwerke mit echten Namen.
  • macOS – Verbindungsmanager: Die verbundene SSID wird jetzt über CoreWLAN gelesen, mit system_profiler für den Sicherheitsmodus.
  • macOS – SMB: Klare Meldung „Authentifizierung erforderlich“, wenn das NAS Anmeldedaten verlangt; falsche smb.conf-Warnung von Homebrew-smbclient behoben.
  • macOS – Potenziellen Absturz beim Beenden nach dem ersten Dialog zur Ortungsdienst-Berechtigung behoben.

v1.7.0 — 2026-07-02

  • Universelles Rechtsklick-Kontextmenü auf jeder Tabelle, die IPs oder Hostnamen enthält – direkt zwischen Modulen navigieren, ohne Kopieren/Einfügen: Rechtsklick auf einen erkannten Host und Ping, Ports scannen, Whois, DNS, Traceroute, MTR, SSH, RDP, VNC, In Topologie anzeigen oder Zum Inventar hinzufügen wählen. Die Menüpunkte SSH/RDP/VNC erscheinen fett, wenn der entsprechende Port als offen erkannt wird. Die Beschriftungen sind vollständig in allen 8 Oberflächensprachen übersetzt.
  • Quellseiten (geben Rechtsklick-Aktionen aus): IP-Scanner, Nmap, Ping, Port-Scanner, Traceroute, MTR, Topologie (Rechtsklick auf Knoten)
  • Zielseiten (empfangen Host und füllen vor): Whois (set_target + automatische Abfrage), DNS (set_target nur Vorbelegung), Ping (set_target + Autostart), Traceroute (set_target + Autostart), MTR (set_target + Autostart), Port-Scanner (set_target + Fokus), SSH / RDP / VNC (set_target öffnet das vorbelegte Neue-Verbindung-Formular), Topologie (load_hosts fügt Knoten aus dem IP-Scanner-/Nmap-Scan ein, ohne erneut zu scannen – Gateway automatisch erkannt, Kanten gezeichnet, Ursprungsknoten rot hervorgehoben), Asset Inventory (prefill_hosts startet den Anmeldedaten-Scan direkt auf den erkannten Hosts, überspringt die ICMP-Erkennungsphase)

v1.6.4 — 2026-06-28

  • macOS: Die Menüleiste zeigt jetzt NMLinux statt Python – Ursache: Nach exec() in Python löst NSBundle.mainBundle() auf das Python.framework-Bundle (CFBundleName = "Python") auf, das Qt während der QApplication-Konstruktion liest; behoben, indem die infoDictionary() des Bundles gepatcht und native Menüpunkte über AppKit umbenannt werden, bevor das Anwendungsmenü erstellt wird.

v1.6.3 — 2026-06-28

  • macOS: Erster Versuch, die Menüleiste mit NSProcessInfo.setProcessName_ über pyobjc-framework-Cocoa zu korrigieren (durch v1.6.4 ersetzt).

v1.6.2 — 2026-06-28

  • macOS: Das Bash-Launcher-Skript in install_macos_app.sh wurde durch einen kompilierten C-Stub ersetzt, damit macOS das .app-Bundle korrekt dem laufenden Prozess zuordnet; setprogname und sys.argv[0]-Override als Fallback ergänzt.

v1.6.1 — 2026-06-25

  • SSH-Terminal – Remote-Echo behoben: Tastatureingaben im eingebetteten SSH-Terminal wurden an die entfernte Shell gesendet, aber nie zurückgegeben (die Tastatur schien nach dem Login „tot“ zu sein). nmlinux erzwang das lokale PTY-Echo aus, und ssh übertrug dieses „kein Echo“ über seine Terminalmodi (pty-req) auf das entfernte pty, sodass die entfernte Shell keine Eingaben mehr zurückgab. Auf einer frischen Ubuntu-26.04-VM reproduziert (aktuelles OpenSSH wendet diese Modi zuverlässig an). Das Terminal belässt das PTY jetzt im Normalmodus und überlässt ssh das Echo, wie bei echten Terminalemulatoren.

v1.6.0 — 2026-06-24

  • Asset Inventory – WinRM Windows (vollständig): Host-Erkennung über TCP-Port-Probe, wenn ICMP von der Windows-Firewall blockiert wird; PowerShell verwendet jetzt den vollständigen absoluten Pfad + EncodedCommand (base64), um zu verhindern, dass cmd.exe Pipes | interpretiert; vollständige Fallback-Kette ohne Admin-Rechte: OS über ver, CPU über Registrierung, RAM über systeminfo, Datenträger über wmic → fsutil (sprachabhängig: EN Komma / FR Leerzeichen) → dir /-C
  • Asset Inventory – Multi-Anmeldedaten-SSH: Mehrere SSH-Anmeldedatensätze unterstützt; macOS-Datenträger behoben (/System/Volumes/Data), Apple-Silicon-CPU-Fallback (hw.model), Synology (/volume1), Unraid (/mnt/user)
  • Fehlerkorrekturen: WinRM-Fehler werden jetzt in der Tabelle angezeigt statt stillschweigend zurückzufallen; WinRM/SNMP-Host-Erkennung wird nicht mehr durch vorhandene SSH-Anmeldedaten blockiert; pywinrm-Timeout korrigiert.

v1.5.3 — 2026-06-24

  • macOS .app – Homebrew-Werkzeugerkennung: Über Homebrew installierte sshpass, nmap und snmpget werden jetzt gefunden und über ihren absoluten Pfad aufgerufen; .app-Bundles unter macOS erben den Homebrew-PATH (/opt/homebrew/bin, /usr/local/bin) nicht, daher wurden zuvor installierte Werkzeuge stillschweigend ignoriert.
  • macOS-Update-Pfad: Das Ausführen von git pull && bash packaging/install_macos_app.sh aus dem Repo-Root ist jetzt die dokumentierte Upgrade-Methode; das Skript verwaltet seine eigene venv (~/.local/share/nmlinux/venv) und benötigt kein systemweites pip oder pipx.

v1.5.2 — 2026-06-24

  • Asset Inventory – neues Modul (29.); scannt einen CIDR-Bereich und sammelt OS, CPU, RAM, Datenträger und Uptime von jedem Host per SSH, WinRM, SNMP oder Nmap; unterstützt mehrere Anmeldedatensätze pro Protokoll (der Reihe nach ausprobieren); Zero-Retention-Richtlinie: Anmeldedaten werden nie auf die Festplatte geschrieben und nach dem Scan aus dem Speicher entfernt; Ergebnisse als JSON, CSV oder Markdown exportieren; animierte Geokarte zum Abschnitt IP-Geolokalisierung des Dashboards hinzugefügt
  • SSH-Sammlungskorrekturen: awk-Quote-Fehler im Datenträger-Befehl behoben; free -h durch BusyBox-kompatibles free ersetzt; der macOS-Codepfad verwendet jetzt sw_vers für den OS-Namen, hw.model als Fallback für Apple-Silicon-CPU, /System/Volumes/Data für das APFS-Benutzerdaten-Volume; Synology-/Unraid-Volumes (/volume1, /mnt/user) werden vor Root erkannt; df | tail -1 || …-Fehlalarm-Muster mit test -d-Wächtern behoben; lsb_release-Ausgabe von umgebenden Anführungszeichen befreit; mehrere SSH-/WinRM-Anmeldedatensätze unterstützt (pro Host der Reihe nach ausprobieren)

v1.5.0 — 2026-06-17

  • Dateiübertragungsserver – neues Modul zum Starten/Stoppen eines leichtgewichtigen TFTP- oder HTTP-Servers direkt aus der App; klassischer Anwendungsfall: Sichern und Wiederherstellen von Router-, Switch- oder Druckerkonfigurationen; immer nur ein Server aktiv (TFTP oder HTTP), konfigurierbarer Port und Wurzelverzeichnis, lokale IPs als Kopieren-in-Zwischenablage-Buttons; HTTP enthält Verzeichnislisting (im LAN aus jedem Browser durchsuchbar), GET (Download) und POST/PUT (Upload); TFTP unterstützt GET und PUT (bidirektional), Port 69 erfordert Root – die App zeigt bei Berechtigungsfehler einen Button „Als Root starten (pkexec)“; Live-Übertragungsprotokolltabelle (Zeitstempel, Dateiname, Client-IP, Richtung ↑/↓, Größe); Port-Traversal-Schutz; 8 Oberflächensprachen; neue Abhängigkeit: tftpy

v1.4.3 — 2026-06-14

  • TLS-Watchlist-Korrekturen: Selbstsignierte und nicht vertrauenswürdige Zertifikate werden jetzt korrekt als „⚠ Ungültig / nicht vertrauenswürdiges Zertifikat“ (orange) statt grün angezeigt; SSL-Ausnahmebehandlung erweitert, um alle ssl.SSLError-Unterklassen abzudecken; Einträge zeigen jetzt „… (prüfe)“ während der Hintergrundprüfung und „— (nicht erreichbar)“, wenn der Host nicht erreicht werden kann.

v1.4.2 — 2026-06-14

  • TLS Watchlist – persistente Liste von Hostnamen zur Überwachung des Zertifikatsablaufs; Hosts mit + Watch hinzufügen (verwendet aktuellen Host/Port) oder manuell im Bedienfeld; die Hintergrundprüfung läuft automatisch 2 Sekunden nach dem Start; der Sidebar-Eintrag „TLS Inspector“ zeigt einen farbigen Punkt: rot, wenn ein Zertifikat abgelaufen ist, orange, wenn ein Zertifikat innerhalb von 30 Tagen abläuft; Schaltfläche „Erneut prüfen“ im Bedienfeld; die Liste zeigt den Status pro Eintrag (✓ / ⚠ / ABGELAUFEN) mit Farbcodierung.

v1.4.1 — 2026-06-14

  • macOS – IP-Scanner: MAC-Adressen-, Anbieter- und Schnittstellensuche unter macOS behoben; _arp_entry() ruft jetzt unter macOS arp -n <ip> auf und parst dessen Ausgabeformat (? (IP) at AA:BB:CC on en0), statt /proc/net/arp zu lesen (nur Linux); alle vier Scanner-Spalten werden unter macOS jetzt korrekt befüllt.
  • VNC-Hilfe: Ein Hinweis in allen 8 Sprachen ergänzt, der klärt, dass Linux standardmäßig keinen VNC-Server hat, und gängige Installationsoptionen auflistet (x11vnc, tigervnc-server, wayvnc).

v1.4.0 — 2026-06-14- macOS — IP-Scanner: getent (nur Linux) wurde durch Pythons socket.gethostbyaddr() für eine plattformübergreifende Reverse-DNS-Auflösung ersetzt; die Hostnamenauflösung funktioniert jetzt nativ auf macOS ohne zusätzliches Werkzeug

  • macOS — SMB-Browser: von smbclient (benötigt Homebrew-Samba) auf smbutil view (integriertes macOS-Werkzeug) umgestellt; die SMB-Freigabeliste funktioniert jetzt auf macOS ohne Installation
  • macOS — NFS-Browser: showmount ist auf macOS integriert, unterstützt aber kein --no-headers; Flag auf macOS entfernt, Kopfzeile im Parser übersprungen; die NFS-Exportliste funktioniert jetzt nativ
  • macOS — RDP: Wenn xfreerdp nicht gefunden wird, wird auf das URL-Schema open rdp:// zurückgegriffen; öffnet Microsoft Remote Desktop (App Store), falls installiert, mit vorausgefülltem Host, Port, Benutzername und Domäne
  • macOS — VNC: Wenn vncviewer nicht gefunden wird, wird auf das URL-Schema open vnc:// zurückgegriffen; öffnet die macOS-Bildschirmfreigabe (integriert, keine Installation erforderlich)

v1.3.9 — 2026-06-13

  • SSH-Agent-Weiterleitung — neues Kontrollkästchen „Agent forwarding" im SSH-Verbindungsformular; fügt -A zum ssh-Befehl hinzu; ermöglicht das Springen zwischen Servern, ohne den privaten Schlüssel zu kopieren (PC → A → B); erfordert einen aktiven SSH-Agenten (SSH_AUTH_SOCK); kontextbezogene Hilfe in allen 8 Sprachen aktualisiert

v1.3.8 — 2026-06-13

  • Befehlspalette (Strg+P) — sofortige Tastaturnavigation zu jedem der 27 Module; Fuzzy-Suche nach Name und Schlüsselwörtern (z. B. „firewall", „tls", „ssh key", „scan"); Hoch-/Runter-Pfeile + Eingabetaste oder einfacher Klick zum Navigieren; öffnet sich mit Strg+P überall in der App
  • Export-Manager — exportieren Sie einen vollständigen Netzwerk-Snapshot (Schnittstellen, Routen, DNS-Resolver) über Datei → Netzwerkbericht exportieren… als JSON, Markdown, Klartext oder PDF (optional: pip install reportlab)
  • Export-Schaltflächen auf Modulebene — Export-Schaltflächen zu den Seiten Interfaces, DNS, Firewall, SSH-Verbindungen und Verbindungsmanager hinzugefügt; jede Seite exportiert ihre aktuellen Daten im gewählten Format; die Dateinamenserweiterung wird live aktualisiert, wenn sich der Formafilter ändert

v1.3.6 — 2026-06-12

  • Topologie – Gerätesymbole — jeder Knoten zeigt jetzt ein passendes Lucide-SVG-Symbol für seinen Gerätetyp (Router/WLAN, Computer/Laptop, Drucker, NAS/Server, Smartphone, Netzwerk-Switch, Raspberry Pi) anstelle eines generischen Kreises; 5 neue gebündelte SVG-Symbole (printer, server, smartphone, cpu, laptop)
  • Topologie – mDNS-Erkennung — Gerätetyp wird über avahi-browse erkannt (optional, läuft parallel zum nmap-Scan); erkennt Drucker (_ipp._tcp, PDL Printer), Android-Smartphones und Fernseher (_googlecast._tcp, _androidtvremote2._tcp), Apple-Macs (am=Mac16,x-Modell in AirPlay-TXT), NAS-Geräte (Synology meldet model=Xserve), KDE-Connect-Desktops; fällt auf MAC-Anbieter-OUI und Hostname-Heuristiken zurück, wenn avahi nicht verfügbar ist

v1.3.5 — 2026-06-06

  • macOS-Kompatibilität — alle 9 Netzwerkmodule laufen jetzt auf macOS, ohne das Linux-Verhalten zu beeinträchtigen; jedes Modul erkennt die Plattform beim Start (_IS_MACOS) und verzweigt zu nativen macOS-Befehlen: route -n get default, ifconfig, scutil --dns, networksetup, system_profiler SPAirPortDataType, pfctl, netstat -ib; die Rechteausweitung verwendet osascript + with administrator privileges anstelle von pkexec; die Monospace-Schriftart verwendet Menlo anstelle von Monospace
  • Module mit dualen Linux/macOS-Pfaden: Dashboard, Interfaces, Wi-Fi, Topologie, Bandbreite, Firewall (pf.conf + pfctl), Verbindungsmanager, Hosts-Datei, MTR

v1.3.2 — 2026-06-06

  • i18n auf 8 Sprachen erweitert — Italiano, Português, 日本語 (Japanisch) und 中文 (vereinfachtes Chinesisch) hinzugefügt; die vollständige Benutzeroberfläche (alle 27 Module, ~720 Übersetzungsschlüssel) ist jetzt in FR / EN / ES / DE / IT / PT / JA / ZH verfügbar; nach dem Ändern der Sprache in den Einstellungen erscheint ein Neustart-Hinweis
  • Kontextbezogene Hilfe in 8 Sprachen — das ?-Abzeichen-Panel (Beschreibung, Anwendungsbeispiele und äquivalente CLI-Befehle) deckt jetzt für jedes Modul alle 8 Sprachen ab; zuvor fielen JA und ZH auf Englisch zurück
  • Fehlerbehebung — Navigations-Tooltips für SMB/NFS und Hosts-Datei wurden unabhängig von der gewählten Sprache auf Französisch angezeigt; fehlende Schlüssel nav_hint_smb_nfs und nav_hint_hosts zu allen 7 nicht-französischen Sprachblöcken hinzugefügt

v1.3.1 — 2026-06-05

  • SSH-Schlüsselverwaltung — listet alle Schlüsselpaare in ~/.ssh/ auf (Datei, Typ, Bits, Kommentar, SHA256-Fingerabdruck); generiert Ed25519- oder RSA-4096-Schlüssel mit optionaler Passphrase (Erkennung von Abweichungen, automatischer Dateiname je nach Typ); öffentlichen Schlüssel in die Zwischenablage kopieren; auf einem Remote-Server über ssh-copy-id in einem Inline-Terminal mit stdin-Unterstützung für Passwortabfragen bereitstellen; Schlüsselpaare mit Bestätigung löschen; erstellt ~/.ssh/ automatisch, falls nicht vorhanden; i18n: fr / en / es / de

v1.3.0 — 2026-06-03

  • TLS-/SSL-Inspektor — Zertifikat eines beliebigen Servers prüfen: Subject-CN, SANs, Aussteller, Gültigkeitsdaten (farbcodiert: grün / orange < 30 Tage / rot abgelaufen), Seriennummer, TLS-Protokoll, Cipher-Suite und Zertifikatskette (über openssl s_client); funktioniert für gültige, abgelaufene und selbstsignierte Zertifikate; verständliche Fehlermeldungen bei nicht erreichbaren Hosts
  • SMB-/NFS-Browser — listet Freigaben und Exporte von jedem Server auf; SMB-Tab: smbclient -L mit optionalen Anmeldedaten, zeigt Freigabename / Typ / Kommentar; NFS-Tab: showmount -e, zeigt Exportpfad und Zugriffsliste; erkennt fehlende Werkzeuge und zeigt distributionsspezifische Installationsanweisungen
  • Hosts-Datei-Editor — /etc/hosts anzeigen und bearbeiten; Tabelle mit Aktivieren/Deaktivieren-Umschalter, Einträge über Dialog hinzufügen/bearbeiten/löschen; nach IP oder Hostname filtern; speichert über pkexec cp (polkit-Authentifizierungsdialog)
  • install.sh — neues Skript für Debian / Ubuntu / Linux Mint: erstellt ein venv in ~/.local/share/nmlinux/venv, installiert Systemabhängigkeiten über apt, erstellt Launcher und .desktop-Eintrag (behebt den PEP-668-Fehler externally-managed-environment)

v1.2.9 — 2026-05-30

  • VNC — neues Modul zur Verwaltung von VNC-Verbindungsprofilen; Gruppen/Untergruppen wie bei SSH und RDP; startet vncviewer (TigerVNC); kompatibel mit macOS ARD (DH30-Authentifizierung wird nativ von vncviewer behandelt); Passwort wird nie gespeichert; erkennt fehlendes vncviewer mit distributionsspezifischen Installationsanweisungen
  • Über – Werkzeuge & Dienste — neuer Abschnitt, der alle Drittanbieter-Werkzeuge und APIs auflistet, von denen die App abhängt
  • Sidebar-i18n — alle 23 Navigations-Tooltips sind jetzt in FR/EN/ES/DE übersetzt (waren fest auf Französisch kodiert); Beschriftungen korrigiert: Topologie, Verbindungen, Subnetz

v1.2.8 — 2026-05-30

  • Remotedesktop (RDP) — neues Modul zur Verwaltung von Windows-RDP-Verbindungsprofilen; Gruppen/Untergruppen wie bei SSH; startet xfreerdp als externen Prozess; Passwort wird beim Verbinden abgefragt und nie gespeichert; Felder: Host, Port, Benutzername, Domäne, Auflösung, Vollbild; erkennt fehlendes xfreerdp mit distributionsspezifischen Installationsanweisungen (Arch / Debian / Fedora)

v1.2.7 — 2026-05-26

  • Gebündelte Lucide-Symbole — 21 SVG-Symbole von Lucide (MIT) sind jetzt in assets/icons/ gebündelt; werden zur Laufzeit über QSvgRenderer gerendert; gefärbt #60a5fa; die App benötigt kein System-Icon-Theme mehr (Breeze, Adwaita, Papirus …)

v1.2.6 — 2026-05-24

  • GNOME-/Adwaita-Kompatibilität — Symbole auf Nicht-KDE-Desktops behoben: main.py erkennt das GTK-Icon-Theme jetzt automatisch über gsettings und wendet es auf Qt an; erweiterte Fallback-Ketten für Wi-Fi, Traceroute, Speedtest, Interfaces, Portscanner, Firewall, MTR; themed_icon() validiert jetzt, dass eine echte Pixmap existiert, bevor ein Theme-Symbol akzeptiert wird
  • NixOS-/KDE-Kompatibilität — alle Symbole auf NixOS behoben: Breeze 6.x enthält nur SVGZ-Symbole; der Nix-Wrapper fügt jetzt qt6.qtsvg zu QT_PLUGIN_PATH hinzu, damit Qt SVG-Symbole rendern kann; themed_icon() probiert die Größen 22/24/16/32/48 (Breeze verwendet 22 px, nicht 24); das Theme wird auf breeze erzwungen, wenn das Nix-gebündelte Symbolset erkannt wird; prüft zusätzlich /etc/xdg/kdeglobals auf systemweite KDE-Konfiguration

v1.2.5 — 2026-05-23

  • MTR — eingebettetes My Traceroute: führt mtr --report aus, analysiert die Textausgabe, zeigt eine Live-Tabelle mit Verlust %, RTT Letzter/Ø/Bester/Schlechtester/Jitter pro Hop, farbcodiert nach Schwere des Verlusts; kontinuierlicher Modus; CSV- und TXT-Export
  • Speedtest — abhängigkeitsfreier Geschwindigkeitstest über curl + Cloudflare (speed.cloudflare.com): Download (25 MB), Upload (10 MB), Ping zu 1.1.1.1; bis zu 5 Läufe in JSON gespeichert; historisches Liniendiagramm (Download/Upload)
  • Firewall-Viewer — schreibgeschützter Regelsatz-Viewer: analysiert /etc/nftables.conf und /etc/iptables/*.rules ohne Root; Live-Regelsatz über pkexec nft list ruleset; Spalten: Tabelle / Kette / Regel / Port / Aktion / Kommentar; farbcodierte Aktionen; Live-Filter
  • Sidebar-Hinweise — jeder Navigationspunkt zeigt jetzt ein dezentes ?-Abzeichen; beim Überfahren wird ein Tooltip mit einer Beschreibung des Moduls angezeigt; ein vertikaler Trenner wurde zwischen Sidebar und Inhaltsbereich hinzugefügt
  • i18n — alle neuen Module in Französisch, Englisch und Spanisch übersetzt

v1.2.0 — 2026-05-22

  • Theme-Anpassung — vollständige Unterstützung für hell/dunkel-Umschaltung zur Laufzeit auf allen Seiten; neue core/theme.py mit is_dark(), color_ok(), color_err(); benutzerdefinierte Painter-Widgets (_Graph, _MapWidget) lesen die Palette zum Zeichenzeitpunkt; alle fest codierten Catppuccin-Mocha-Farben wurden durch semantische Qt-Palettenrollen ersetzt
  • Subnetzmaske — die Seiten Dashboard, Interfaces und Verbindungen zeigen jetzt die Subnetzmaske in Punkt-Dezimal-Schreibweise (z. B. 255.255.255.0) an, abgeleitet aus dem CIDR-Präfix
  • Bandbreitenmonitor — expliziter Start/Stopp-Button ersetzt den unzuverlässigen Autostart beim Laden der Seite
  • CSV/TXT-Export — die Seiten Nmap und Traceroute bieten jetzt Export-CSV- und Export-TXT-Buttons (erscheinen nach Abschluss von Scan/Traceroute)
  • i18n — neue Übersetzungsschlüssel für alle oben genannten Funktionen (fr/en/es/de)

v1.1.1 — 2026-05-16

  • SSH-Terminal — vollständige Neufassung mit pyte (VT100/xterm-Emulator) + QPainter-Renderer; 2000-Zeilen-Rückscrollpuffer, blinkender Cursor, 256-Farben-Unterstützung
  • Visuelles Traceroute — Weltkarte (Natural Earth 110m), Live-Geolokalisierung pro Hop (ip-api.com), interaktives Zoomen/Verschieben, dualer Parser (traceroute / tracepath-Fallback)
  • Bandbreitenmonitor — Echtzeit-Durchsatz pro Schnittstelle, 60-Sekunden-Gleitdiagramm, Live-Geschwindigkeiten, Sitzungssummen und Spitzenwerte
  • Wake on LAN — reines Python-Magic-Packet (UDP-Broadcast), persistentes Host-Buch (JSON)
  • IP-Scanner — Hostnamenauflösung über getent/avahi/nmblookup; MAC-Adresse, Anbieter (IEEE-OUI 39K Einträge), Schnittstellenspalten; CSV/TXT-Export aktualisiert
  • i18n — vollständige fr/en/es/de-Übersetzung für alle neuen Seiten

v1.0.0 — 2026-05-14

Erste öffentliche Veröffentlichung — 13 Module: Dashboard, Interfaces, Wi-Fi, Subnetzrechner, DNS-Lookup, Ping-Monitor, IP-Scanner, Portscanner, Nmap, Whois, SNMP, SNTP/NTP, SSH.


Funktionen


Anforderungen

Systemwerkzeuge

Linux — die meisten sind bei einer Standardinstallation bereits vorhanden:```bash

Arch / EndeavourOS

sudo pacman -S iproute2 networkmanager bind-tools nmap whois net-snmp iputils mtr curl

Debian / Ubuntu

sudo apt install iproute2 network-manager dnsutils nmap whois snmp mtr-tiny curl

Fedora

sudo dnf install iproute NetworkManager bind-utils nmap whois net-snmp-utils mtr curl

root@kitploit:~
**macOS** — Installation über [Homebrew](https://brew.sh):```bash
# Required
brew install nmap mtr curl

# Optional — enable additional modules
brew install whois          # WHOIS page
brew install net-snmp       # SNMP page (snmpwalk / snmpget)
brew install samba          # SMB scan with credentials (smbclient)

macOS bringt ping, dig, traceroute, netstat, ifconfig, smbutil und route nativ mit. networksetup und scutil sind integrierte macOS-Tools, keine Installation erforderlich. Auch die OUI-Herstellerabfrage im IP-Scanner benötigt keine Installation — die manuf-Datenbank von Wireshark wird bei der ersten Verwendung automatisch im Hintergrund heruntergeladen und lokal zwischengespeichert.

Optionale Tools

Python

  • Python 3.11+
  • PySide6 6.6+
  • ptyprocess 0.7+
  • pyte 0.8+ (pip install pyte oder sudo pacman -S python-pyte)
  • tftpy 0.8+ (pip install tftpy oder sudo pacman -S python-tftpy) — Dateiübertragungsmodul

Installation

Option 1 — Arch Linux / Manjaro / EndeavourOS (AUR)```bash

yay -S nmlinux

root@kitploit:~
Alle Abhängigkeiten (PySide6, ptyprocess, pyte, nmcli, …) werden automatisch verwaltet.

### Option 2 — NixOS / Nix

Direkt mit der gebündelten `flake.nix` ausführen — keine systemweite Installation erforderlich:```bash
git clone https://github.com/thongor77/nmlinux.git
cd nmlinux
nix run .

Oder eine Entwicklungsshell starten:```bash nix develop python3 -m nmlinux.main

root@kitploit:~
Alle Python-Abhängigkeiten (PySide6, ptyprocess, pyte, tftpy) und Systemwerkzeuge (nmcli, nmap, freerdp, vncviewer, mtr, avahi-browse…) werden automatisch über den Nix-Wrapper bereitgestellt.

### Option 4 — AppImage (beliebige Linux-Distribution, keine Installation)

Laden Sie `NMLinux-x.y.z-x86_64.AppImage` aus der [neuesten Version](https://github.com/thongor77/nmlinux/releases/latest) herunter:```bash
chmod +x NMLinux-*.AppImage
./NMLinux-*.AppImage

Keine Installation erforderlich — Python, Qt und alle NMLinux-Module sind in einer einzigen Datei gebündelt.
Funktioniert auf jedem x86_64-Linux mit glibc 2.17+ (Ubuntu 16.04+, Fedora 26+, Arch, Mint usw.).

Systemnetzwerk-Tools (nmap, whois, mtr…) sind nicht gebündelt — installiere sie über deinen Paketmanager, damit die entsprechenden Module funktionieren. Siehe Requirements unten.

Option 5 — macOS

Schnellster Weg — Einzeiler-Bootstrap. Funktioniert auf einem komplett nackten Mac: installiert Xcode Command Line Tools, Homebrew, alle Systemtools und dann NMLinux selbst. Kann bedenkenlos erneut ausgeführt werden (aktualisiert statt neu zu installieren):```bash curl -fsSL https://raw.githubusercontent.com/thongor77/nmlinux/main/packaging/bootstrap_macos.sh -o /tmp/bootstrap_macos.sh && bash /tmp/bootstrap_macos.sh

root@kitploit:~
Installiere systemweit (`/Applications`) anstelle von `~/Applications`:```bash
curl -fsSL https://raw.githubusercontent.com/thongor77/nmlinux/main/packaging/bootstrap_macos.sh -o /tmp/bootstrap_macos.sh && bash /tmp/bootstrap_macos.sh --system

Kein Apple-Entwicklerkonto oder kostenpflichtige Notarisierung nötig — unter der Haube steckt dasselbe Open-Source-Skript install_macos_app.sh, das nur für dich abgerufen und ausgeführt wird. Das Skript ist schlichtes, lesbares Bash; du kannst /tmp/bootstrap_macos.sh gerne öffnen und lesen, bevor du es ausführst, oder es direkt hier einsehen: packaging/bootstrap_macos.sh.

Erst herunterladen, dann ausführen (statt direkt in bash zu pipen) ist Absicht: Auf einem frischen Mac stößt das Skript verschachtelte interaktive Schritte an (Xcode-Command-Line-Tools-Installer, Homebrews eigener Installer, der nach deinem sudo-Passwort fragt), die vom Terminal lesen — wenn das Skript direkt in bash gepiped wird, können diese verschachtelten Eingabeaufforderungen den eigenen Eingabestrom des Skripts stören und es vorzeitig stoppen. Die Ausführung aus einer heruntergeladenen Datei vermeidet das vollständig.

Manuelle Installation — wenn du jeden Schritt lieber selbst ausführen möchtest oder bereits Homebrew hast:```bash

1. Install Homebrew system tools (see Requirements above)

brew install nmap mtr curl

2. Clone and install

git clone https://github.com/thongor77/nmlinux.git cd nmlinux bash packaging/install_macos_app.sh

root@kitploit:~
To update: `git pull && bash packaging/install_macos_app.sh`  
To uninstall: `bash packaging/uninstall_macos.sh`  
To install system-wide (`/Applications`): `bash packaging/install_macos_app.sh --system`

Das Skript installiert die folgenden Python-Pakete automatisch in die venv:
- `PySide6`, `ptyprocess`, `pyte`, `tftpy`
- `pyobjc-framework-Cocoa` — macOS-Menüleiste, native Dialoge
- `pyobjc-framework-CoreWLAN` — Wi-Fi-SSID-Scanning
- `pyobjc-framework-CoreLocation` — Berechtigung für Ortungsdienste für Wi-Fi-Namen

**Wi-Fi unter macOS 26 (Tahoe):** Beim ersten Start fragt macOS nach der Berechtigung für Ortungsdienste – erteile sie, um Wi-Fi-Netzwerknamen anzuzeigen. Die Berechtigung befindet sich unter *Systemeinstellungen › Datenschutz & Sicherheit › Ortungsdienste*.

> Die meisten Module funktionieren unter macOS ohne Änderungen. RDP fällt auf `open rdp://` zurück (Microsoft Remote Desktop), VNC auf `open vnc://` (integrierte Bildschirmfreigabe). Der Verbindungsmanager hat unter macOS eine eingeschränkte Funktionalität (`nmcli` nicht verfügbar).

### Option 6 — Debian / Ubuntu / Linux Mint (Installationsskript)

> **Hinweis für Linux-Mint-/Ubuntu-Benutzer:** `pip install` ist systemweit auf Python 3.12+ blockiert (PEP 668 — `externally-managed-environment`). Verwende das mitgelieferte Installationsskript – es erstellt automatisch eine virtuelle Umgebung und installiert einen `.desktop`-Eintrag.```bash
git clone https://github.com/thongor77/nmlinux.git
cd nmlinux
bash install.sh

Das Skript wird:

  • Systemabhängigkeiten über apt installieren (libgl1, python3-venv, freerdp, tigervnc…)
  • Eine virtuelle Umgebung in ~/.local/share/nmlinux/venv erstellen
  • NMLinux und seine Python-Abhängigkeiten innerhalb der venv installieren
  • Einen Launcher unter ~/.local/bin/nmlinux erstellen
  • Einen .desktop-Eintrag hinzufügen, damit NMLinux in Ihrem Anwendungsmenü erscheint

Nach der Installation führen Sie nmlinux von einem Terminal aus aus oder starten Sie es über das Anwendungsmenü.

Option 7 — Wheel (alle Distributionen / macOS)

Laden Sie die .whl von der neuesten Version herunter und installieren Sie sie:```bash

Arch / Fedora / macOS — no pip restrictions

pip install nmlinux-1.5.3-py3-none-any.whl

Debian / Ubuntu / Mint — install system libs first, then use pipx

Ubuntu ≤24.04:

sudo apt install libgl1 libglib2.0-0 libdbus-1-3 freerdp2-x11 tigervnc-viewer

Ubuntu 26.04+:

sudo apt install libgl1 libglib2.0-0 libdbus-1-3 freerdp3-x11 tigervnc-viewer

pipx install nmlinux-1.5.3-py3-none-any.whl

root@kitploit:~
> **Hinweis für Ubuntu 26.04+:** `pipx` erfordert, dass zuerst Systembibliotheken (libGL usw.) installiert werden – die obigen Befehle decken diese ab. Wenn `pipx install` aufgrund eines PySide6-Buildfehlers fehlschlägt, verwenden Sie stattdessen **Option 4** (Installationsskript), die alles automatisch übernimmt.

### Option 8 — Aus dem Quellcode (Arch / Fedora / macOS)```bash
git clone https://github.com/thongor77/nmlinux.git
cd nmlinux
pip install PySide6 ptyprocess pyte tftpy
python3 -m nmlinux.main

Option 9 — Desktop-Eintrag (KDE / GNOME / etc.)

Kopiere die .desktop-Datei, damit NMLinux in deinem Anwendungsstarter erscheint:```bash cp data/nmlinux.desktop ~/.local/share/applications/ update-desktop-database ~/.local/share/applications/

root@kitploit:~
Bearbeiten Sie dann den `Exec=`-Pfad in der Datei, falls erforderlich.

---

## Ausführen```bash
./nmlinux.sh
# or, after pip install:
nmlinux
# or directly:
python3 -m nmlinux.main

Projektstruktur```

nmlinux/ core/ i18n.py — Translation system (8 languages: fr/en/es/de/it/pt/ja/zh), tr(key) function icons.py — themed_icon(): 21 bundled Lucide SVG icons via QSvgRenderer theme.py — is_dark(), color_ok(), color_err(): runtime light/dark helpers settings.py — AppSettings dataclass, JSON persistence ssh.py — SshConnection dataclass, SshStore rdp.py — RdpConnection dataclass, RdpStore, find_xfreerdp() vnc.py — VncConnection dataclass, VncStore, find_vncviewer() terminal.py — SshWorker (QThread) + PTY via ptyprocess, emits raw bytes tls_watchlist.py — TlsWatchlist: background cert expiry checker, JSON persistence http_server.py — ThreadedHTTPServer: directory listing, GET/PUT/POST, port binding tftp_helper.py — TftpServerThread: tftpy wrapper, configurable port and root help_content.py — Module contextual help strings (all 8 languages) cli_bar.py — CliBar singleton: pedagogical CLI equivalent bar export_dialog.py — open_export_dialog(): QFileDialog with live extension update command_palette.py — CommandPalette (Ctrl+P): fuzzy search across 29 modules export_manager.py — collect_snapshot(), to_json/text/markdown/pdf, save_export() pages/ about.py — About page (credits, tools & services) bandwidth.py — Bandwidth Monitor: per-interface 60s graph, live stats connection_manager.py — Connection Manager: nmcli profiles, connect/disconnect/edit dashboard.py — Dashboard dns.py — DNS Lookup file_transfer.py — File Transfer: TFTP + HTTP server, live log, pkexec for port 69 firewall.py — Firewall Viewer: nftables + iptables parser, live via pkexec help_page.py — Contextual help overlay hosts.py — Hosts File: view/edit /etc/hosts, toggle entries, save via pkexec interfaces.py — Network Interfaces ip_scanner.py — IP Scanner mtr.py — MTR: mtr --report parser, live hop stats table, export nmap_scan.py — Nmap ping.py — Ping Monitor port_scanner.py — Port Scanner rdp.py — Remote Desktop: RDP profiles, launches xfreerdp settings.py — Settings page smb_nfs.py — SMB/NFS Browser: smbclient + showmount snmp.py — SNMP sntp.py — SNTP / NTP speedtest.py — Speed Test: curl + Cloudflare, history graph ssh.py — SSH page (connection manager + terminal) ssh_keys.py — SSH Key Manager: list/generate/deploy/delete key pairs subnet.py — Subnet Calculator terminal_view.py — TerminalView: pyte VT100 emulator + QPainter renderer tls.py — TLS Inspector + TLS Watchlist: cert details, background expiry monitor topology.py — Topology Map: nmap -sn, interactive graph, zoom/pan traceroute.py — Visual Traceroute: world map, geolocation, zoom/pan vnc.py — VNC: connection profiles, launches vncviewer whois.py — Whois wifi.py — Wi-Fi wol.py — Wake on LAN: magic packet, persistent host book assets/ icons/ — 21 bundled Lucide SVG icons (#60a5fa) world.geojson — Natural Earth 110m countries (map background) window.py — MainWindow (sidebar + QStackedWidget) main.py — Entry point

root@kitploit:~
---

## Kompatibilität mit Desktop-Umgebungen

Seit v1.2.7 verwendet NMLinux 21 gebündelte [Lucide](https://lucide.dev)-SVG-Icons, die zur Laufzeit über `QSvgRenderer` gerendert werden. Die Anwendung ist nicht länger von einem System-Icon-Theme (Breeze, Adwaita, Papirus…) abhängig und wird auf KDE, GNOME, XFCE und anderen korrekt angezeigt. Der Qt-Stil passt sich automatisch an die laufende Desktop-Umgebung an.

---

## Einschränkungen

### Linux
Volle Unterstützung — alle 29 Module verfügbar.

### macOS
Die meisten Module funktionieren sofort, da sie auf Werkzeugen basieren, die auf beiden Plattformen verfügbar sind (`ssh`, `dig`, `ping`, `curl`, `nmap`, `openssl`…).

**9 Module erfordern eine explizite macOS-Anpassung** (doppelte Codepfade, die die Plattform beim Start erkennen): Dashboard, Interfaces, Wi-Fi, Topology, Bandwidth, Firewall, Connection Manager, Hosts File, MTR — diese verwenden native macOS-Befehle (`ifconfig`, `networksetup`, `scutil`, `pfctl`, `system_profiler`…) anstelle ihrer Linux-Äquivalente.

**Module mit eingeschränkter oder fehlender macOS-Unterstützung:**

| Modul | Status | Anmerkungen |
|--------|--------|-------|
| **RDP** | ✓ macOS | Greift auf `open rdp://` zurück → Microsoft Remote Desktop (App Store) |
| **VNC** | ✓ macOS | Greift auf `open vnc://` zurück → Bildschirmfreigabe (integriert, keine Installation erforderlich) |
| **IP Scanner** | ✓ macOS | Verwendet `socket.gethostbyaddr()` — reines Python, kein zusätzliches Werkzeug |
| **SMB** | ✓ macOS | Verwendet `smbutil view` (integriert) anstelle von `smbclient` |
| **NFS** | ✓ macOS | `showmount` integriert; Header-Parsing angepasst |
| **Connection Manager** | ⚠ Eingeschränkt | Bearbeiten/Löschen erfordern `nmcli` (nur Linux); Listenansicht funktioniert |

### Allgemein

- Keine Root-/polkit-Integration — Werkzeuge, die erhöhte Rechte benötigen (einige Nmap-Modi, Raw-Sockets), müssen mit `sudo` ausgeführt werden; unter macOS erfolgt die Rechteausweitung über `osascript` + `administrator privileges`
- SSH-Agent-Weiterleitung erfordert einen aktiven SSH-Agenten (`SSH_AUTH_SOCK`); unter macOS wird dies automatisch vom System übernommen, keine manuelle Einrichtung erforderlich

---

## Danksagungen und Anerkennungen

- **[Anthropic](https://www.anthropic.com)** — Claude Code, der KI-Assistent, der zum Bau dieses Projekts verwendet wurde
- Dem Autor für die Vision, das Testen und die Leitung

---

## Unterstützen Sie das Projekt

Wenn NMLinux für Sie nützlich ist, erwägen Sie, seine Entwicklung zu unterstützen:

- **PayPal** — [Über PayPal spenden](https://www.paypal.com/donate/?business=JFQGY7NU3ANCN&no_recurring=0&item_name=Every+donation%2C+no+matter+how+small%2C+helps+me+keep+this+project+alive.+Thank+you%21%0A&currency_code=EUR)
- **Bitcoin** — `bc1qspe0tky7552qas72wgn8w9dswr0dxlv24w39t6ztjqk3nz6kc5tqv753a4`

---

## Lizenz

GPL-2.0 — siehe [LICENSE](https://github.com/thongor77/nmlinux/blob/HEAD/LICENSE).

Dieses Projekt ist eine unabhängige Neuimplementierung. Es wurde kein Code von NETworkManager verwendet oder übersetzt.
Tool herunterladen
flatpak-spawn --host
TIOCSCTTY
EPERM
script
  • Dashboard – Gateway-Ping-Diagramm: Live-Latenz-Sparkline, alle 2 Sekunden aktualisiert; farbcodiert (<20 ms grün / 20–100 ms orange / >100 ms rot / Timeout rot)
  • Dashboard – TLS-Watchlist-Zusammenfassung: Die Statuskarte im Dashboard spiegelt automatisch den TLS-Watchlist-Status wider (OK / läuft ab / Alarm), ohne erneut abzufragen.
  • Dashboard – Geokarten-Größenanpassung: Die Weltkarte dehnt sich jetzt horizontal aus, wenn das Fenster vergrößert wird.
  • Topologie – Detailbereich zeigt die erkannte Geräteklasse (Drucker, Smartphone, NAS …) anstelle des generischen Labels „Host"; i18n in allen 8 Sprachen
  • Traceroute – automatischer Zoom — die Weltkarte zoomt automatisch und zentriert sich am Ende jeder Route auf den Begrenzungsrahmen der geolokalisierten Hops; wird deaktiviert, wenn der Benutzer manuell verschiebt oder zoomt; wird bei der nächsten Traceroute wiederhergestellt; Rechtsklick setzt auf die vollständige Weltansicht zurück
  • Unveränderte Module (Werkzeuge auf beiden Plattformen identisch): DNS, Nmap-Scan, SNMP, Whois
  • ModulBeschreibung
    DashboardLokale Rechnerinfo, Gateway, öffentliche IP, Geolokalisierung, DNS-Resolver
    VerbindungsmanagerNetworkManager-Profile über nmcli: auflisten, filtern, verbinden/trennen/bearbeiten/löschen
    InterfacesTabelle der Netzwerkschnittstellen mit Details pro Schnittstelle (ip + nmcli)
    Wi-FiVerfügbare Netzwerke, Signalstärkebalken, Sicherheit, verbundenes Netzwerk hervorgehoben
    SubnetzrechnerNetzwerk-/Broadcast-/Hostbereich aus CIDR, Hosttabelle mit bis zu 4096 Einträgen
    DNS-Lookupdig-basierte Abfrage für A, AAAA, MX, TXT, NS, CNAME, PTR, SOA, ANY
    Ping-MonitorKontinuierlicher Ping an mehrere Hosts, RTT-Statistiken, Paketverlust in %
    IP-ScannerCIDR-/Bereichs-Ping-Scan, 50 Threads, Hostname (DNS/mDNS/NetBIOS), MAC-Adresse, Anbieter (OUI), Schnittstelle, CSV- und TXT-Export
    PortscannerTCP-Connect-Scan, 200 Threads, Dienst-Presets, CSV- und TXT-Export
    Nmap7 Scan-Modi, XML-Ausgabeanalyse, Host-/Port-/Protokoll-/Status-/Dienst-Tabelle, CSV- und TXT-Export
    WhoisRohe Whois-Ausgabe in Monospace
    SNMPsnmpwalk/snmpget, v1/v2c, 10 OID-Presets, Ergebnistabelle
    SNTP / NTPReiner Python-RFC-4330-UDP-Client, Offset/Verzögerung/Stratum/Referenz
    SSHEingebettetes PTY-Terminal (pyte/VT100), gespeicherte Verbindungen (JSON), Schlüsselauthentifizierung, Rückscrollpuffer
    RemotedesktopRDP-Verbindungsprofile (Gruppen/Untergruppen); startet xfreerdp; Passwort wird nie gespeichert
    VNCVNC-Verbindungsprofile (Gruppen/Untergruppen); startet vncviewer (TigerVNC); macOS-ARD-kompatibel; Passwort wird nie gespeichert
    SSH-SchlüsselverwaltungSchlüsselpaare in ~/.ssh/ auflisten (Typ, Bits, Fingerabdruck); Ed25519/RSA 4096 erzeugen; öffentlichen Schlüssel kopieren; via ssh-copy-id auf Server bereitstellen; Paare mit Bestätigung löschen
    TLS-InspektorZertifikatsdetails: CN, SANs, Aussteller, Gültigkeit + Ablauf-Countdown, Seriennummer, Protokoll, Cipher, Kette; Watchlist mit Hintergrund-Ablaufmonitor und Seitenleisten-Farbpunkt
    SMB / NFSSMB-Freigaben (smbclient) und NFS-Exporte (showmount) von jedem Server oder NAS auflisten; optionale Anmeldedaten für SMB
    Hosts-Datei/etc/hosts anzeigen/bearbeiten: Einträge hinzufügen, löschen, umschalten; filtern; über pkexec speichern
    Visuelles TracerouteHop-für-Hop-Route auf einer Weltkarte, Live-Geolokalisierung (ip-api.com), Zoom & Verschieben, CSV- und TXT-Export
    MTREingebettetes My Traceroute: Verlust %, RTT Letzter/Ø/Bester/Schlechtester/Jitter pro Hop, farbcodiert, CSV- und TXT-Export
    Firewall-ViewerSchreibgeschützter nftables- + iptables/ip6tables-Regelsatz (ohne Root); live über pkexec; nach Tabelle/Kette/Aktion filtern
    SpeedtestDownload/Upload/Ping über Cloudflare; kein externes Werkzeug außer curl; Verlaufsdiagramm (letzte 5 Läufe)
    BandbreiteEchtzeit-Durchsatz pro Schnittstelle: 60-s-Gleitdiagramm, Live-Geschwindigkeiten, Sitzungssummen, Spitzenwert
    Wake on LANReines Python-Magic-Packet (UDP-Broadcast), persistentes Host-Buch, kein externes Werkzeug erforderlich
    TopologiekarteAutomatische Erkennung von LAN-Geräten über nmap -sn; interaktiver Graph mit verschiebbaren Knoten, Zoom/Verschieben, Detailbereich
    EinstellungenSprachauswahl (FR / EN / ES / DE / IT / PT / JA / ZH), dauerhaft gespeichert; Neustart nach Änderung erforderlich
    BefehlspaletteStrg+P-Overlay: Fuzzy-Suche über alle 29 Module nach Name oder Schlüsselwort
    DateiübertragungBedarfsweise TFTP- oder HTTP-Server; konfigurierbarer Port und Wurzelverzeichnis; lokale IPs als Kopier-Buttons; Live-Protokolltabelle (Dateiname, Client-IP, Richtung ↑/↓, Größe); HTTP-Verzeichnisliste + GET/POST/PUT; TFTP GET + PUT; Port 69 fragt pkexec ab
    ExportDatei → Netzwerkbericht exportieren (JSON/Markdown/Text/PDF); modulweiser Export auf Interfaces, DNS, Firewall, SSH, Verbindungen
    ToolFunktionLinuxmacOS
    xfreerdp / xfreerdp3Remotedesktop (RDP)Arch: freerdp · Ubuntu ≤24.04: freerdp2-x11 · Ubuntu 26.04+: freerdp3-x11optional — greift auf Microsoft Remote Desktop zurück (open rdp://)
    vncviewerVNCArch: tigervnc · Debian: tigervnc-vieweroptional — greift auf die macOS-Bildschirmfreigabe zurück (open vnc://, integriert)
    nm-connection-editorVerbindungen aus dem Verbindungsmanager bearbeitenArch: nm-connection-editor— (Stattdessen öffnen sich die Systemeinstellungen)
    tracerouteTraceroute-Alternative (standardmäßig wird tracepath verwendet)Arch: tracerouteintegriert
    mount.cifs (cifs-utils)SMB-Freigaben aus dem Kontextmenü einhängenArch/Debian: cifs-utilsintegriert (mount_smbfs)
    iperf3Geschwindigkeitstest — LAN-TabArch: iperf3 · Debian/Ubuntu: iperf3brew install iperf3