Skip to content

Cheat.sh - Linux und Programmiersprachen Cheatsheet für die Kommandozeile

Das klassische Cheatsheet besteht meistens aus einer Sammlung von Befehlen oder Hilfestellungen, die auf einer DIN A4 Seite zusammengefasst werden.
Solche Spickzettel können auf dem Rechner als PDF abgelegt werden oder im Büro ausgedruckt einen Platz an der Wand finden.

Cheat.sh

Cheat.sh geht hier einen anderen Weg und holt den Nutzer da ab wo er ist, auf der Kommandozeile.

Mit dem Tool können via curl einfache Hilfestellungen zu Kommandozeilenbefehlen, Programmiersprachen oder Datenbanken abgerufen werden.
Anders als beispielsweise die man pages, stellt cheat.sh einfache Beispiele zur gesuchten Abfrage dar.

cheatsheet

Zur Nutzung muss das Tool nicht zwingend installiert werden, eine Verbindung zum Internet reicht völlig aus.

Einen Linux Befehl abrufen, hier am Beispiel von tar.

curl cheat.sh/tar

# tar
# Archiving utility.
# Often combined with a compression method, such as gzip or bzip.
# More information: <https://www.gnu.org/software/tar>.

# Create an archive from files:
tar cf target.tar file1 file2 file3

# Create a gzipped archive:
tar czf target.tar.gz file1 file2 file3

# Extract a (compressed) archive into the current directory:
tar xf source.tar[.gz|.bz2|.xz]

# Extract an archive into a target directory:
tar xf source.tar -C directory

# Create a compressed archive, using archive suffix to determine the compression program:
tar caf target.tar.xz file1 file2 file3

# List the contents of a tar file:
tar tvf source.tar

# Extract files matching a pattern:
tar xf source.tar --wildcards "*.html"


Nach einem bestimmten Begriff suchen, am Beispiel von Docker.

curl cheat.sh/~docker


Eine Programmiersprache lernen, in diesem Fall Python.

curl cheat.sh/python/:learn

Übersicht

curl cheat.sh

cheatsh

Die Github Seite des Projektes verrät mehr über den riesen Umfang des Cheatsheet.

Installation von Cheat.sh (global)

Natürlich lässt sich das Tool auch direkt auf dem System installieren bzw. hosten (dazu wird allerdings Docker benötigt).

Der Dienst cheat.sh hat einen eigenen Kommandozeilen-Client (cht.sh), der im Vergleich zur direkten Abfrage mit curl mehrere nützliche Funktionen bietet:

  • Spezieller Shell-Modus mit persistentem Abfragekontext und Readline-Unterstützung
  • Abfrage der Historie
  • Integration der Zwischenablage
  • Unterstützung der Tabulatorvervollständigung für Shells (bash, fish, zsh)
  • Stealth-Modus

Eine Installation ist schnell erledigt.

sudo apt install rlwrap
curl https://cht.sh/:cht.sh | sudo tee /usr/local/bin/cht.sh
sudo chmod +x /usr/local/bin/cht.sh

Nach einer Installation kann cht.sh anstatt curl verwendet werden und es ergeben sich die oben erwähnten Möglichkeiten.

cht.sh-shell

Einbindungen in den Editor

Cheat.sh unterstützt momentan die Einbindung in die Editoren wie Emacs, Sublime, Vim und Visual Studio Code.

Eine Anleitung findet ihr ebenfalls auf Github.

Cheat.sh und Windows

Sogar Windows wird von dem kleinen Tool bedient. Dazu ist eine Exe notwendig, die ihr hier findet.

Fazit

Perfektes Tool für das schnelle Nachschlagen eines Befehls, ohne das Terminal verlassen zu müssen.

Das Cheatsheet ist sicher nicht neu und besteht bereits seit 2017, allerdings hat sich seither viel getan.

Cheat.sh unterstützt ca. 1000 Linux Befehle und 56 Programmiersprachen.

Übersicht: bekannte Sicherheitsdistributionen - Parrot 4.0 und Kali Linux 2018.2

Parrot 4.0

Bereits vor einiger Zeit hat Parrot Security mit der Version 4.0 einen neuen Meilenstein erreicht.

