
Navega recursivamente por páginas web para descubrir todas las URLs siguiendo enlaces, analizando sitemaps y archivos robots.txt. Ideal para el reconocimiento de seguridad y el descubrimiento de contenido.
xcrawl3r es una utilidad de línea de comandos diseñada para rastrear recursivamente páginas web en busca de URLs. Funciona recorriendo activamente los sitios web, siguiendo enlaces incrustados en páginas web y analizando archivos (incluyendo sitemaps y robots.txt) para descubrir cada URL.
A diferencia de xurlfind3r, que no interactúa directamente con el objetivo, xcrawl3r interactúa directamente con el objetivo rastreando sus páginas en tiempo real. Este enfoque activo le permite descubrir URLs que pueden estar ocultas o no indexadas, proporcionando una imagen completa del flujo de navegación y la distribución de contenido del sitio web. Esto hace de xcrawl3r una herramienta poderosa para investigadores de seguridad, profesionales de TI y cualquier persona que busque obtener información sobre las URLs asociadas a sitios web.
robots.txt)stdin y stdout para una fácil integración en flujos de trabajo automatizadosVisita la página de lanzamientos y encuentra el archivo adecuado para tu sistema operativo y arquitectura. Descarga el archivo desde tu navegador o copia su URL y recupéralo con wget o curl:
...con wget:
wget https://github.com/hueristiq/xcrawl3r/releases/download/v<version>/xcrawl3r-<version>-linux-amd64.tar.gz
...o, con curl:
curl -OL https://github.com/hueristiq/xcrawl3r/releases/download/v<version>/xcrawl3r-<version>-linux-amd64.tar.gz
...luego, extrae el binario:
tar xf xcrawl3r-<version>-linux-amd64.tar.gz
[!TIP] Los pasos anteriores, descarga y extracción, se pueden combinar en un solo paso con esta línea
curl -sL https://github.com/hueristiq/xcrawl3r/releases/download/v<version>/xcrawl3r-<version>-linux-amd64.tar.gz | tar -xzv
[!NOTE] En sistemas Windows, deberías poder hacer doble clic en el archivo zip para extraer el ejecutable
xcrawl3r.
...mueve el binario xcrawl3r a algún lugar en tu PATH. Por ejemplo, en sistemas GNU/Linux y OS X:
sudo mv xcrawl3r /usr/local/bin/
[!NOTE] Los usuarios de Windows pueden seguir Cómo: Agregar ubicaciones de herramientas a la variable de entorno PATH para agregar
xcrawl3ra suPATH.
Antes de instalar desde el código fuente, debes asegurarte de que Go esté instalado en tu sistema. Puedes instalar Go siguiendo las instrucciones oficiales para tu sistema operativo. Para esto, asumiremos que Go ya está instalado.
go install ...go install -v github.com/hueristiq/xcrawl3r/cmd/xcrawl3r@latest
go build ... la versión de desarrolloClona el repositorio
git clone https://github.com/hueristiq/xcrawl3r.git
Compila la utilidad
cd xcrawl3r/cmd/xcrawl3r && \
go build .
Mueve el binario xcrawl3r a algún lugar en tu PATH. Por ejemplo, en sistemas GNU/Linux y OS X:
sudo mv xcrawl3r /usr/local/bin/
Los usuarios de Windows pueden seguir Cómo: Agregar ubicaciones de herramientas a la variable de entorno PATH para agregar xcrawl3r a su PATH.
[!CAUTION] Si bien la versión de desarrollo es una buena manera de echar un vistazo a las últimas características de
xcrawl3rantes de que se publiquen, ten en cuenta que puede tener errores. Las versiones lanzadas oficialmente generalmente serán más estables.
Para instalar xcrawl3r en Docker:
Descarga la imagen de Docker usando:
docker pull hueristiq/xcrawl3r:latest
Ejecuta xcrawl3r usando la imagen:
docker run --rm hueristiq/xcrawl3r:latest -h
xcrawl3r funcionará inmediatamente después de la instalación. Sin embargo, se puede agregar configuración en un archivo de configuración ubicado en $HOME/.config/xcrawl3r/config.yaml, creado en la primera ejecución, o establecer como variables de entorno.
Ejemplo de variables de entorno:
XCRAWL3R_REQUEST_TIMEOUT=10
Para empezar a usar xcrawl3r, abre tu terminal y ejecuta el siguiente comando para ver la lista de opciones:
xcrawl3r -h
Este es el mensaje de ayuda:
_ _____
__ _____ _ __ __ ___ _| |___ / _ __
\ \/ / __| '__/ _` \ \ /\ / / | |_ \| '__|
> < (__| | | (_| |\ 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
¡Las contribuciones son bienvenidas y alentadas! No dudes en enviar Pull Requests o reportar Problemas. Para más detalles, consulta las directrices de contribución.
¡Un gran agradecimiento a todos los contribuyentes por su continuo apoyo!
Este paquete está licenciado bajo la licencia MIT. Eres libre de usarlo, modificarlo y distribuirlo, siempre que cumplas con los términos de la licencia. Puedes encontrar el texto completo de la licencia en el repositorio: Texto completo de la licencia MIT.