Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
meg — Obtén muchas rutas para muchos hosts - sin matar los hosts | Kitploit
Herramientas/GitHubGitHub/tomnomnom/meg
ReconocimientoRecopilación de InformaciónSeguridad WebCrawler
GitHubtomnomnom/meg

meg

Obtén muchas rutas para muchos hosts - sin matar los hosts

Ver Repositorio
1.7k267hace 4 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

meg

meg es una herramienta para obtener muchas URLs pero siendo 'amable' con los servidores.

Se puede usar para obtener muchas rutas de muchos hosts; obteniendo una ruta para todos los hosts antes de pasar a la siguiente ruta y repetir.

Obtienes muchos resultados rápidamente, pero ninguno de los hosts individuales se ve inundado de tráfico.

Instalación

meg está escrito en Go y no tiene dependencias en tiempo de ejecución. Si tienes Go 1.9 o superior instalado y configurado puedes instalar meg con go install:

root@kitploit:~
▶ go install github.com/tomnomnom/meg@latest

O descarga un binario y colócalo en algún lugar de tu $PATH (por ejemplo, en /usr/bin/).

Errores de Instalación

Si ves un error como este significa que tu versión de Go es demasiado antigua:

root@kitploit:~
# github.com/tomnomnom/rawhttp
/root/go/src/github.com/tomnomnom/rawhttp/request.go:102: u.Hostname undefined (
type *url.URL has no field or method Hostname)
/root/go/src/github.com/tomnomnom/rawhttp/request.go:103: u.Port undefined (type
 *url.URL has no field or method Port)
 /root/go/src/github.com/tomnomnom/rawhttp/request.go:259: undefined: x509.System
 CertPool

Debes actualizar tu versión de Go, o usar un lanzamiento binario para tu plataforma.

Uso Básico

Dado un archivo lleno de rutas:

root@kitploit:~
/robots.txt
/.well-known/security.txt
/package.json

Y un archivo lleno de hosts (con un protocolo):

root@kitploit:~
http://example.com
https://example.com
http://example.net

meg solicitará cada ruta para cada host:

root@kitploit:~
▶ meg --verbose paths hosts
out/example.com/45ed6f717d44385c5e9c539b0ad8dc71771780e0 http://example.com/robots.txt (404 Not Found)
out/example.com/61ac5fbb9d3dd054006ae82630b045ba730d8618 https://example.com/robots.txt (404 Not Found)
out/example.net/1432c16b671043271eab84111242b1fe2a28eb98 http://example.net/robots.txt (404 Not Found)
out/example.net/61deaa4fa10a6f601adb74519a900f1f0eca38b7 http://example.net/.well-known/security.txt (404 Not Found)
out/example.com/20bc94a296f17ce7a4e2daa2946d0dc12128b3f1 http://example.com/.well-known/security.txt (404 Not Found)
...

Y guardará la salida en un directorio llamado ./out:

root@kitploit:~
▶ head -n 20 ./out/example.com/45ed6f717d44385c5e9c539b0ad8dc71771780e0
http://example.com/robots.txt

> GET /robots.txt HTTP/1.1
> Host: example.com

< HTTP/1.1 404 Not Found
< Expires: Sat, 06 Jan 2018 01:05:38 GMT
< Server: ECS (lga/13A2)
< Accept-Ranges: bytes
< Cache-Control: max-age=604800
< Content-Type: text/*
< Content-Length: 1270
< Date: Sat, 30 Dec 2017 01:05:38 GMT
< Last-Modified: Sun, 24 Dec 2017 06:53:36 GMT
< X-Cache: 404-HIT

<!doctype html>
<html>
<head>

Sin argumentos, meg leerá rutas de un archivo llamado ./paths, y hosts de un archivo llamado ./hosts. Tampoco habrá salida:

root@kitploit:~
▶ meg
▶

Pero guardará un archivo índice en ./out/index:

root@kitploit:~
▶ head -n 2 ./out/index
out/example.com/538565d7ab544bc3bec5b2f0296783aaec25e756 http://example.com/package.json (404 Not Found)
out/example.com/20bc94a296f17ce7a4e2daa2946d0dc12128b3f1 http://example.com/.well-known/security.txt (404 Not Found)

Puedes usar el archivo índice para encontrar dónde está almacenada la respuesta, pero a menudo es más fácil encontrar lo que buscas con grep:

root@kitploit:~
▶ grep -Hnri '< Server:' out/
out/example.com/61ac5fbb9d3dd054006ae82630b045ba730d8618:14:< Server: ECS (lga/13A2)
out/example.com/bd8d9f4c470ffa0e6ec8cfa8ba1c51d62289b6dd:16:< Server: ECS (lga/13A3)

Si quieres solicitar solo una ruta, puedes especificarla directamente como argumento:

root@kitploit:~
▶ meg /admin.php

Uso Detallado

La salida de ayuda de meg intenta ser realmente útil:

root@kitploit:~
▶ meg --help
Solicitar muchas rutas para muchos hosts

Uso:
  meg [opciones] [ruta|archivoRutas] [archivoHosts] [directorioSalida]

Opciones:
  -c, --concurrency <val>    Establecer el nivel de concurrencia (por defecto: 20)
  -d, --delay <val>          Milisegundos entre solicitudes al mismo host (por defecto: 5000)
  -H, --header <cabecera>    Enviar una cabecera HTTP personalizada
  -r, --rawhttp              Usar la librería rawhttp para las solicitudes (experimental)
  -s, --savestatus <estado>  Guardar solo respuestas con código de estado específico
  -v, --verbose              Modo verboso
  -X, --method <método>      Método HTTP (por defecto: GET)

Valores por defecto:
  archivoRutas: ./paths
  archivoHosts: ./hosts
  directorioSalida:  ./out

Formato del archivo de rutas:
  /robots.txt
  /package.json
  /security.txt

Formato del archivo de hosts:
  http://example.com
  https://example.edu
  https://example.net

Ejemplos:
  meg /robots.txt
  meg -s 200 -X HEAD
  meg -c 30 /
  meg hosts.txt paths.txt output

Concurrencia

Por defecto, meg intentará realizar 20 solicitudes concurrentes. Puedes cambiar eso con la opción -c o --concurrency:

root@kitploit:~
▶ meg --concurrency 5

No es muy amigable mantener el nivel de concurrencia más alto que el número de hosts - podrías terminar enviando muchas solicitudes a un solo host a la vez.

Retardo

Por defecto, meg espera 5000 milisegundos entre solicitudes al mismo host. Puedes sobrescribir eso con la opción -d o --delay:

root@kitploit:~
▶ meg --delay 10000

Advertencia: antes de reducir el retardo, asegúrate de tener permiso para hacer grandes volúmenes de solicitudes a los hosts que estás atacando.

Añadir Cabeceras

Puedes establecer cabeceras adicionales en las solicitudes con la opción -H o --header:

root@kitploit:~
▶ meg --header "Origin: https://evil.com"
▶ grep -h '^>' out/example.com/*
> GET /.well-known/security.txt HTTP/1.1
> Origin: https://evil.com
> Host: example.com
...

HTTP Crudo (Experimental)

Si quieres enviar solicitudes que no son válidas - por ejemplo con codificación URL no válida - el cliente HTTP de Go fallará:

root@kitploit:~
▶ meg /%%0a0afoo:bar
request failed: parse https://example.org/%%0a0afoo:bar: invalid URL escape "%%0"

Puedes usar la bandera -r o --rawhttp para habilitar el uso de la librería rawhttp, que realiza poca o ninguna validación en la solicitud:

root@kitploit:~
▶ meg --verbose --rawhttp /%%0a0afoo:bar
out/example.com/eac3a4978bfb95992e270c311582e6da4568d83d https://example.com/%%0a0afoo:bar (HTTP/1.1 404 Not Found)

La librería rawhttp y su uso son experimentales. Entre otras cosas, aún no soporta codificación de transferencia fragmentada, por lo que puedes notar longitudes de fragmentos intercaladas con tu salida si la usas.

Guardar Solo Ciertos Códigos de Estado

Si solo quieres guardar resultados que devolvieron un código de estado específico, puedes usar la opción -s o --savestatus:

root@kitploit:~
▶ meg --savestatus 200 /robots.txt

Especificar el Método

Puedes especificar qué método HTTP usar con la opción -X o --method:

root@kitploit:~
▶ meg --method TRACE
▶ grep -nri 'TRACE' out/
out/example.com/61ac5fbb9d3dd054006ae82630b045ba730d8618:3:> TRACE /robots.txt HTTP/1.1
out/example.com/bd8d9f4c470ffa0e6ec8cfa8ba1c51d62289b6dd:3:> TRACE /.well-known/security.txt HTTP/1.1
...
Descargar herramienta