Die italienische Sicherheitsdistribution bringt mit einer experimentellen Netzinstallation und einer Docker Unterstützung zwei neue Installationsmethoden mit. Beide Methoden werden die Verwendung um einiges vereinfachen und die eigene Bedürfnisse besser bedienen. Dockerfiles lassen sich leicht anpassen und eine Core Installation bietet zusätzliche Installationsoptionen an.

Parrot-Security-4.0
Desweitern wurde ein aktueller Kernel 4.16 eingebunden und die Oberfläche auf MATE 1.20 aktualisiert. 

Im Hintergrund werkelt nun eine firejail Sandbox, sowie NGINX anstatt Apache. 

Insgesamt wurden über 1500 Pakete aktualisiert.

Das System ist schnell aktualisiert.

sudo apt update
sudo apt purge tomoyo-tools
sudo apt full-upgrade
sudo apt autoremove

Download Parrot


Kali Linux 2018.2

Die bekannteste Distribution für Sicherheitsexperten und Penetration Tester hat ebenfalls nachgelegt und mit der neuen Version den Kernel 4.15 implementiert, um den Spectre und Meltdown Lücken den Garaus zu machen. Hier werden in Zukunft, wohl noch einige Fixes folgen müssen.

Die Unterstützung für AMD GPUS wurde verbessert, sowie AMD Secure Encrypted Virtualization integriert, was euch erlaubt den Hauptspeicher zu verschlüsseln.

Kali_Linux

Anwender des Metasploit Frameworks erhalten mit dem neuen Release einfacheren Zugang zu Scripten. Diese sind normalerweise unter "/usr/share/metasploit-framework/tools/exploit/" zu finden, sind nun aber Dank PATH direkt mit "msf-scriptname" aufrufbar.

Andere Tools wie BurpSuite, hashcat oder JoomScan wurden ebenfalls aktualisiert. Der komplette Changelog verrät alle Details.

Download Kali



Übersicht 05/2018

 

Name Version Tools Besonderes Basis GUI
Autopsy 4.0 ??? The Sleuth Kit Windows  
BackBox 5 70+ eigenes Repo Ubuntu Xfce
BlackArch 2017.11.24 1750+ ArchLinux ArchLinux Gnome
CAINE 9 100+ WinUFO Ubuntu Mate
DracOS 3.0 100+ CLI LFS DWM
DEFT 2017.1 250+ Dart2 Lubuntu 14.04 Lxde
Kali Linux 2018.2 300+ ARM fähig Debian Testing Multi
LionSec 5.0 ???   Ubuntu  
Matriux v3 RC1 300+ out of date Debian Gnome
NST 26 ??? Server integriert Fedora  
NetSecLOS 6.0 50+   OpenSuse Lxde
Paladin 6.0 30+   Ubuntu  
Parrot Sec 4.0 700+ Cloud fähig Debian Buster MATE
Pentoo 2015.0 RC5 ??? 64bit Gentoo Xfce
Ronin   150+ out of date Lubuntu Lxde
Sans SIFT 3.0 20+   Ubuntu  

Portainer - Docker Container über eine grafische Oberfläche verwalten

Containerisierung in der IT ist nicht mehr wegzudenken, viele sind mit Docker und Co schon einmal in Berührung gekommen.

Arbeit mit Docker bedeutet viel Konsolenarbeit. Ein docker ps da oder ein docker save dort. Um diese Arbeit zu vereinfachen wurde Portainer entwickelt.

Portainer – Open Source Container Dashboard

Das Open Source Tool erlaubt einen Überblick und eine Bearbeitung der vorhandenen Docker Container, ist unter Linux leicht zu installieren (natürlich als Docker Container) und benötigt anders als Rancher nicht zwingend ein signiertes TLS Zertifikat.

Auch das Erstellen von neuen Containern oder eine Beschränkung auf bestimmte Nutzergruppen ist über die Oberfläche einfach zu realisieren.

Über jeden Container lassen sich ausführliche Informationen wie Logs, Pfade oder Laufzeit auslesen. Selbst eine Konsole lässt sich über die Verwaltung starten.

portainer

Eine eigene Installation ist schnell erstellt.

Zunächst kann das Docker Dashboard einfach ohne TLS gestartet werden.

docker volume create portainer_data

docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

Der Aufrug erfolgt dann über den Browser und http://local-IP:9000

Für einen dauerhaften Betrieb würde sich ein persistenter Ordner, sowie ein Autostart anbieten. Sollte SELinux im Einsatz sein, muss zusätzlich mit „privileged“ gearbeitet werden.

