
Parcourez récursivement des pages web pour découvrir toutes les URL en suivant les liens, en analysant les sitemaps et les fichiers robots.txt. Idéal pour la reconnaissance en sécurité et la découverte de contenu.
xcrawl3r est un utilitaire en ligne de commande conçu pour parcourir récursivement les pages web à la recherche d'URL. Il fonctionne en traversant activement les sites web – en suivant les liens intégrés dans les pages et en analysant les fichiers (y compris les sitemaps et robots.txt) – pour découvrir toutes les URL.
Contrairement à xurlfind3r qui n'interagit pas directement avec la cible, xcrawl3r interagit directement avec la cible en parcourant ses pages en temps réel. Cette approche active permet de découvrir des URL qui peuvent être cachées ou non indexées, offrant ainsi une image complète du flux de navigation et de la distribution du contenu du site web. Cela fait de xcrawl3r un outil puissant pour les chercheurs en sécurité, les professionnels de l'informatique et toute personne souhaitant obtenir des informations sur les URL associées à des sites web.
robots.txt)stdin et stdout pour une intégration facile dans les flux de travail automatisésConsultez la page des versions et trouvez l'archive appropriée pour votre système d'exploitation et votre architecture. Téléchargez l'archive depuis votre navigateur ou copiez son URL et récupérez-la avec wget ou curl :
...avec wget :
wget https://github.com/hueristiq/xcrawl3r/releases/download/v<version>/xcrawl3r-<version>-linux-amd64.tar.gz
...ou avec curl :
curl -OL https://github.com/hueristiq/xcrawl3r/releases/download/v<version>/xcrawl3r-<version>-linux-amd64.tar.gz
...puis, extrayez le binaire :
tar xf xcrawl3r-<version>-linux-amd64.tar.gz
[!TIP] Les étapes ci-dessus, téléchargement et extraction, peuvent être combinées en une seule étape avec cette ligne de commande
curl -sL https://github.com/hueristiq/xcrawl3r/releases/download/v<version>/xcrawl3r-<version>-linux-amd64.tar.gz | tar -xzv
[!NOTE] Sous Windows, vous devriez pouvoir double-cliquer sur l'archive zip pour extraire l'exécutable
xcrawl3r.
...déplacez le binaire xcrawl3r vers un emplacement dans votre PATH. Par exemple, sur les systèmes GNU/Linux et OS X :
sudo mv xcrawl3r /usr/local/bin/
[!NOTE] Les utilisateurs Windows peuvent suivre Comment : Ajouter des emplacements d'outils à la variable d'environnement PATH pour ajouter
xcrawl3rà leurPATH.
Avant d'installer depuis les sources, assurez-vous que Go est installé sur votre système. Vous pouvez installer Go en suivant les instructions officielles pour votre système d'exploitation. Pour cela, nous supposerons que Go est déjà installé.
go install ...go install -v github.com/hueristiq/xcrawl3r/cmd/xcrawl3r@latest
go build ... la version de développementClonez le dépôt
git clone https://github.com/hueristiq/xcrawl3r.git
Compilez l'utilitaire
cd xcrawl3r/cmd/xcrawl3r && \
go build .
Déplacez le binaire xcrawl3r vers un emplacement dans votre PATH. Par exemple, sur les systèmes GNU/Linux et OS X :
sudo mv xcrawl3r /usr/local/bin/
Les utilisateurs Windows peuvent suivre Comment : Ajouter des emplacements d'outils à la variable d'environnement PATH pour ajouter xcrawl3r à leur PATH.
[!CAUTION] Bien que la version de développement soit un bon moyen de jeter un coup d'œil aux dernières fonctionnalités de
xcrawl3ravant leur publication, sachez qu'elle peut contenir des bugs. Les versions officiellement publiées seront généralement plus stables.
Pour installer xcrawl3r avec Docker :
Récupérez l'image Docker en utilisant :
docker pull hueristiq/xcrawl3r:latest
Exécutez xcrawl3r en utilisant l'image :
docker run --rm hueristiq/xcrawl3r:latest -h
xcrawl3r fonctionnera immédiatement après l'installation. Cependant, une certaine configuration peut être ajoutée dans un fichier de configuration situé à $HOME/.config/xcrawl3r/config.yaml, créé lors de la première exécution, ou définie via des variables d'environnement.
Exemple de variables d'environnement :
XCRAWL3R_REQUEST_TIMEOUT=10
Pour commencer à utiliser xcrawl3r, ouvrez votre terminal et exécutez la commande suivante pour obtenir la liste des options :
xcrawl3r -h
Voici à quoi ressemble le message d'aide :
_ _____
__ _____ _ __ __ ___ _| |___ / _ __
\ \/ / __| '__/ _` \ \ /\ / / | |_ \| '__|
> < (__| | | (_| |\ 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
Les contributions sont les bienvenues et encouragées ! N'hésitez pas à soumettre des Pull Requests ou à signaler des Issues. Pour plus de détails, consultez les directives de contribution.
Un grand merci à tous les contributeurs pour votre soutien continu !
Ce package est distribué sous la licence MIT. Vous êtes libre d'utiliser, de modifier et de distribuer ce logiciel, à condition de respecter les termes de la licence. Vous trouverez le texte complet de la licence dans le dépôt – Texte complet de la licence MIT.