NetRadar für Omarchy Linux: Schneller, unprivilegierter lokaler Netzwerkscanner und Geräteradar
Bewertung —Die Veröffentlichung des NetRadar-Plugins mit Quickshell und Rust-Kern, das ohne Root-Rechte das lokale Netzwerk in Sekunden kartiert, mithilfe der unprivilegierten Schnittstellen des Linux-Kernels und POSIX getnameinfo.

Inhalt
Zusammenfassung: NetRadar ist ein Omarchy-Plugin, das Geräte im lokalen Netzwerk findet, ohne Root-Rechte zu verlangen. Der Artikel beschreibt, wie die Erkennung über die Nachbarschaftstabelle des Kernels, mDNS-Auslösung und getnameinfo funktioniert, die Herstellererkennung anhand des MAC-Präfixes, Ping- und Dienstprüfungen, die Sicherheitsmaßnahmen und die Nutzung sowohl als obere Leiste als auch als Desktop-Anwendung.
In modernen Heim- und Büronetzwerken sind Dutzende intelligente Geräte, Telefone, Tablets, Fernseher, Einplatinencomputer und IoT-Geräte gleichzeitig verbunden. Für die meisten Linux-Nutzer ist es jedoch oft ein mühsamer Prozess, eine Antwort auf die Frage zu finden: „Welche Geräte befinden sich gerade in meinem lokalen Netzwerk, wo ist mein Gateway und zu welchen Hardwareherstellern gehören diese Geräte?“
Traditionell greift man für diesen Bedarf zu schweren CLI-Werkzeugen, die ein Terminal öffnen und sudo nmap -sn 192.168.1.0/24 oder ähnliche Raw Sockets erzeugen, CAP_NET_RAW erfordern und Systemrechte erzwingen. In der Desktop-Umgebung fehlte eine leichte, sichere und elegante Lösung, die mit einem Klick in der oberen Leiste (Bar Widget) sofort den Netzwerkstatus, die Anzahl verbundener Geräte, IP/MAC-Zuordnungen und Hardwarehersteller anzeigt.
Um diesen Bedarf zu decken, freue ich mich, das Projekt NetRadar vorzustellen, das wir für das Omarchy-Linux-Desktop-Ökosystem entwickelt haben.
NetRadar ist ein modernes Desktop-Radar, das Ihr lokales Netzwerk mit einem Klick sichtbar macht – mit der flüssigen Wayland-Oberfläche von Quickshell 4.0, der leistungsstarken Engine mit Rust-Kern (netradar-engine), dem Prinzip des Betriebs ohne Root/unprivilegiert und der integrierten IEEE-OUI-Datenbank zur Hardware-Herstellererkennung.
1. Unprivilegierte (rootlose) Erkennungsarchitektur
Die grundlegendste Regel, damit ein Netzwerkscanner in einer Desktop-Umgebung sicher läuft, ist, dass er keine Rechteerhöhung (sudo, pkexec, setuid oder CAP_NET_RAW) im System erfordert.
NetRadar nutzt die unprivilegierten Benutzerraum-Schnittstellen des Kernels maximal aus:
- Kernel-Nachbarschaftstabelle (
ip -j neigh&/proc/net/arp): Die ARP- und Nachbarschaftseinträge, die der Linux-Kernel über die Netzwerkschnittstellen auflöst, werden im JSON-Format ausgewertet. - Harmlose mDNS-/UDP-Auslösung: Damit die Geräte im Netzwerk in der Nachbarschaftstabelle aktuell bleiben, werden unprivilegierte UDP-Pakete an die standardmäßigen lokalen Multicast-Ports (5353 mDNS / 137 NetBIOS) gesendet, wodurch die ARP-Auflösung des Kernels ausgelöst wird.
- Sicheres Reverse-DNS mit POSIX getnameinfo: Die Hostnamen der Geräte werden innerhalb von Sekunden über
getnameinfoauf libc-Ebene und den lokalen/etc/hosts-Cache aufgelöst.
2. Integrierte IEEE-OUI-Herstellererkennung
Die Geräte im Netzwerk nur mit komplizierten IP- (192.168.1.42) oder MAC-Adressen (AC:71:2E:...) aufzulisten, ist aus Sicht der Benutzererfahrung unzureichend.
NetRadar enthält eine in die Engine eingebettete, schnelle OUI-Präfixtabelle (Organizationally Unique Identifier):
- Durch sofortiges Abgleichen der ersten 3 Bytes der MAC-Adresse wird der Hersteller des Geräts erkannt (Apple, Samsung, Intel, Google, Xiaomi, Huawei, Amazon, Raspberry Pi, Espressif IoT, TP-Link, MikroTik, Cisco, VMware usw.).
- Der Hardwaretyp wird automatisch kategorisiert: Router, Computer (PC), Smartphone (Phone), Internet der Dinge (IoT) oder Smart-TV (TV).
- In der Oberfläche werden kategoriespezifische visuelle Symbole und farbliche Hervorhebungen zugewiesen.
3. White-Hat-Dienstprüfung und Schnellzugriff
NetRadar ist nicht nur ein passiver Beobachter, sondern bietet auch praktische Funktionen, die die lokale Netzwerkverwaltung erleichtern:
- Live-Latenz-(Ping-)Proben: Für jedes Gerät wird die Umlaufzeit (RTT) in Millisekunden gemessen und der Erreichbarkeitsstatus mit grünen/orangen Anzeigen dargestellt.
- Prüfung der Verwaltungsdienste: Die standardmäßigen Verwaltungsports der Geräte (80 HTTP, 443 HTTPS, 8080 WebUI, 22 SSH, 53 DNS, 445 SMB) werden mit nicht invasiven TCP-Handshakes und einem kurzen Timeout von 130 Millisekunden geprüft.
- Weboberfläche mit einem Klick öffnen: Öffnet das Webverwaltungsfeld für Ihren Router oder Ihr Modem direkt in Ihrem Standardbrowser.
- SSH mit einem Klick starten: Startet eine SSH-Sitzung direkt über das Terminal
footzu Geräten wie Servern oder Raspberry Pis, bei denen ein offener Port erkannt wurde. - Wayland-Zwischenablage-Integration: Sobald auf eine IP- oder MAC-Adresse geklickt wird, wird sie mit
wl-copyin die Zwischenablage kopiert und auf dem Bildschirm wird eine sofortige Benachrichtigung angezeigt.
4. Einhaltung von Sicherheits- und Verteidigungsstandards
NetRadar wurde in Übereinstimmung mit den Sicherheitsprinzipien von Omarchy Linux entwickelt:
- Alte Prozessisolierung: Alle externen Systembefehle werden mit
cmd.process_group(0)in einer unabhängigen Prozessgruppe, mit bereinigten Umgebungsvariablen (PATH=/usr/bin:/bin,LC_ALL=C) undO_NONBLOCK-Pipe-Lesevorgängen ausgeführt. - Begrenzter Puffer und Speicherobergrenze: Die Lesevorgänge der Prozess-Pipe sind auf eine Obergrenze von 64 KiB (
MAX_BUFFER_CAP = 64 * 1024) begrenzt, die persistenten Zustandsdateien auf eine Obergrenze von 1 MiB (MAX_REGISTRY_FILE_SIZE = 1024 * 1024). Speicherverbrauch und DoS-Angriffe werden verhindert. - Schutz vor Argumentinjektion: IP-Adressen werden streng durch
Ipv4Addr-Validierung geprüft. An die Befehlepingundsshwird der Argumentabschluss--übergeben, der Flag-Manipulation verhindert. - Beschränkung auf private Subnetze (CIDR Bounding): Scan- und Port-Abfragevorgänge sind strikt auf RFC 1918 (
10.0.0.0/8,172.16.0.0/12,192.168.0.0/16), RFC 3927 (Link-Local) und Loopback-Adressen beschränkt. Das Senden von Paketen an öffentliche Internetadressen wird verhindert. - Atomare Speicherung im Modus 0600: Geräte-Aliase und die Liste vertrauenswürdiger Geräte werden in Verzeichnissen mit
0700-Berechtigungen und in Dateien mit0600-Berechtigungen atomar über.tmp_*gespeichert, wobei symbolische Links (Symlinks) strikt abgelehnt werden. - XSS- und Markup-Schutz: Alle dynamischen Texte in der Quickshell/QML-Oberfläche werden mit der Angabe
textFormat: Text.PlainTextverarbeitet.
5. Dualer Modus
NetRadar ist für zwei verschiedene Nutzungsszenarien optimiert:
- Quickshell Top-Bar-Widget (
Panel.qml): Ein Zähler-Badge in der oberen rechten Leiste des Desktops, der die Anzahl aktiver Geräte anzeigt, sowie ein Schnellradar-Menü, das sich beim Anklicken öffnet. - Desktop-Anwendung (
netradar-dashboard,shell.qml): Ein umfangreiches Kontrollpanel mit Kategorie-Filter-Chips (Alle, Router, Computer, Telefone, IoT), einer Suchleiste und Anzeigen für den aktuellen Netzwerkverkehr (RX/TX-Raten).
6. Installation und Verwendung
Kompilieren aus dem Quellcode
# Depoyu klonlayın
git clone https://github.com/ozdil/omarchy-netradar.git
cd omarchy-netradar
# Motoru derleyin
cargo build --release --locked
# İkili dosyaları kurun
install -Dm755 target/release/netradar-engine ~/.local/bin/netradar-engine
install -Dm755 netradar ~/.local/bin/netradar
install -Dm755 netradar-dashboard ~/.local/bin/netradar-dashboard
install -Dm755 netradar-status ~/.local/bin/netradar-status
install -Dm644 netradar.desktop ~/.local/share/applications/netradar.desktop
CLI-Verwendung
# Tam JSON tarama çıktısı (otomasyon ve betikler için)
netradar-engine --scan
# Tek satır insan okunabilir durum özeti
netradar-status
# Belirli bir cihazın gecikmesini ölçme
netradar-engine --ping 192.168.1.1
# Bir cihaza kalıcı takma ad (alias) atama
netradar-engine --set-alias "AC:71:2E:95:48:56" "Ana Ofis Router"
# Grafiksel kontrol panelini başlatma
netradar
Meine Bewertung
- Für den Netzwerkscan ist kein Root nötig: Die Nachbarschaftseinträge, die der Kernel ohnehin führt, reichen für die meisten Anforderungen aus.
- Der Scan ist auf private Netze beschränkt: Es wird nicht über RFC 1918 und Link-Local hinausgegangen.
- Eingaben werden sicher an Befehle übergeben: Die IP-Validierung und der
---Terminator verhindern Argument-Injection.
Quellen
- GitHub-Repository: ozdil/omarchy-netradar
- Lizenz: MIT-Lizenz
- Entwickler: Ozan Özdil