Broxy v1.0.0-alpha.2
Transparenter Proxy-Server
Quelle: https://github.com/rhaidiz/broxy
Lizenz: GPLv3
Alternativen: Squid, Mitmproxy
In den Anfängen des Webs genügte es, einen Blick in den HTML-Code zu werfen, um die Kommunikation zwischen Browser und Webserver zu verstehen. Bei den heutigen dynamischen Seiten, die ihre Inhalte aus mehreren Quellen nachladen, können Anwender zu einem Proxy greifen, um die HTTP-Kommunikation zu analysieren. Das Go-Tool Broxy hilft beim Erfassen und Untersuchen des Datenverkehrs. Es setzt auf Goproxy und stellt eine grafische Qt-Oberfläche bereit. Im Git-Repository gibt es Pakete für gängige 64-Bit-Betriebssysteme sowie die Quellen des Programms.
Nach dem Start präsentiert Broxy eine aufgeräumte Oberfläche. Über drei Ebenen mit Reitern erreicht der Benutzer alle Funktionen. In der Voreinstellung lauscht Broxy an der lokalen Schnittstelle auf Port 8080 und schneidet alle Requests mit. Der Anwender kann das Tool als Standard-Proxy in der Webbrowser-Konfiguration verankern. Manche Browser, wie etwa der aktuelle Firefox, behandeln das Tool als Man-in-the-Middle-Angriff und verweigern bei HTTPS-Seiten die Zusammenarbeit. Man kann dann entweder HTTPS-Requests ausklammern oder ganz auf Broxy verzichten.
Die Abteilung History zeigt an, welche Anfragen und Antworten Broxy protokolliert hat. Das Tool sortiert alle Einträge chronologisch, gibt ihnen eindeutige IDs und zeigt neben Host, Methode und Status auch die Paketgröße an. Der untere Bereich stellt die Metadaten dar. Über das Kontextmenü der rechten Maustaste übernehmen Nutzer Anfragen in den Repeater-Bereich und führen sie erneut aus. Mit Interceptor überträgt Broxy eine Website Element für Element.
Die aktuelle (Alpha-)Version speichert die Konfiguration beim Beenden nicht. Auch eine Anleitung fehlt noch, sodass Probieren über Studieren geht. Broxy zeigt aber schon jetzt Potenzial.
Gh 0.6.4
Github auf der Kommandozeile
Quelle: https://github.com/cli/cli
Lizenz: MIT
Alternativen: Git, Hub
Die Versionsverwaltung Git hat sich zum Quasistandard entwickelt, wozu die Plattform Github sicherlich beigetragen hat. Sie gilt inzwischen als erste Anlaufstelle für die zentrale öffentliche Verwaltung von Quellcode. Das in Go implementierte Tool Gh erleichtert die Interaktion mit Github auf der Shell: Pull Requests, Issues und mehr sind nun bequem per Befehl in der Konsole erreichbar. Laut Aussagen der Entwickler unterstützt das Tool in der aktuellen Version nur Github.com; die Kommunikation mit Github Enterprise ist aber geplant.
Gh-Pakete für alle wichtigen Plattformen finden Benutzer im Repository. Nach der Installation steht der Kommandozeilenclient »gh« bereit. Über die Kommandos »issue«, »pr« und »repo« gelingt der Austausch mit dem Online-Dienst, sofern auf dem eigenen System Git installiert ist und der Anwender ein gültiges Github-Konto besitzt. So überträgt »gh repo clone« etwa ein Repository auf den eigenen Rechner, »gh repo fork« erstellt einen Fork. Das Anlegen eines neuen Repos mit »gh repo create« funktionierte im Test nicht. Neue Aufgaben legt »gh issue create« an, »gh issue list« liefert eine Übersicht, und »gh issue status« zeigt den aktuellen Status an.
Alle Kommandos kennen eine Reihe von Parametern und Optionen. Da eine Manpage fehlt, lernen Anwender am besten über die ausführliche Dokumentation auf der Projektseite.
Nach einer kurzen Einarbeitungsphase sind die meisten Kommandos schnell verinnerlicht, und die Arbeit mit Gh macht Spaß. Einige Parameter öffnen automatisch die Github-Seite im Browser – sehr praktisch.
Nethogs 0.8.6
Top für Netzwerkverbindungen
Quelle: https://github.com/raboof/nethogs
Lizenz: GPLv2
Alternativen: Ifstat, Darkstat
Einen Überblick über die laufenden Prozesse liefert das bewährte GNU-Tool Top. Als Pendant für Netzwerkverbindungen empfiehlt sich Nethogs. Während die meisten Monitoring-Lösungen fürs Netzwerk die geöffneten Verbindungen nach Übertragungsprotokoll oder Zielsystem ordnen, organisiert Nethogs sie nach den zugehörigen Prozessen auf dem lokalen System. Die Sortierung der Verbindungen kann der Anwender aber jederzeit an eigene Bedürfnisse anpassen.
Um herauszufinden, welcher Prozess gerade den meisten Datendurchsatz hat, genügt der Aufruf von »nethogs« ohne weitere Parameter. Das Tool öffnet eine schlichte Ncurses-Oberfläche. Darin zeigt es für jede Prozess-ID die Benutzerkennung, das Programm, die verwendete Schnittstelle sowie die gesendete und empfangene Datenmenge in Kilobyte an. Andere Maßeinheiten definiert der Schalter »-v« beim Aufruf. Im laufenden Betrieb wechselt [M] zwischen den Maßeinheiten.
In der Voreinstellung hat Nethogs alle Schnittstellen im Blick; der Anwender kann diese aber gezielt angeben. Das Tool aktualisiert seine Ausgabe sekündlich; ein anderes Intervall legt »-d« fest. Für die automatische Weiterverarbeitung eignet sich die Standardausgabe von Nethogs nicht. Dazu aktiviert »-t« eine fortlaufende Anzeige. Da Nethogs zum Erfassen der Daten auf die Pcap-Bibliothek zurückgreift, erfordert es Root-Rechte. Die Informationen zu den zugehörigen Prozessen bezieht das Tool aus dem Verzeichnis »/proc«.
Nach mehreren Jahren Stillstand kommt nun endlich wieder Bewegung in das Nethogs-Projekt. Die aktuelle Version korrigiert einige Fehler und enthält eine Datei mit Plattformen, über die man den Entwickler unterstützen kann.
Sntpd 3.0
Die Systemzeit aktuell halten
Quelle: https://github.com/troglobit/sntpd
Lizenz: GPLv2
Alternativen: Ntpclient, Chrony
Über das Network Time Protocol, kurz NTP, gleichen Rechner ihre Uhren miteinander ab. NTP ist Client-Server-basiert, und auch für Linux gibt es etliche Clients. Sntpd ist ein schlanker Vertreter dieser Gattung, der auch auf Embedded-Systemen eine gute Figur macht. Das kleine C-Tool, ein Abkömmling von Ntpclient, lässt sich sowohl als Server als auch als Client einsetzen. Das Github-Repository verlinkt zu Debian-Paketen; Nutzer anderer Distributionen bauen Sntpd selbst.
Die Installationsroutine integriert das Tool als Dienst in »/usr/sbin/« und richtet eine Systemd-Service-Unit ein. Sntpd erfragt die aktuelle Zeit bei http://pool.ntp.org und übergibt seine System- und Fehlermeldungen an Syslog. In der Voreinstellung gleicht das Tool die Zeit alle 10 Minuten ab; über »-i« lässt sich ein alternatives Intervall vorgeben. Als Loglevel ist »notice« für Fehlermeldungen eingerichtet. Vier weitere Stufen bis zum Level »debug« erhöhen die Auskunftsfreudigkeit. Da das Tool die Zeit auch im lokalen Netzwerk an Port 123 bereitstellt, muss es mit Root-Rechten laufen.
Wer einen Testlauf starten möchte, ruft das Tool mit dem Schalter »-d« auf. Dann zeigt Sntpd geplante Änderungen an, synchronisiert die Zeit aber nicht. Damit Sntpd nach dem Start nicht still im Hintergrund arbeitet, gibt es den Parameter »-n«.
Die kompakte NTP-Lösung Sntpd vereint die Client- und Server-Komponente miteinander. Das schlanke Werkzeug eignet sich ideal für Embedded-Systeme, die Konfiguration beschränkt sich auf die wichtigsten Parameter.
Term_wifi 1.1
Drahtlose Netze auf der Konsole verwalten
Quelle: https://github.com/ColumPaget/term_wifi
Lizenz: GPLv3
Alternativen: Wicd, Iw
Die grafischen Oberflächen KDE und Gnome bringen ihren eigenen Netzwerkmanager mit, der sich jeweils perfekt in den Desktop integriert. Term_wifi erledigt das ganz ohne GUI auf der Shell. Das in C implementierte Tool scannt auf der Konsole nach drahtlosen Netzen und baut Verbindungen zu Hotspots auf. Von dem noch jungen Projekt gibt es keine Pakete; Benutzer bauen es selbst aus den Quellen.
Die Konfiguration erfolgt beim Aufruf über Kommandozeilenparameter. Um verfügbare Access Points ausfindig zu machen, gibt der Anwender den Befehl »scan« an. Über »add« hinterlegt er die Konfiguration für ein drahtloses Netz. Er definiert entweder eine feste IP-Adresse samt Gateway und DNS-Server oder richtet das WLAN per DHCP ein. Das Kommando »forget« entfernt eine vorhandene Konfiguration wieder. Eine Übersicht über alle eingerichteten Verbindungen liefert »list«. Der Befehl »join«, gefolgt von der Schnittstelle und dem Netzwerknamen, nimmt Verbindung auf, »leave« beendet sie wieder. Mit Ausnahme des Parameters »list« erfordern alle Einstellungen Administratorrechte.
Wer Term_wifi ohne einen Befehl startet, landet in einer einfachen Ncurses-Oberfläche und kann das Tool interaktiv steuern. Es erkennt automatisch die WLAN-Schnittstelle und sucht beim Start die Umgebung nach verfügbaren Netzwerken ab. Die gefundenen Access Points sortiert es absteigend nach Signalstärke. Zusätzlich führt es Verschlüsselungsart, Durchsatzrate, Kanal und Netznamen auf.
Term_wifi besticht durch einfache Bedienung und macht auch in eigenen Skripten eine gute Figur. Abzug gibt es, weil die aktuelle Version keine IPv6-Unterstützung mitbringt.
Xxh 0.6.1.1
Lieblings-Shell per SSH mitnehmen
Quelle: https://github.com/xxh/xxh
Lizenz: BSD
Alternativen: Ssh
Shell-Fans passen ihre Arbeitsumgebung in der Regel an die eigenen Bedürfnisse an. Ausflüge auf entfernte Systeme erfordern das Übertragen der Konfiguration auf jeden Remote-Rechner. Hier will Xxh Abhilfe schaffen: Das Python-Tool nimmt einfach die Shell mit. Es fungiert als SSH-Wrapper und greift unter der Haube auf bewährte Werkzeuge wie Ssh und Git zurück. Anwender installieren Xxh aus den Quellen.
Beim Start erwartet Xxh als Parameter den Hostnamen oder die IP-Adresse des Zielsystems. Soll die Authentifizierung via Passwort erfolgen, muss auf dem eigenen Rechner Sshpass installiert sein; alternativ gelingt das Anmelden mit einem SSH-Schlüssel. Sofern auf dem entfernten Rechner Xxh noch nicht installiert ist, lädt das Tool aus dem eigenen Repository die Default-Shell-Konfiguration »xxh_shell_xonsh_appimage« auf das lokale System und überträgt die Daten anschließend zum Zielrechner. Dort installiert es sie im Verzeichnis »~/.xxh/«. Um Xxh vom Zielrechner zu entfernen, genügt das Löschen des Ordners.
Neben der Default-Shell stehen die Interpreter Zsh, Fish und Bash-Zero als Pakete bereit; der Anwender definiert die gewünschte Umgebung beim Aufruf über »+s«. Allerdings stehen nur Binärdateien für 64-Bit-Linux-Systeme zur Verfügung. Ist das Ziel ein 32-Bit-Rechner oder ein anderes Unix-System, funktioniert nur die Installation von Bash-Zero. Über Plugins können Anwender zusätzliche Programme oder Umgebungsvariablen definieren, die Xxh beim Verbindungsaufbau ausführt.
Konfiguration und ausführbare Dateien zur jeweiligen Shell bezieht Xxh aus seinem Git-Repository – zugleich praktisch und fraglich. Die ausführbaren Dateien sind statisch gelinkt, sodass Sicherheitsaktualisierungen auf dem Zielsystem eventuelle Lücken im Tool selbst nicht korrigieren. (Uwe**Vollbracht/hej)












