Schlagwort-Archive: Linux

Unixähnliche Mehrbenutzer-Betriebssysteme, die auf dem Linux-Kernel und wesentlich auf GNU-Software basieren. Wie CentOS, Debian, Ubuntu Fedora.

cURL in der Praxis Anwenden

cURL – Client for URLs Programmbibliothek und Kommandozeilen-Programm

cURL ist ein Kommandozeilentool, es ermöglicht aus Shell- oder Bash-Scrips heraus Dateien über Protokolle wie http, https, ftp, gopher, sftp, ftps oder scp zu übertragen. cURL 1997 von Daniel Stenberg entwickelt, ist bei Webseiten Entwickler sehr beliebt und steht unter der Open-Source MIT-Lizenz.

Unixoide Betriebssysteme enthalten cURL im Standard, ebenfalls ist cURL bereits auch für Windows portiert und steht in der 64 bit und 32 bit Version zur Verfügung. PHP unterstützt die cURL-Funktionen mit der libcrul Bibliothek. Die aktuelle Version 7.63 unterstütz folgende Protokolle: DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, Telnet and TFTP. curl supports SSL certificates, HTTP POST, HTTP PUT, FTP.

cURL bietet vielfältige Anwendungsmöglichkeiten, so lassen sich Websites fernsteuern und testen, Formulare automatisch ausfüllen, Informationen von Webseiten abfragen und in weitere Prozesse verarbeiten. In der Linux Shell-Console ist die Installation von wget nicht zwingend erforderlich, dabei cURL umfangreiche Parameter und Optionen beinhaltet, und bereits vorinstalliert ist.

Im folgenden einige Beispiele zur Anwendung von cURL in der Shell-Console, Webseiten können wie folgt abgerufen werden.

Damit wird die Datei seite.html gelesen und auf der Standardausgabe ausgegeben. Möchten man die Datei unter dem Namen meineseite.html speichern, dient folgender Befehl:

Die eigene Internet IP Adresse mit cURL abrfragen.

Wenn sich eine URL geändert hat, wird oft die Webseite auf die neue URL-Adresse umgeleitet, häufig auch http zu https Umleitungen. Da cURL in der Standard-konfiguration Weiterleitungen nicht folgt, muss man in diesem Fall den Parameter -L übergeben.

Bei Webseiten mit selbst ausgestelltem Zertifikat, oder veraltetem TLS v1.0 Verschlüsselungs-Algorithmus, muss der Parameter -k angewandt werden.

Wird für eine Website eine Benutzer-Authentifizierung über HTTP angefordert, lassen sich mit cURL Benutzername und Passwort übergeben.

Den HTTP-Header mit cURL auslesen.

Mit dem Parameter –head weist man cURL an, die Ausgabe des HTTP-Header auf die Standardausgabe zu geben. Möchte man den Header in die Datei header.txt schreiben, könnte man das durch Pipe Operatoren in der Shell erreichen, oder ohne Unterstützung der Shell durch den Parameter –dump-header.

Der cURL FTP-Client, kann unter vielem anderen auch mit FTP-Server interagieren.

cURL wird angewiesen den Index des Hauptverzeichnisses auszugeben. Benutzername und Passwort werden direkt mit der URL übergeben. Möchten man das Unterverzeichnis files auf dem FTP-Server auflisten, genügt es das Verzeichnis an die URL mitzugeben:

Mit cURL ist auch ein Upload möglich, dazu übergibt man den Parameter -T gefolgt vom Dateinamen und ggf. dem Pfad.

Mit diesem Befehl kopiert cURL die Datei meineseite.html auf den FTP-Server in das Verzeichnis files unter den Dateinamen deineseite.html.

cURL kann noch mehr, durch folgende Befehlszeile wird eine Shell-Script Datei heruntergeladen und gleich ausgeführt, beginnt mit einem Punkt (.).

Dieses Kommando ist in einer Linux Bash-Shell ausführbar, Es werden Systemkonfigurationen und Protokolle ausgelesen und in einer Datei zusammengestellt, und als Datei unter /tmp/sysinfo-*.html gespeichert.

Im folgenden ein Code Beispiel für PHP, das Ergebnis der suche auf Google wird mit echo $result ausgegeben:

Ein Blick in die Man Page man curl  kann sich lohnen, hier sind alle Kommandos mit Beispiele zur Anwendung von cURL aufgeführt.

Quellen Link: curl.haxx.se

netstat bei CentOS 7 minimal Installation

Bereitstellen von netstat nach CentOS Minimal Installation

CentOS beinhaltet nach der Minimalinstallation nur wenig des sonst gewohnten Umfangs, eine reihe von System-Tools fehlen, so scheint es zumindest, bei näherer Betrachtung zeigt sich, das es nur neue Befehle sind, die herkömmlichen Tools können aber nachträglich installiert werden.

Ein solches Tool ist netstat, dieses wie folgt hinzugefügt wird.

Ermitteln welches Installationspaket das gewünschte Tool beinhaltet, lässt sich mit der Option whatprovides.

net-tools ist eine Sammlung mit Basis-Netzwerkprogramme. Ist das Paket net-tools installiert, stehen folgende Kommandos auf dem Host zur Verfügung:

Mit den net-tools wird die Verfügbarkeit der veralteten Linux-Netzwerk-Befehle wiederhergestellt, folgende Tabelle zeigt die veralteten Linux-Befehle und die neuen Ersetzungsbefehle:

Veraltete BefehleNeue befehle
arpip n (ip neighbor)
ifconfigip a (ip addr), ip link
iptunnelip tunnel
iwconfigiw
nameifip link
netstatss -t (für netstat -t), ss -u (für netstat -u)
ip route (für netstat -r)
ip -s link (für netstat -i)
ip maddr (für netstat -g)
routeip r (ip route)

MultiTail zum überwachen mehrer Log-Dateien

Multitail erlaubt das öffnen mehrer Log-Protokoll Dateien.

SysAdmins und Entwickler müssen bei der Überwachung und zur Kontrolle oft auf mehrere Protokolldateien gleichzeitig zugreifen, um Aufgaben effektiv lösen zu können. Um dies zu erreichen wird normalerweise jedes Logfile in einer neuen Shell geöffnet, auf die traditionelle weise zB. mit tail -f /var/log/messages. Sollen jedoch mehrere Log-Dateien gleichzeitig in Echtzeit angezeigt werden, kann das Tool Multitail herbeigezogen werden.

Multitail wird auf CentOS wie folgt installiert, das EPEL-Repository muss hinzugefügt sein.

Bei Debian und Ubuntu wird Mutitail mit apt-get installiert.

Standardmäßig macht Multitail dasselbe wie tail -f, die Dateien werden in Echtzeit angezeigt, um nun zwei verschiedene Dateien in einem Fenster zu öffnen, lautet die grundlegende Syntax:

Für Debian oben, und für CentOS (Red Hat) wie folgt, zusätzlich werden mit netstat -t die aktiven Verbindungen zum Webserver angezeigt:

Es werden alle access_log Protokolle in den Verzeichnissen logs geöffnet, und im Apache Color Schema angezeigt, durch das Command netstat -t werden die aktiven Verbindungen zum Webserver angezeigt.

Die selbe Ausgabe, jedoch die ersten 3 Logfiles in 3 Spalten, hier ein Apache Webserver auf CentOS:

Durch drücken der Taste ‚b‘ erscheint eine Liste mit den geöffneten Logfiles, diese per Cursor einzeln ausgewählt werden können.

Abbildung: multitail

Um durch die Log-Dateien zu blättern drückt man ‚b‘ und scrollt mit den Cursor Tasten nach oben oder unten, für Hilfe drückt man ‚h‘ dabei die verfügbaren Option in einer Liste ausgegeben werden.

Beim scrollen kann durch die Eingabe von ‚G‘ oder ‚gg‘ an den beginn, bzw. an das ende der Protokoll Datei gelangt werden, mit ‚q‘ kehrt man zurück, und verlässt anschließend Multitail.

Für Postfix gibt es ebenfalls ein Color Schema, die Syntax für /var/log/maillog wie folgt:

Viele Color Schemata sind in der Konfiguration /etc/multitail.conf definiert, beispielsweise für Asterisk, Bind, Samba, tcpdump und viele mehr, es können neue hinzugefügt werden, oder die bestehenden modifiziert werden.

Damit die multitail Zeile mit den Parameter nicht jedesmal erneut eingegeben werden muss, lässt sich die Zeile aus einem Script ausführen, die folgenden Zeilen einfach in einem Terminal einfügen:

Der Script /usr/bin/mtail muss noch ausführbar gemacht werden:

Wir haben hier nur ein paar grundlegende Anwendungen des Multitail-Befehls beschrieben. Eine vollständige Liste der Optionen  findet man in der Manpage von Multitail, mit multitail -h wird die Syntax Hilfe mit reichhaltiger Auswahl an möglichen Parameter ausgegeben.