
Durchsuchen Sie Webseiten rekursiv, um alle URLs zu entdecken, indem Sie Links folgen, Sitemaps und robots.txt-Dateien parsen. Ideal für Sicherheitserkundung und Inhaltsermittlung.
xcrawl3r ist ein Befehlszeilentool, das entwickelt wurde, um rekursiv Webseiten nach URLs zu durchsuchen. Es funktioniert, indem es aktiv Websites durchläuft – Links in Webseiten folgt und Dateien (einschließlich Sitemaps und robots.txt) analysiert – um jede URL aufzudecken.
Im Gegensatz zu xurlfind3r, das nicht direkt mit dem Ziel interagiert, interagiert xcrawl3r direkt mit dem Ziel, indem es seine Seiten in Echtzeit durchsucht. Dieser aktive Ansatz ermöglicht es, URLs zu entdecken, die möglicherweise versteckt oder nicht indiziert sind, und liefert ein vollständiges Bild des Navigationsflusses und der Inhaltsverteilung der Website. Dies macht xcrawl3r zu einem leistungsstarken Werkzeug für Sicherheitsforscher, IT-Profis und alle, die Einblicke in die mit Websites verbundenen URLs gewinnen möchten.
robots.txt)stdin und stdout für eine einfache Integration in automatisierte ArbeitsabläufeBesuchen Sie die Releases-Seite und finden Sie das passende Archiv für Ihr Betriebssystem und Ihre Architektur. Laden Sie das Archiv aus Ihrem Browser herunter oder kopieren Sie dessen URL und rufen Sie es mit wget oder curl ab:
...mit wget:
wget https://github.com/hueristiq/xcrawl3r/releases/download/v<version>/xcrawl3r-<version>-linux-amd64.tar.gz
...oder mit curl:
curl -OL https://github.com/hueristiq/xcrawl3r/releases/download/v<version>/xcrawl3r-<version>-linux-amd64.tar.gz
...dann extrahieren Sie die Binärdatei:
tar xf xcrawl3r-<version>-linux-amd64.tar.gz
[!TIP] Die obigen Schritte, Herunterladen und Extrahieren, können mit diesem Einzeiler in einem Schritt kombiniert werden
curl -sL https://github.com/hueristiq/xcrawl3r/releases/download/v<version>/xcrawl3r-<version>-linux-amd64.tar.gz | tar -xzv
[!NOTE] Auf Windows-Systemen sollten Sie in der Lage sein, das Zip-Archiv durch Doppelklick zu entpacken, um die ausführbare Datei
xcrawl3rzu extrahieren.
...verschieben Sie die xcrawl3r-Binärdatei an einen Ort in Ihrem PATH. Beispiel für GNU/Linux- und OS-X-Systeme:
sudo mv xcrawl3r /usr/local/bin/
[!NOTE] Windows-Benutzer können How to: Add Tool Locations to the PATH Environment Variable folgen, um
xcrawl3rzu ihremPATHhinzuzufügen.
Bevor Sie aus dem Quellcode installieren, müssen Sie sicherstellen, dass Go auf Ihrem System installiert ist. Sie können Go installieren, indem Sie den offiziellen Anweisungen für Ihr Betriebssystem folgen. Für diesen Abschnitt gehen wir davon aus, dass Go bereits installiert ist.
go install ...go install -v github.com/hueristiq/xcrawl3r/cmd/xcrawl3r@latest
go build ... die EntwicklungsversionKlonen Sie das Repository
git clone https://github.com/hueristiq/xcrawl3r.git
Erstellen Sie das Tool
cd xcrawl3r/cmd/xcrawl3r && \
go build .
Verschieben Sie die xcrawl3r-Binärdatei an einen Ort in Ihrem PATH. Beispiel für GNU/Linux- und OS-X-Systeme:
sudo mv xcrawl3r /usr/local/bin/
Windows-Benutzer können How to: Add Tool Locations to the PATH Environment Variable folgen, um xcrawl3r zu ihrem PATH hinzuzufügen.
[!CAUTION] Obwohl die Entwicklungsversion eine gute Möglichkeit ist, einen Blick auf die neuesten Funktionen von
xcrawl3rzu werfen, bevor sie veröffentlicht werden, beachten Sie, dass sie möglicherweise Fehler enthält. Offiziell veröffentlichte Versionen sind in der Regel stabiler.
Um xcrawl3r auf Docker zu installieren:
Ziehen Sie das Docker-Image mit:
docker pull hueristiq/xcrawl3r:latest
Führen Sie xcrawl3r mit dem Image aus:
docker run --rm hueristiq/xcrawl3r:latest -h
xcrawl3r funktioniert sofort nach der Installation. Einige Konfigurationen können jedoch in einer Konfigurationsdatei unter $HOME/.config/xcrawl3r/config.yaml hinzugefügt werden, die beim ersten Start erstellt wird, oder als Umgebungsvariablen gesetzt werden.
Beispiel für Umgebungsvariablen:
XCRAWL3R_REQUEST_TIMEOUT=10
Um xcrawl3r zu verwenden, öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus, um eine Liste der Optionen zu erhalten:
xcrawl3r -h
So sieht die Hilfemeldung aus:
_ _____
__ _____ _ __ __ ___ _| |___ / _ __
\ \/ / __| '__/ _` \ \ /\ / / | |_ \| '__|
> < (__| | | (_| |\ V V /| |___) | |
/_/\_\___|_| \__,_| \_/\_/ |_|____/|_|
v1.2.0
USAGE:
xcrawl3r [OPTIONS]
CONFIGURATION:
-c, --configuration string (default: $HOME/.config/xcrawl3r/config.yaml)
INPUT:
-u, --url string[] target URL
-l, --list string target URLs file path
For multiple URLs, use comma(,) separated value with `--url`,
specify multiple `--url`, load from file with `--list` or load from stdin.
SCOPE:
-d, --domain string[] match domain(s) URLs
For multiple domains, use comma(,) separated value with `--domain`
or specify multiple `--domain`.
--include-subdomains bool with domain(s), match subdomains' URLs
REQUEST:
--delay int delay between each request in seconds
-H, --header string[] header to include in 'header:value' format
For multiple headers, use comma(,) separated value with `--header`
or specify multiple `--header`.
--timeout int time to wait for request in seconds (default: 10)
PROXY:
-p, --proxy string[] Proxy (e.g: http://127.0.0.1:8080)
For multiple proxies use comma(,) separated value with `--proxy`
or specify multiple `--proxy`.
OPTIMIZATION:
--depth int maximum depth to crawl, `0` for infinite (default: 1)
-C, --concurrency int number of concurrent inputs to process (default: 5)
-P, --parallelism int number of concurrent fetchers to use (default: 5)
DEBUG:
--debug bool enable debug mode
OUTPUT:
--jsonl bool output in JSONL(ines)
-o, --output string output write file path
-m, --monochrome bool stdout in monochrome
-s, --silent bool stdout in silent mode
-v, --verbose bool stdout in verbose mode
Beiträge sind willkommen und erwünscht! Zögern Sie nicht, Pull Requests einzureichen oder Issues zu melden. Weitere Einzelheiten finden Sie in den Beitragsrichtlinien.
Ein großes Dankeschön an alle Mitwirkenden für Ihre fortlaufende Unterstützung!
Dieses Paket ist unter der MIT-Lizenz lizenziert. Sie können es frei verwenden, modifizieren und verbreiten, solange Sie die Lizenzbedingungen einhalten. Den vollständigen Lizenztext finden Sie im Repository – Vollständiger MIT-Lizenztext.