Aus Linux-Magazin 06/2022

CLI-Werkzeuge im Kurztest

DNS-over-HTTPS Proxy DOHD (Master, 28.03.2022), schlanker Webserver Caddy 2.4.6, Deduplizierer Fdup 1.0.2, /etc/hosts-Verwalter Hostctl 1.1.2, SSD-Benchmark 1.1.8, UDP-Proxy-2020 0.0.10.

DOHD (Master, 28.03.2022)

DNS-over-HTTPS Proxy

Quelle: https://github.com/dyne/dohd

Lizenz: AGPLv3

Alternativen: Dnsproxy, Https_dns_proxy

DNS-Anfragen wandern in der Regel unverschlüsselt durchs Netz, was es potenziellen Angreifern leicht macht, mit eigenen Servern dazwischenzufunken. Seit einiger Zeit empfehlen Experten daher DNS over HTTPS (DoH) als Mittel gegen DNS-Hijacking. Etliche moderne Webbrowser unterstützen DoH bereits. Als Alternative bietet sich DOHD an. Das Tool ist noch recht jung, darum müssen Sie den Quellcode aus dem Master-Branch des Github-Repositorys bauen.

Das Werkzeug arbeitet als DoH-Brücke. Es nimmt Anfragen via HTTPS entgegen und reicht sie an einen vordefinierten DNS-Server weiter. Zertifikat und Schlüssel erstellen Sie vorab per OpenSSL oder nutzen bereits vorhandene Schlüssel. Hinter »-c« und »-k« übergeben Sie beim Aufruf die jeweiligen Zertifikats- und Schlüsseldateien. Der Betrieb im lokalen Netz mit selbst signierten Zertifikaten verursacht bei HTTP-Clients oft Probleme, da diese die Echtheit nicht überprüfen können. In dem Fall binden Sie das eigene Zertifikat händisch in die CA-Verwaltung des jeweiligen Clients ein.

Beim Start geben Sie hinter »-d« den DNS-Server und hinter »-p« den Port an. Als Standardeinstellung nutzt DOHD den Port 8053 und die Loopback-Schnittstelle sowie das UDP-Protokoll. Starten Sie DOHD mit Administratorrechten, können Sie über »-u« ein anderes Benutzerkonto angeben – ideal, falls das Tool auf einem privilegierten Port lauschen soll, ohne dass der Prozess weitgehende Rechte erhält. DOHD zieht sich nach dem Start in den Hintergrund zurück und gibt die Shell wieder frei, falls Sie es nicht mit dem Parameter »-F« im Vordergrund halten.

  Auch wenn DOHD noch ein junges Projekt ist, erledigt es seine Aufgaben gut – ein interessanter Ansatz, um DoH-fähige Clients an den eigenen, nicht DoH-fähigen DNS-Dienst anzubinden.

Caddy 2.4.6

Schlanker Webserver mit automatischem HTTPS

Quelle: https://github.com/caddyserver/caddy

Lizenz: Apache 2.0

Alternativen: Lighttpd, Nginx

Der schlanke Webserver Caddy setzt in der Voreinstellung auf SSL/TLS. Das in Go implementierte Tool empfiehlt sich als Alternative zu Boliden wie Apache oder Nginx. Da es bislang in den Repositories der gängigen Distributionen fehlt, installieren Sie eines der unter Github angebotenen Pakete. Die Entwickler beschreiben Caddy als erweiterbare Server-Plattform, die Webseiten und auch andere Dienste bereitstellt.

Sie steuern Caddy über Aufrufparameter oder im laufenden Betrieb über REST-API-Aufrufe. Auch eine Konfigurationsdatei können Sie zu Beginn oder während einer Session übermitteln. Neben dem eigenen Format Caddyfile nimmt das Tool seine Einstellungen auch als JSON-Datei oder über sogenannte Adapter als NGINX-, YAML-, CUE- oder TOML-Dateien entgegen. Zum Start einer Caddy-Instanz dient der Befehl »run«. Falls nicht anders definiert, lauscht der Dienst auf der lokalen Schnittstelle an Port 2019. Soll Caddy nach dem Start im Hintergrund weiterarbeiten, ersetzen Sie »run« durch »start«.

