Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
meg — Récupérer plusieurs chemins pour plusieurs hôtes - sans tuer les hôtes | Kitploit
Outils/GitHubGitHub/tomnomnom/meg
ReconnaissanceCollecte d'InformationsSécurité WebCrawler
GitHubtomnomnom/meg

meg

Récupérer plusieurs chemins pour plusieurs hôtes - sans tuer les hôtes

Voir le dépôt
1.7k267il y a 4 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

meg

meg est un outil pour récupérer beaucoup d'URLs tout en restant « sympa » avec les serveurs.

Il peut être utilisé pour récupérer plusieurs chemins pour plusieurs hôtes ; en récupérant un chemin pour tous les hôtes avant de passer au chemin suivant et de répéter.

Vous obtenez beaucoup de résultats rapidement, mais aucun des hôtes individuels n'est noié par le trafic.

Install

meg est écrit en Go et n'a pas de dépendances d'exécution. Si vous avez Go 1.9 ou une version ultérieure installée et configurée, vous pouvez installer meg avec go install :

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

Ou téléchargez un binaire et placez-le quelque part dans votre $PATH (par ex. dans /usr/bin/).

Erreurs d'Installation

Si vous voyez une erreur comme celle-ci, cela signifie que votre version de Go est trop ancienne :

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

Vous devez soit mettre à jour votre version de Go, soit utiliser une version binaire pour votre plateforme.

Utilisation de Base

Étant donné un fichier rempli de chemins :

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

Et un fichier rempli d'hôtes (avec un protocole) :

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

meg va demander chaque chemin pour chaque hôte :

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)
...

Et enregistrer la sortie dans un répertoire appelé ./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>

Sans aucun argument, meg lira les chemins depuis un fichier appelé ./paths, et les hôtes depuis un fichier appelé ./hosts. Il n'y aura également aucune sortie :

root@kitploit:~
▶ meg
▶

Mais il enregistrera un fichier d'index dans ./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)

Vous pouvez utiliser le fichier d'index pour trouver où la réponse est stockée, mais il est souvent plus facile de trouver ce que vous cherchez avec 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 vous voulez demander un seul chemin, vous pouvez le spécifier directement comme argument :

root@kitploit:~
▶ meg /admin.php

Utilisation Détaillée

La sortie d'aide de meg essaie d'être réellement 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

Concurrence

Par défaut, meg essaiera d'effectuer 20 requêtes simultanées. Vous pouvez modifier cela avec l'option -c ou --concurrency :

root@kitploit:~
▶ meg --concurrency 5

Il n'est pas très gentil de maintenir le niveau de concurrence plus élevé que le nombre d'hôtes - vous pourriez finir par envoyer beaucoup de requêtes à un seul hôte à la fois.

Délai

Par défaut, meg attendra 5000 millisecondes entre les requêtes vers le même hôte. Vous pouvez le remplacer avec l'option -d ou --delay :

root@kitploit:~
▶ meg --delay 10000

Avertissement : avant de réduire le délai, assurez-vous d'avoir l'autorisation d'effectuer de gros volumes de requêtes vers les hôtes que vous ciblez.

Ajouter des En-têtes

Vous pouvez définir des en-têtes supplémentaires sur les requêtes avec l'option -H ou --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 Brut (Expérimental)

Si vous voulez envoyer des requêtes qui ne sont pas valides - par exemple avec un encodage d'URL invalide - le client HTTP de Go échouera :

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

Vous pouvez utiliser le drapeau -r ou --rawhttp pour activer l'utilisation de la bibliothèque rawhttp, qui effectue peu ou pas de validation sur la requête :

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

La bibliothèque rawhttp et son utilisation sont expérimentales. Entre autres choses, elle ne supporte pas encore le codage de transfert en bloc, donc vous pourriez remarquer des longueurs de bloc mélangées à votre sortie si vous l'utilisez.

Enregistrer Uniquement Certains Codes d'État

Si vous voulez enregistrer uniquement les résultats qui ont renvoyé un certain code d'état, vous pouvez utiliser l'option -s ou --savestatus :

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

Spécifier la Méthode

Vous pouvez spécifier la méthode HTTP à utiliser avec l'option -X ou --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
...
Télécharger l’outil