Website-Suche

So manipulieren Sie HTTP mit cURL


Objektiv

Erfahren Sie, wie Sie cURL verwenden, um HTTP-Anfragen für die Interaktion mit Online-Inhalten zu stellen.

Ausschüttungen

Alle GNU/Linux-Distributionen

Anforderungen

Einfach cURL. Es ist im Repository jeder Distribution verfügbar.

Schwierigkeit

Leicht

Konventionen

# – erfordert Root-Zugriff entweder über su oder sudo.

$ – als regulärer Benutzer ausführen

Einleitung

cURL ist ein Befehlszeilen-Multitool für die Interaktion mit dem Web. cURL ist in der Lage, sich wie ein Webbrowser zu verhalten, Dateien herunterzuladen, auf APIs zuzugreifen und Sie sogar bei Online-Konten anzumelden. cURL kann per Skript erstellt werden und verarbeitet alles über eine einfache Befehlszeilenschnittstelle.

Erfassen einer Seite

Das Abrufen des HTML-Codes einer Webseite ist eines der grundlegendsten Dinge, die cURL tun kann. Versuchen Sie, unsere Homepage zu erhalten.

curl https://linuxconfig.org

cURL gibt den gesamten HTML-Code der Webseite im Terminal aus. Es sieht unordentlich aus, aber das ist es, was es tun soll.

Versuchen Sie es mit einem anderen. Die Website von Debian ist etwas leichter zu lesen.

curl https://www.debian.org/

HTTP-Header

In den meisten Fällen benötigen Sie keine ganze Webseite. Es kann schwierig sein, sich durch all diesen HTML-Code zu wühlen, und alles, was Sie brauchen, sind Informationen über die Verbindung. cURL hat das -I für genau das.

curl -I https://linuxconfig.org

Jetzt erhalten Sie nur noch die HTTP-Header, die Ihnen Informationen über Ihre Verbindung zur Website geben.

Genauso funktioniert es mit Debian.

curl -I https://www.debian.org/

Steuern der Ausgabe

All diese Ausgaben sind nicht sehr nützlich, wenn Sie sie nicht speichern können. Es wäre mühsam, cURL jedes Mal auszuführen, wenn Sie es brauchen, und was ist, wenn es sich ändert? Glücklicherweise können Sie die Ausgabe von cURL mit dem Flag -o absolut speichern.

curl -o linuxconfig.html https://linuxconfig.org

Sie haben gerade den Quellcode der LinuxConfig-Startseite in einer Datei mit dem Namen linuxconfig.html gespeichert.

Dies ist jedoch viel nützlicher für Multimedia-Dateien. Versuchen Sie, sich das Google-Logo zu schnappen.

curl -o google.png https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png

Sie können auch das Flag -O verwenden, um cURL anzuweisen, den vorhandenen Namen der Datei zu verwenden.

curl -O https://getfedora.org/static/images/fedora_infinity_140x140.png

HTTP-Anfragen und Anmeldung

Mit cURL können Sie über HTTP mit Webseiten interagieren. Sie können cURL tatsächlich verwenden, um sich bei einer Website anzumelden. Schauen Sie sich dieses Beispiel aus unserem Hydra-Pentest-Leitfaden an.

curl -v --data 'log=username&pwd=realpassword&wp-submit=Log+In&testcookie=1' --cookie 'wordpress_test_cookie=WP+Cookie+check' http://localhost/wp-login.php

Das Flag --data oder -d übergibt Daten an ein Formular mit einer großen Zeichenfolge, Variablen und den Namen der zugehörigen Formularfelder. Sie können Cookies auch mit cURL senden.

Versuchen Sie, DuckDuckGo für Linux zu durchsuchen.

curl -v -d 'q=linux' https://duckduckgo.com

Die Ergebnisse mögen chaotisch sein, aber die Suche selbst ist einfach. Falls Sie sich wundern, fügt das Flag -v die Header zur regulären Ausgabe hinzu.

Abschließende Gedanken

cURL ist unglaublich leistungsfähig. Sie haben nur an der Oberfläche gekratzt, aber Sie sollten eine gute Vorstellung davon haben, wie cURL mit Webseiten interagieren und Inhalte aus dem Internet herunterladen kann. cURL kann Ihnen einige echte Einblicke in die Funktionsweise des Webs geben, so dass es sich definitiv lohnt, mit mehr zu experimentieren.

Verwandte Artikel: