Kommandozeilenparameter abfragen mit Argbash 2.9.0, Subdomains finden mit Findomain 2.1.3, Quellcode aufbereiten mit Highlight 3.58, Sehen was läuft mit Strace 5.8.
Codegenerator
Mit Argbash 2.9.0 erstellen Sie Parameterabfragen für Shell-Skripte.
Shell-Skripte bestehen längst nicht mehr nur aus einer einfachen Abfolge von Befehlen. Moderne Shells wie die Bash ermöglichen komplexe Skripte mit Schleifen und Verzweigungen. Die Übergabe von Parametern erfolgt dabei oft via Kommandozeile. Mit dem Tool Argbash integrieren Sie in wenigen Schritten die Unterstützung für Parameter in eigene Skripte.
Das Programm dient dabei als Codegenerator. Es erzeugt aus vorgegebenen Daten ein Codesegment, das übergebene Parameter auswertet und Variablen zuweist. Sie müssen diesen Block anschließend nur noch an der passenden Stelle einbauen. Zudem generiert das Tool eine rudimentäre Online-Hilfe, die das Skript anzeigt, wenn Anwender es mit falschen oder ohne Parameter aufrufen.
Da Argbash selbst ein Shell-Skript ist, greift es auf gängige GNU-Tools zurück und setzt außerdem die Programme Autom4te und Autoconf voraus. Es erwartet die Vorlage der Definitionen und Variablen als Datei im M4-Format. Diese Vorlage übergeben Sie als Parameter an die Software, die das Ergebnis wiederum als Shell-Code ausgibt. Eine Anleitung zum Erzeugen von Dateien im M4-Format stellt der Entwickler online bereit.
Alternativ verwenden Sie das im Quellarchiv enthaltene Skript argbash-init, dem Sie die gewünschten Parameter beim Aufruf übergeben. Daraus generiert es dann eine Vorlage im M4-Format. Leiten Sie die Ausgabe von Argbash-init direkt via Pipe an Argbash weiter, entfällt das Anlegen einer M4-Datei.
Möchten Sie sich das Ergebnis ansehen, ohne das Tool zu installieren, finden Sie im Github-Repository einen Link zu einer Online-Version, die im Browser läuft. So testen Sie vorab, was Argbash leistet.
Online-Spürhund
Über Findomain 2.1.3 spüren Sie Unterdomains von Webseiten auf.
Die meisten Webseiten erreichen Sie über einen voll qualifizierten Domainnamen, dem in der Regel www. vorangestellt ist. Manche Domains besitzen jedoch weitere Subdomains, die zwar nicht im direkten Fokus stehen, aber gelegentlich interessante Informationen enthalten. Das in Rust implementierte Tool Findomain hilft beim Aufspüren solcher Subdomains. Sie brauchen das Tool nicht selbst zu kompilieren, sondern greifen bei Bedarf auf Binärpakete aus dem Github-Repository zurück. Um eine Domain auf Unterdomains zu überprüfen, geben Sie deren Namen beim Aufruf hinter -t an. Das Programm sucht dann beim Dienst Certspotter nach dieser Domain.
Certspotter verwaltet eine Übersicht aller vergebenen TLS-Zertifikate. Der Dienst kennt außerdem alle Unterdomains, für die das jeweilige Zertifikat gilt. Nutzt die zu prüfende Domain kein öffentliches Zertifikat, versucht das Programm, andere Quellen anzuzapfen. Dazu greift es auf verschiedene APIs zurück, die den Zugriff auf zehn weitere Online-Portale und -Plattformen ermöglichen. Hierzu zählen unter anderem Virustotal, Archive.org, Urlscan.io und Facebook. Im Test quittierten Facebook und Anubis die Anfragen jedoch mit einer Fehlermeldung.
Ohne weitere Parameter fragt das Tool alle Quellen ab. Mit --exclude-sources nehmen Sie bestimmte Quellen aus. Geben Sie beim Aufruf den Parameter -i an, ermittelt Findomain außerdem die IP-Adressen der gefundenen Unterdomains. Wer nur Domains mit gültiger IPv6-Adresse benötigt, gibt stattdessen den Parameter --ipv6-only an. Findomain gibt alle gefundenen Unterdomains auf der Standardausgabe aus; mit -o speichern Sie das Ergebnis in einer Datei.
Farbspezialist
Mit Highlight 3.58 bereiten Sie Quellcode farbig auf.
Wollen Sie Quellcode in Dokumente oder Webseiten einbinden, tun Sie dem Betrachter einen Gefallen, wenn Sie die Zeilen vorher aufbereiten – schlichtes Copy & Paste sieht meist unübersichtlich aus. Das C-basierte Tool Highlight geht Ihnen dabei zur Hand. Es braucht keine Konfigurationsdatei, alle Einstellungen nehmen Sie über Parameter beim Aufruf auf der Kommandozeile vor.
Highlight beherrscht zahlreiche Formate für die Ausgabe. etwa XHTML, HTML, RTF oder LaTeX. Es kennt Schlüsselwörter aller wichtigen Programmiersprachen und hebt sie selbstständig farblich hervor. Sie können zudem die vordefinierten Muster der einzelnen Programmiersprachen anpassen oder eigene Muster für neue Sprachen hinzufügen. Bei einigen Programmiersprachen ist es sogar möglich, den Quellcode zusätzlich zu formatieren. Bei Java und C rückt die Software etwa Zeilen passend ein und bricht lange Zeilen um.
Die Software versteht Muster wahlweise als feste Zeichenkette oder reguläre Ausdrücke. Sie finden auf der Projektseite eine Anleitung zum Aufbau eigener Definitionen sowie Beispiele. Highlight hat bereits Muster für über 200 Programmier- und Satzsprachen im Sortiment. Es erkennt selbstständig, wenn es sich beim zu bearbeitenden Code um eine Mischung verschiedener Sprachen handelt, und versucht dann, für jede Sprache das korrekte Muster zu verwenden.
Die aktuelle Version bietet unter anderem Verbesserungen beim Support für C++ und Lua. Das Kompilieren aus den Quellen setzt jedoch einige Abhängigkeiten voraus. Sind diese erfüllt, erzeugen Sie bei Bedarf sogar eine grafische Benutzeroberfläche für die Software.
Prozessbeobachter
Software bei der Arbeit beobachten mit Strace 5.8.
Ganz gleich, ob ein Programm lediglich die falsche Konfigurationsdatei einliest oder ohne Rückmeldungen den Dienst quittiert – ein Blick unter die Haube fördert oft das Problem zutage. Mit Strace ermitteln Sie, was ein Programm im Hintergrund treibt. Die Software funktioniert wie ein Wrapper: Sie übergeben das zu analysierende Programm beim Start mit vollständigem Pfad als Parameter. Die Ausgabe erfolgt in der aktuellen Konsole.
Strace listet auf, welche Bibliotheken und Dateien ein Programm einliest, wie viel Arbeitsspeicher es belegt, welche Sockets es nutzt und welche Gruppen- und Benutzer-ID es verwendet. Startet das zu analysierende Programm mehrere parallele Prozesse, verfolgt es auch diese und bringt die Ergebnisse in einen zeitlich korrekten Ablauf.
Da die Ausgabe von Strace nicht sehr übersichtlich ist, empfiehlt es sich, sie mit -o in einer Datei zu speichern. Das erleichtert die Analyse. Wissen Sie nicht genau, wonach Sie suchen, veranlassen Sie mit -v eine ausführlichere Ausgabe. Wer nun aber gar nicht mehr durchblickt oder ein konkretes Analyseziel hat, filtert mit -e auf bestimmte Bereiche wie Netzwerk oder Prozesse. Strace erfasst in diesem Fall nur die entsprechenden Aufrufe.
Merken Sie erst zur Laufzeit einer Software, dass mit ihr etwas nicht stimmt, wollen das Programm aber nicht beenden, starten Sie Strace mit der zugehörigen Prozess-ID. Es klinkt sich dann in die Systemaufrufe des Prozesses ein und protokolliert relevante Aufrufe und I/O-Operationen. Die aktuellste Strace-Version bringt hauptsächlich Fehlerkorrekturen und Unterstützung für neuere Kernel-Versionen mit.