docker run -d --privileged -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /path/on/host/data:/data portainer/portainer

In den Standardeinstellungen speichert Portainer seine Daten unter /data.

Auch ein individueller Remote Host ist möglich

docker run -d -p 9000:9000 portainer/portainer -H tcp://<REMOTE_HOST>:<REMOTE_PORT>

Portainer-Remote

Portainer mit TLS zu verwenden benötigt weitere Befehle.

docker run -d -p 9000:9000 -v /path/to/certs:/certs portainer/portainer -H tcp://<DOCKER_HOST>:<DOCKER_PORT> --tlsverify --tlscacert /certs/myCa.pem --tlscert /certs/myCert.pem --tlskey /certs/myKey.pem

Eine ausführliche Portainer Dokumentation bietet noch mehr Möglichkeiten zur Konfiguration an

 

Fazit

Für eine einfache und praktische Verwaltung von Docker Containern ist Portainer wirklich gut zu gebrauchen. Es bietet genügend Funktionen an, um sich einen Überblick zu verschaffen.

Portainer erlaubt dank einer integrierten Nutzerverwaltung und der Möglichkeit Container auszublenden auch eine Verwendung im professionelleren Umfeld. Neben der Einbindung eines eigenen Logos werden sogar Windows Container unterstützt.

Probiert es mal aus, eine vorhandene Docker Umgebung kann damit gut ergänzt werden.

Download Portainer

 

pgAdmin 4 v2.0 - Bessere Performance und PostgreSQL 10 Unterstützung

Seit gut einem Jahr ist pgAdmin in Version 4 verfügbar. Die komplett überarbeitete Version wurde damals neu geschrieben und Stand zu anfangs noch auf etwas wackeligen Beinen. Keine Wunder nach einer komplett neu geschriebenen Variante.

Mit der aktuellen Version 2.0 wurden daher bis zu 70 Bugs gefixed. Die Performance des JQuery UI wurde massiv verbessert und eine SSL Unterstützung integriert. Natürlich ist auch die Unterstützung für das aktuelle PostgreSQL 10 mit an Bord. 

Eine Konfiguration im Vorfeld soll nun wegfallen und das PostgreSQL Tool "out of the box" starten.

Alle Änderungen lassen sich im Blog Beitrag nachlesen.

pgadmin4-logo

Installation pgAdmin 4 unter Ubuntu 16.04. LTS

Es gibt mehrere Varianten das Tool auf Ubuntu zu installieren. Leider wird bis jetzt noch kein Repository unterstützt. 

Es kann auf die Python Wheel Variante zurückgegriffen werden.

sudo apt-get install virtualenv python-pip libpq-dev python-dev
virtualenv pgadmin

cd
virtualenv pgadmin
cd pgadmin
source bin/activate
pip install https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v2.0/pip/pgadmin4-2.0-py2.py3-none-any.whl

python ~/pgadmin4/lib/python2.7/site-packages/pgadmin4/pgAdmin4.py

Die Konfigurationsdatei dieser Installation ist unter lib/python2.7/site-packages/pgadmin4/config.py zu finden.

pgadmin-dashboard1

Installation pgAdmin 4 mit Docker Container

Wer lieber auf Docker setzt, der kann auch einen Container verwenden.

docker pull dpage/pgadmin4

docker run -p 80:80 -e "PGADMIN_DEFAULT_EMAIL=user@example.de" -e "PGADMIN_DEFAULT_PASSWORD=SuperSecret" -d dpage/pgadmin4


oder mit einer SSL Variante

docker pull dpage/pgadmin4
docker run -p 443:443 \
-v "/private/var/lib/pgadmin:/var/lib/pgadmin" \
-v "/path/to/certificate.cert:/certs/server.cert" \
-v "/path/to/certificate.key:/certs/server.key" \
-e "PGADMIN_DEFAULT_EMAIL=user@example.de" \
-e "PGADMIN_DEFAULT_PASSWORD=SuperSecret" \
-e "PGADMIN_ENABLE_TLS=True" \
-e "PGADMIN_SERVER_NAME=pgadmin.domain.com" \
-d pgadmin4

 

Fazit

Leider konnte ich die neue Version bis jetzt noch nicht auf Herz und Nieren testen. Allerdings ist trotz der Performance Verbesserungen, immer noch Luft nach oben. Detaillierte Fehler wie beispielsweise mit Postgis (siehe alter Artikel), kann ich adhoc nicht beurteilen.

Die nicht vorhandene Installation via Repository wird einige Ubuntu Nutzer an der Verwendung des Tools hindern, immerhin stehen mit RPM, PIP und Docker Alternativen zur Verfügung. 

Die alte Version 3 wird zwar nicht mehr offiziell unterstützt, kann aber alternativ weiterhin verwendet werden. 

Glances - modernes Linux Performance Monitoring Tool

Unter Linux gibt es viele Möglichkeiten Performance oder andere Systemdaten zu messen. Den meisten wird wohl top als erstes in den Sinn kommen, andere nutzen eventuell free, bmon, vmstat, tcdump, htop, netstat oder lsof.

Glances geht einen ähnlichen Weg, versucht allerdings noch mehr Werte wie beispielsweise CPU Last, Speicherverbrauch, Load, Prozesse, Netzwerkdaten, Festplatten I/O Daten, IRQ / Raid Daten, Batteriesensor, Dateisysteme, Docker Container, Wifi, Alarmierung, Systeminfos oder Uptime unter einem Dach zu vereinen.

Man könnte Glances somit als eierlegende Wollmilchsau bezeichnen. Zusätzlich sieht es schick aus und weist den Anwender mit vordefinierten Farbcodes auf bestehende Systemprobleme hin.

Grün: Gut
Blau: Obacht
Violett: Warnung
Rot: Kritisch

Hier zeigt sich ein Vorteil zum bekannten top Befehl, welcher kein Highlighting kennt.

Glances basiert auf Python und greift auf psutil zurück, um Informationen aus dem System zu lesen.

glancesDie Installation kann via wget oder pip vorgenommen werden.

Installation unter Ubuntu/Mint

sudo apt-get install python-pip
pip install --upgrade pip
pip install glances

Alternative Installationsmethode

wget -O- http://bit.ly/glances | /bin/bash

Für Containerfreunde gibt es ebenfalls einen Docker Container

docker pull nicolargo/glances
docker run -v /var/run/docker.sock:/var/run/docker.sock:ro --pid host -it docker.io/nicolargo/glances

Bedienung

Glances lässt sich mit diversen Parametern starten und beherrscht ebenfalls eine Remoteauswertung.

Hier ein paar praktische Startkommandos (alle können mit glances --help gelistet werden)

  • Der Client Server Modus kann mit glances -s gestartet werden, wobei auf der Serverseite glances -c 192.168.0.1 aufgerufen werden sollte.
  • Der ebenfalls mitgelieferte Webserver Modus kann mit glances -w gestartet werden, dazu wird allerdings das modul bottle benötigt (sudo pip install bottle). Der Server ist dann via http://127.0.0.1:61208/ erreichbar 

Weiter praktische Shortcuts, welche im Programm selbst anwendbar sind:

a – Sort processes automatically
c – Sort processes by CPU%
m – Sort processes by MEM%
p – Sort processes by name
i – Sort processes by I/O rate
d – Show/hide disk I/O stats ols
f – Show/hide file system statshddtemp
n – Show/hide network stats
s – Show/hide sensors stats
y – Show/hide hddtemp stats
l – Show/hide logs
b – Bytes or bits for network I/Oools
w – Delete warning logs
x – Delete warning and critical logs
1 – Global CPU or per-CPU stats
h – Show/hide this help screen
t – View network I/O as combination
u – View cumulative network I/O
q – Quit (Esc and Ctrl-C also work)

glances

Fazit

Top ist sicherlich die erste Wahl, wenn es um eine schnelle Systemanalyse geht. Das Tool ist in nahezu jedem System integriert und benötigt keine extra Dateien.
Für eine ausführliche, farblich abgegrenzte und einfache Auswertung ist Glances aber eine gute Alternative. Dank der vielen Zusatzfunktionen (Remote, Docker Container) ist das Anwendungsspektrum ebenfalls relativ groß. 
Administratoren, welche regelmäßig mit top oder htop arbeiten, können allerdings getrost weitergehen. Der hippe Look sticht zwar ins Auge, viele Werte lassen sich allerdings auch mit systemeigenen Tools auslesen
 

Download Glances