Mit dem Kommando »file-server« stellt das Tool das lokale Verzeichnis im Browser bereit. Um den externen Zugriff zu ermöglichen, geben Sie hinter »-listen« die externe Adresse und einen Port vor. Das Kommando »reverse-proxy« schaltet in die entsprechende Betriebsart, über »-from« und »-to« legen Sie die interne und externe Seite des Proxys fest. Eine Übersicht aller unterstützten Befehle liefert »help«, weitere Informationen und Anwendungsbeispiele finden Sie auf Github.

  Vor dem Einsatz von Caddy empfiehlt sich die Lektüre des ausführlichen Handbuchs.

Hostctl 1.1.2

Datei »/etc/hosts« verwalten

Quelle: https://github.com/guumaster/hostctl

Lizenz: MIT

Alternativen: Texteditor

Vor der Implementierung des DNS-Protokolls erfolgte das Auflösen von Host-Namen und IP-Adressen ausschließlich über sogenannte Hosts-Dateien. Heute enthält die »/etc/hosts« oft nur noch die Loopback-Schnittstelle. In geschlossenen Netzsegmenten oder kleinen SoHo-Netzen kann sie aber immer noch nützlich sein. Hostctl erspart es Ihnen dann, die Einträge händisch im Texteditor vornehmen zu müssen. Das Go-Tool verwaltet Einträge und bietet Zusatzfunktionen wie Profile, also Gruppen aus mehreren Einträgen. Auf Github gibt es Pakete für Linux, MacOS und Windows.

Sie steuern Hostctl über Kommandos beim Aufruf. So zeigt »list« alle Einträge aus »/etc/hosts« an. Für jeden führt das Tool das dazugehörige Profil, den Status, die IP-Adresse und den zugeordneten FQDN auf. Statt dieser tabellarischen Darstellung kann Hostctl auch Ausgaben im Raw-, Markdown- oder JSON-Format erzeugen. Mit »add« fügen Sie bestehenden oder neuen Profilen Einträge hinzu. Beim (De-)Aktivieren von Profilen arbeitet Hostctl mit Kommentarzeichen. Die dazugehörigen Befehle sind »enable« und »disable«. Das Kommando »status« zeigt den Zustand der jeweiligen Einträge an. Zum Sichern und Wiederherstellen bringt Hostctl die Befehle »backup« und »restore« mit; »remove« und »replace« passen einzelne Einträge und Profile an.

  Ein Blick auf Hostctl lohnt. Vor dem Einsatz empfiehlt sich ein Blick ins ausführliche Handbuch auf Github.

SSD-Benchmark 1.1.8

Geschwindigkeit von Festplatten messen

Quelle: https://github.com/sassman/ssd-benchmark-rs

Lizenz: GPLv3

Alternativen: Bonnie++, SDB

Wie schnell ist die neue SSD im Rechner? Antworten darauf verspricht das in Rust implementierte SSD-Benchmark. Auf Github stehen die Quellen und ein DEB-Paket bereit. Eine Konfiguration ist nicht erforderlich, Sie rufen das Tool einfach im aktuellen Verzeichnis ohne weitere Parameter auf. Zum Testen der Geschwindigkeit mehrerer Platten geben Sie deren Einhängepunkte an.

Für den Test schreibt SSD-Benchmark einen Datensatz von 1 GByte Größe in Blöcken von jeweils 8 MByte Umfang auf den Datenträger. Um dabei einen realistischen Durchsatzwert zu erhalten, füllt das Tool vorab den Plattenpuffer mit 8 MByte zufälliger Daten. Nach dem Schreibvorgang gibt SSD-Benchmark die benötigte Gesamtzeit und den durchschnittlichen Datendurchsatz pro Sekunde aus.

Um einen realistischen Durchschnittswert zu liefern, wiederholt das Tool den Schreibvorgang acht Mal. Für jeden Durchlauf zeichnet es einen eigenen Fortschrittsbalken, der Sie über den aktuellen Stand informiert. Ganz am Ende gibt es eine ausführliche Auswertung mit Angaben zum schnellsten und längsten Schreibvorgang sowie zur durchschnittlichen Dauer. Daneben verrät SSD-Benchmark den maximalen und minimalen Datendurchsatz sowie den Durchschnittswert. Für die ermittelte Zeit und den Datendurchsatz gibt es Die Standardabweichung an.

  Ein High-End-Tool ist SSD-Benchmark schon wegen der fehlenden Einstellungsmöglichkeiten nicht. Dafür punktet es mit einer extrem einfachen Bedienung.

