
Einfacher, schneller Web-Crawler, konzipiert für die einfache und schnelle Entdeckung von Endpunkten und Assets innerhalb einer Webanwendung.
Schneller Golang-Webcrawler zum Sammeln von URLs und JavaScript-Dateipfaden. Dies ist im Grunde eine einfache Implementierung der großartigen Gocolly-Bibliothek.
Einzelne URL:
echo https://google.com | hakrawler
Mehrere URLs:
cat urls.txt | hakrawler
Timeout für jede Zeile von stdin nach 5 Sekunden:
cat urls.txt | hakrawler -timeout 5
Sende alle Anfragen über einen Proxy:
cat urls.txt | hakrawler -proxy http://localhost:8080
Subdomains einschließen:
echo https://google.com | hakrawler -subs
Hinweis: Ein häufiges Problem ist, dass das Tool keine URLs zurückgibt. Dies passiert normalerweise, wenn eine Domain angegeben wird (https://example.com), aber auf eine Subdomain weitergeleitet wird (https://www.example.com). Die Subdomain ist nicht im Gültigkeitsbereich enthalten, daher werden keine URLs ausgegeben. Um dies zu umgehen, geben Sie entweder die endgültige URL in der Weiterleitungskette an oder verwenden Sie die Option
-subs, um Subdomains einzuschließen.
Alle Subdomains von Google abrufen, diejenigen finden, die auf http(s) antworten, und sie alle crawlen.
echo google.com | haktrails subdomains | httpx | hakrawler
Zuerst müssen Sie Go installieren.
Führen Sie dann diesen Befehl aus, um Hakrawler herunterzuladen und zu kompilieren:
go install github.com/hakluke/hakrawler@latest
Sie können jetzt ~/go/bin/hakrawler ausführen. Wenn Sie hakrawler einfach ohne den vollständigen Pfad ausführen möchten, müssen Sie export PATH="~/go/bin/:$PATH" setzen. Sie können diese Zeile auch in Ihre ~/.bashrc-Datei einfügen, wenn Sie möchten, dass dies dauerhaft bleibt.
echo https://www.google.com | docker run --rm -i hakluke/hakrawler:v2 -subs
Es ist viel einfacher, die oben genannte Dockerhub-Methode zu verwenden, aber wenn Sie es lokal ausführen möchten:
git clone https://github.com/hakluke/hakrawler
cd hakrawler
sudo docker build -t hakluke/hakrawler .
sudo docker run --rm -i hakluke/hakrawler --help
Hinweis: Dadurch wird eine ältere Version von Hakrawler ohne alle Funktionen installiert, und sie kann fehlerhaft sein. Ich empfehle die Verwendung einer der anderen Methoden.
sudo apt install hakrawler
Um Hakrawler dann auszuführen:
echo https://www.google.com | docker run --rm -i hakluke/hakrawler -subs
Usage of hakrawler:
-d int
Depth to crawl. (default 2)
-dr
Disable following HTTP redirects.
-h string
Custom headers separated by two semi-colons. E.g. -h "Cookie: foo=bar;;Referer: http://example.com/"
-i Only crawl inside path
-insecure
Disable TLS verification.
-json
Output as JSON.
-proxy string
Proxy URL. E.g. -proxy http://127.0.0.1:8080
-s Show the source of URL based on where it was found. E.g. href, form, script, etc.
-size int
Page size limit, in KB. (default -1)
-subs
Include subdomains for crawling.
-t int
Number of threads to utilise. (default 8)
-timeout int
Maximum time to crawl each URL from stdin, in seconds. (default -1)
-u Show only unique urls.
-w Show at which link the URL is found.