Aus Linux-Magazin 11/2019

Werkzeuge im Kurztest

Im Kurztest: Fastgrep 0.3.1, Vermin 0.7.0, Urlscan 0.9.4, Dnsproxy 0.19.1, Findomain 0.2.7, Px 1.0.26

Fastgrep 0.3.1

Grep mit Multithreading

Quelle: https://github.com/zakcutner/fastgrep

Lizenz: keine Angabe

Alternativen: Grep, Ripgrep

In Zeiten von Prozessoren mit mehreren Kernen würde mancher Benutzer die Arbeit von Grep gerne beschleunigen und auf mehrere Threads verteilen. Das in Rust implementierte Fastgrep beherrscht Multithreading und verspricht eine schnellere Suche in Textdateien. Das Tool liest ausschließlich von der Standardeingabe. Somit hängt die Geschwindigkeit auch davon ab, wie schnell andere Programme ihre Daten ausliefern.

Hinter dem Schalter »-j« gibt der Anwender die Anzahl der Threads an, die parallel laufen sollen. Um die Textzeilen für die einzelnen Threads festzulegen, schreibt er diese hinter »-s«. Beide Schalter erwartet Fastgrep in jedem Aufruf und quittiert den Dienst sonst mit einer Fehlermeldung. In der Voreinstellung hebt das Tool die Treffer farblich hervor. Über »-c« beeinflusst der Nutzer das Verhalten (»auto«, »always«, »never«).

Fastgrep sucht immer Schreibweisen-abhängig; es gibt keine Möglichkeit, das Verhalten wie bei Grep zu unterbinden. Auch in Sachen Dokumentation gibt sich das Tool spartanisch. »-h« zeigt eine Übersicht aller Parameter.

  Ob Fastgrep wirklich schneller ist als Grep, konnten die Tester nicht einwandfrei nachweisen. Die Idee der parallelen Suche gefällt, und es lohnt sich, das junge Projekt im Auge zu behalten.

Vermin 0.7.0

Benötigte Python-Version ermitteln

Quelle: https://github.com/netromdk/vermin

Lizenz: MIT

Alternativen: keine

Das Netz ist eine Fundgrube für coole Python-Skripte. Leider schreiben nicht alle Entwickler auf, welche Python-Version ihr Programm benötigt. Eine Antwort auf diese und andere Fragen bietet Vermin. Das Python-Tool arbeitet laut Handbuch mit Python 2.7 und 3 zusammen; die getestete Vermin-Version 0.6.1 verweigerte unter Python 2.7 jedoch den Dienst.

Ohne Parameter aufgerufen gibt Vermin im Terminal eine kurze Onlinehilfe aus. Für einen einfachen Test übergibt der Nutzer hinter dem Befehl »vermin« eine Datei oder ein Verzeichnis. Das Tool prüft nun und gibt in seiner Ausgabe die Anzahl der analysierten Files sowie die benötigten Python-Versionen an. Fehlt vor einer Datei die Versionsnummer, ist der Code mit allen Varianten lauffähig.

Für eine detailliertere Ausgabe sorgt der Schalter »-v«; »-vv« und »-vvv« steigern die Auskunftsfreude. Hinter »-t« kann der Benutzer außerdem eine Python-Version vorgeben, die nach seinen Wünschen mindestens unterstützt werden muss. In der letzten Zeile der Ausgabe fasst Vermin zusammen, ob der geprüfte Code die Bedingung erfüllt.

  Mit Vermin testen Benutzer flott und unkompliziert, ob Python-Code auf ihrem System läuft. Da sich das Tool schnell weiterentwickelt, lohnt sich immer ein Blick auf die neueste Version.

Urlscan 0.9.4

URLs und Mailadressen extrahieren

Quelle: https://github.com/firecat53/urlscan

Lizenz: GPLv2

Alternativen: Urlview

Die Spürnase Urlscan scannt Textdateien nach URLs und Mailadressen und öffnet Treffer im Webbrowser. Ursprünglich für den textbasierten Mailclient Mutt entwickelt eignet sich Urlscan auch für den Einsatz mit anderen Textdateien. Die Installation aus den Quellen gelingt schnell; das Tool benötigt lediglich die Python-Bibliothek »urwid«.

Der erste Aufruf »urlscan -g« erstellt die Konfigurationsdatei »~/.config/urlscan/config.json«. Sie enthält die Tastenbelegung sowie die Standardfarbpalette. Der Anwender bearbeitet das File im Editor, um es an eigene Wünsche anzupassen. Um eine Textdatei zu scannen, gibt er diese hinter »urlscan« an. Das Werkzeug ermittelt alle enthaltenen Adressen und zeigt sie in ihrem Kontext an; »-c« deaktiviert den Kontext.

Benutzer navigieren mit den Pfeiltasten in der Ncurses-Oberfläche. Nach dem Auswählen einer Adresse öffnet Urlscan diese im Standardbrowser. Wer die Treffer lieber an ein anderes Programm senden möchte, definiert es hinter »-r«. Um eine URL-Liste in eigenen Skripten zu verarbeiten, schreibt »-n« alle Treffer nach Stdout; »-d« entfernt Duplikate.

  Urlscan findet treffsicher URLs und Mailadressen. Eine umfassende Dokumentation auf der Github-Seite lässt keine Fragen und Wünsche offen.

Dnsproxy 0.19.1

DNS-Abfragen verschlüsseln

Quelle: https://github.com/AdguardTeam/dnsproxy

Lizenz: GPLv3

Alternativen: DNSCrypt-Proxy 2