UDP-Proxy-2020 0.0.10

UDP-Pakete weiterleiten

Quelle: https://github.com/synfinatic/udp-proxy-2020

Lizenz: MIT

Alternativen: UDP-Redux

An Proxy-Lösungen für TCP herrscht unter Linux kein Mangel, anders sieht es bei UDP-Proxies aus. Das in Go geschriebene UDP-Proxy-2020 will diese Lücke schließen. Die aktuelle Version bauen Sie aus den Quellen. Sie korrigiert unter anderem Fehler beim Erstellen von Docker-Images. Wollen Sie UDP-Proxy-2020 nicht im Container einsetzen, können Sie auch ein Paket der Vorgängerversion aus dem Github-Repo installieren.

Sie konfigurieren das Tool über Aufrufparameter, die Online-Hilfe (»-h«) beschreibt alle verfügbaren Optionen. Die müssen UDP-Proxy-2020 an mindestens zwei Schnittstellen binden, die Sie hinter »-i« angeben. Eine Übersicht aller unterstützten Interfaces liefert »-l«, über »-p« legen Sie den Port fest. Neben Ethernet- und WLAN-Schnittstellen unterstützt UDP-Proxy-2020 für den VPN-Einsatz auch TUN- und RAW-Interfaces.

In der Voreinstellung liegt der Timeout für Verbindungen bei 0.2 Sekunden, die TTL der Client-IPs liegt bei 180 Minuten. Mit den Parametern »-t« und »-T« passen Sie die Werte bei Bedarf an. Für die Fehleranalyse kann »-L« den Logging-Grad erhöhen, zur Ausgabe einer PCAP-Datei geben Sie »-P« an. UDP-Proxy-2020 lauscht nicht am jeweiligen Socket, sondern nutzt die Libpcap, um den gesamten UDP-Verkehr mitzuschneiden. Der Einsatz des Tools erfordert Root-Rechte, wenn es auf einem unprivilegierten Port lauscht.

  UDP-Proxy-2020 erledigt seine Aufgabe gut. Die Konfiguration ist überschaubar, die Dokumentation könnte ausführlicher sein.

Fdup 1.0.2

Dubletten finden

Quelle: https://github.com/richardwilkes/fdup

Lizenz: MPL 2.0

Alternativen: Fdupes, Fslint

Mithilfe von Fdup spüren Sie Dateidubletten auf. Das Go-Tool fehlt bislang in den gängigen Repositories. Sie bauen es aus den Quellen selbst, wozu Sie Go 1.8 benötigen. Im Hintergrund arbeitet Fdup mit SHA-256-Prüfsummen. Allerdings beschränkt sich die Dokumentation auf die über »-h« verfügbare Online-Hilfe. Sie verrät, dass der Funktionsumfang überschaubar ist.

Um alle Dubletten in einem Verzeichnisbaum zu ermitteln, übergeben Sie den Pfad beim Aufruf. Fdup untersucht alle Dateien und listet die Duplikate samt vollständiger Pfadangabe auf. Identische Dateien fasst das Tool dabei jeweils zu Blöcken zusammen, die es durch ein Leerzeichen voneinander trennt. Versteckte Dateien ignoriert Fdup, falls sie nicht den Schalter »-H« setzen. Während des Suchvorgangs blendet Fdup eine Fortschrittsanzeige mit der Anzahl verarbeiteter Dateien und gefundener Dubletten ein.

Über den Parameter »-e« beschränken Sie die Auswertung auf Dateien mit einer vorgegebenen Dateierweiterung. Fügen Sie »-c« hinzu, achtet Fdup außerdem auf die korrekte Schreibweise der Extension. Zudem kann es direkt aufräumen und Duplikate löschen (»-d«). Fdup behält die erste gefundene Dublette als Original zurück. Um nur Dubletten aus einem bestimmten Pfad zu entsorgen, geben Sie diesen als letzten Parameter beim Aufruf an.

  Fdup hat Potenzial, doch die bislang fehlenden Pakete und die spärliche Dokumentation sind eine Einstiegshürde. (Uwe**Vollbracht/hej)

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 2 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben