Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
meg — Recupera molti percorsi per molti host - senza uccidere gli host | Kitploit
Strumenti/GitHubGitHub/tomnomnom/meg
RicognizioneRaccolta InformazioniSicurezza WebCrawler
GitHubtomnomnom/meg

meg

Recupera molti percorsi per molti host - senza uccidere gli host

Vedi Repository
1.7k2674 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

meg

meg è uno strumento per recuperare molti URL ma restando 'gentile' verso i server.

Può essere utilizzato per recuperare molti percorsi per molti host; recuperando un percorso per tutti gli host prima di passare al percorso successivo e ripetere.

Ottieni molti risultati rapidamente, ma nessuno dei singoli host viene inondato di traffico.

Installazione

meg è scritto in Go e non ha dipendenze a runtime. Se hai Go 1.9 o successivo installato e configurato, puoi installare meg con go install:

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

Oppure scarica un binario e mettilo da qualche parte nel tuo $PATH (ad esempio in /usr/bin/).

Errori di Installazione

Se vedi un errore come questo significa che la tua versione di Go è troppo vecchia:

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

Dovresti aggiornare la versione di Go, oppure usare una release binaria per la tua piattaforma.

Utilizzo Base

Dato un file pieno di percorsi:

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

E un file pieno di host (con un protocollo):

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

meg richiederà ogni percorso per ogni 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)
...

E salverà l'output in una directory chiamata ./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>

Senza argomenti, meg leggerà i percorsi da un file chiamato ./paths, e gli host da un file chiamato ./hosts. Non ci sarà alcun output:

root@kitploit:~
▶ meg
▶

Ma salverà un file indice in ./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)

Puoi usare il file indice per trovare dove è memorizzata la risposta, ma è spesso più facile trovare quello che cerchi 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)

Se vuoi richiedere un solo percorso, puoi specificarlo direttamente come argomento:

root@kitploit:~
▶ meg /admin.php

Utilizzo Dettagliato

L'output di aiuto di meg cerca di essere effettivamente utile:

root@kitploit:~
▶ meg --help
Request many paths for many hosts

Usage:
  meg [options] [path|pathsFile] [hostsFile] [outputDir]

Options:
  -c, --concurrency <val>    Set the concurrency level (defaut: 20)
  -d, --delay <val>          Milliseconds between requests to the same host (default: 5000)
  -H, --header <header>      Send a custom HTTP header
  -r, --rawhttp              Use the rawhttp library for requests (experimental)
  -s, --savestatus <status>  Save only responses with specific status code
  -v, --verbose              Verbose mode
  -X, --method <method>      HTTP method (default: GET)

Defaults:
  pathsFile: ./paths
  hostsFile: ./hosts
  outputDir:  ./out

Paths file format:
  /robots.txt
  /package.json
  /security.txt

Hosts file format:
  http://example.com
  https://example.edu
  https://example.net

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

Concorrenza

Di default meg tenterà di effettuare 20 richieste concorrenti. Puoi modificarlo con l'opzione -c o --concurrency:

root@kitploit:~
▶ meg --concurrency 5

Non è molto gentile mantenere il livello di concorrenza più alto del numero di host - potresti finire per inviare molte richieste a un singolo host contemporaneamente.

Ritardo

Di default meg aspetta 5000 millisecondi tra le richieste allo stesso host. Puoi sovrascriverlo con l'opzione -d o --delay:

root@kitploit:~
▶ meg --delay 10000

Attenzione: prima di ridurre il ritardo, assicurati di avere il permesso di effettuare grandi volumi di richieste agli host che stai mirando.

Aggiungere Intestazioni

Puoi impostare intestazioni aggiuntive sulle richieste con l'opzione -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 Raw (Sperimentale)

Se vuoi inviare richieste che non sono valide - ad esempio con codifica URL non valida - il client HTTP di Go fallirà:

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

Puoi usare il flag -r o --rawhttp per abilitare l'uso della libreria rawhttp, che fa poca o nessuna validazione sulla richiesta:

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

La libreria rawhttp e il suo uso sono sperimentali. Tra le altre cose non supporta ancora la codifica di trasferimento chunked, quindi potresti notare lunghezze di chunk intervallate nel tuo output se la usi.

Salvare Solo Certi Codici di Stato

Se vuoi salvare solo risultati che hanno restituito un certo codice di stato, puoi usare l'opzione -s o --savestatus:

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

Specificare il Metodo

Puoi specificare quale metodo HTTP usare con l'opzione -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
...
Scarica lo strumento