Gepflegtes DNS ist eine wesentliche Voraussetzung für eine gute Administration. Haben die Rechner in einem Netzwerk keinen direkten Zugang zu den großen DNS-Anbietern, muss ein eigener DNS-Server her. Als Alternative genügt oft ein Proxy, der die Abfragen weiterleitet. Das Go-Tool Dnsproxy unterstützt sämtliche DNS-Protokolle, darunter DNS-over-TLS, DNS-over-HTTPS und DNSCrypt. Zudem kann es als DNS-over-HTTPS- und DNS-over-TLS-Server arbeiten.

Um einen Proxy einzurichten, ruft der Anwender das Tool mit dem Parameter »-u« auf und gibt die IP-Adresse des DNS-Servers an, an den die Anfragen gehen sollen. Der mehrfache Einsatz von »-u« ist erlaubt. Die Anfrage geht dann an den ersten Server, der antwortet. Soll eine parallele Kontaktaufnahme an alle Server erfolgen, sorgt »-s« dafür. In der Voreinstellung lauscht Dnsproxy auf allen Schnittstellen an Port 53/udp. Da es sich um einen privilegierten Port handelt, erfordert der Einsatz administrative Rechte. Alternativ gibt der Benutzer hinter »-p« einen unprivilegierten Port an.

Das Tool unterstützt DNS-Caching (»-z«); der Schalter »-e« definiert dazu die Größe des Zwischenspeichers. Für DNS-over-HTTPS schreibt der Anwender hinter »-h« den Port, auf dem Dnsproxy eingehende Anfragen annimmt. Wer DNS-over-TLS einsetzen möchte, benennt zusätzlich zum Port (»-t«) das Zertifikat (»-c«) sowie den privaten Schlüssel (»-k«).

  Dnsproxy arbeitet zuverlässig. Dank DNS-over-HTTPS, DNS-over-TLS und DNSCrypt gelangen Anfragen aus dem eigenen Netzwerk verschlüsselt an die großen Resolver.

Findomain 0.2.7

Subdomains ausfindig machen

Quelle: https://github.com/Edu4rdSHL/findomain

Lizenz: GPLv3

Alternativen: Sublist3r, Subbrute

Ungesicherte Subdomains stellen ein ernst zu nehmendes Sicherheitsrisiko dar. Wer zum Aufspüren keine Suchmaschine im Webbrowser bemühen möchte, kann zu Findomain greifen. Das in Rust implementierte Tool ermittelt in wenigen Augenblicken alle Subdomains. Neben den Quellen bietet das Github-Repository fertige Binaries für Linux, Windows und macOS an. Findomain setzt Glibc 2.25 oder neuer voraus.

Beim Aufruf steht hinter »-t« die gewünschte Domain. Findomain sucht in der Voreinstellung mit Hilfe des Dienstes Certspotter, der alle vergebenen Zertifikate erfasst und ermittelt, für welche Domains diese ebenfalls freigegeben sind. Besitzt eine Domain also kein SSL-Zertifikat, greift Findomain ins Leere. Glücklicherweise kann das Tool über verschiedene APIs weitere Quellen kontaktieren, darunter Crt.sh, Virustotal, Sublit3r, Facebook und Spyse. Mit dem Schalter »-a« gibt der Anwender diese an.

Der Parameter »-i« ermittelt außerdem die IP-Adresse der jeweiligen Subdomain. Für aufwändigere Recherchen lassen sich mehrere Domains in einer Datei notieren und diese hinter »-i« angeben. Das Ergebnis schreibt Findomain ins Terminal, kann es mit dem Schalter »-o« aber auch in eine Datei umleiten. Laut Dokumentation unterstützt das Tool dazu die Formate CSV, Text und JSON. Auf dem Testrechner gelang das Schreiben einer JSON-Datei jedoch nicht.

  Findomain sucht schnell und Ressourcen-sparend nach Subdomains, eine aktuelle Distribution vorausgesetzt. Debian 9 ist wegen der Glibc-Version aber bereits zu alt.

Px 1.0.26

Prozesse übersichtlich auflisten

Quelle: https://github.com/walles/px

Lizenz: MIT

Alternativen: Ps, Top, Htop

Die meisten Anwender greifen zu Ps und Top, um sich einen Überblick über laufende Prozesse zu verschaffen. Das Python-Skript Px empfiehlt sich als Alternative und verspricht mehr Klarheit. Benutzer aktueller Debian- und Ubuntu-Systeme finden das Tool in den Repositories, alle anderen installieren es aus den Quellen. Darüber hinaus gibt es das Python-Binary »px.pex«, das ebenfalls auf Github bereitsteht.

Px listet alle laufenden Prozesse auf. Gibt der Benutzer hinter dem Kommando eine Zeichenkette an, filtert das Tool danach. Ebenso ist es möglich, eine PID zu benennen, um detaillierte Informationen zu einem Prozess einzublenden; dazu sind Rootrechte erforderlich. Px schreibt laut Handbuch die interessantesten Prozesse ans Ende der Ausgabe. Als interessant interpretiert das Tool dabei den RAM- und CPU-Verbrauch sowie die zuletzt gestarteten Prozesse.

Im Paket enthalten ist auch Ptop, das eine ähnliche Ansicht wie Top bietet. Relevante Prozesse erscheinen ganz oben in der Liste; die Navigation erfolgt über die Pfeiltasten. Der Anwender kann außerdem die Sortierung umkehren oder nach Prozessen suchen. Ein Druck auf die Eingabetaste wählt einen Prozess aus, zu dem Ptop dann weitere Informationen einblendet. Dazu gehören unter anderem die Verknüpfung zu weiteren Prozessen, der Startzeitpunkt, das Arbeitsverzeichnis sowie eventuell verwendete Netzwerk- und IPC-Verbindungen.

  Px und Ptop sind äußerst hilfreich beim Analysieren von Engpässen und anderen Problemen. Die Zusammenfassung in der Ausgabe tut ein Übriges. (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
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben