Si vous avez déjà voulu explorer un site web comme le ferait un moteur de recherche, voici Katana. Derrière ce nom un peu tranchant se cache un outil redoutable pour analyser un site, découvrir ses pages cachées et comprendre sa structure réelle.
- Fonctionne Katana pour explorer un site web comme un crawler professionnel, même sans expérience en cybersécurité
- Identifier des pages cachées, des endpoints et la structure réelle d’un site pour mieux analyser ou optimiser un projet web
- Utiliser Katana efficacement avec les bonnes commandes, sans se perdre dans des options complexes dès le départ
Dans ce tutoriel, vous allez apprendre à utiliser Katana pas à pas. Même si vous débutez, vous allez comprendre comment fonctionne un crawler, pourquoi c’est utile… et surtout comment l’exploiter concrètement avec des exemples simples.
- Qu’est-ce que Katana ?
- Installation de Katana
- Première utilisation de Katana
- Comprendre la profondeur de crawl
- Gérer le périmètre (scope)
- Crawl des fichiers JavaScript
- Exporter les résultats
- Filtrer les résultats
- Utilisation en pentest (version simple)
- Intégration avec d’autres outils
- Utilisation en OSINT
- Katana comme crawler SEO
- Cas pratique complet
- Tableau récapitulatif des commandes Katana
Qu’est-ce que Katana ?
Katana est un crawler web en ligne de commande, il s’utilise depuis le terminal avec des lignes de commandes. Concrètement, il visite un site comme le ferait Google, en suivant les liens de page en page.
Imaginez un petit robot qui :
- arrive sur une page
- regarde tous les liens présents
- clique dessus automatiquement
- recommence encore et encore
C’est exactement ce que fait Katana.

Mais contrairement à un navigateur classique, il ne se contente pas d’afficher les pages. Il collecte des informations :
- URLs
- fichiers JavaScript
- endpoints API
- paramètres dans les URLs
👉 Pour en savoir plus, Endpoint : définition simple, exemples et fonctionnement
Pourquoi utiliser Katana ?
Bonne question. Et la réponse dépend de votre objectif.
Vous pouvez utiliser Katana pour :
- analyser la structure d’un site
- trouver des pages oubliées
- comprendre le maillage interne
- détecter des zones sensibles (admin, API…)
En clair : vous voyez le site comme une machine, pas comme un visiteur
Installation de Katana
Katana est développé en Go, c’est un projet de ProjectDiscovery. L’installation est donc très simple.
Sur macOS ou Linux
Si vous avez Go installé :
go install github.com/projectdiscovery/katana/cmd/katana@latest
Une fois installé, vérifiez :
katana -h
Si vous voyez la liste des options, c’est gagné 🎉

Sur Windows
Deux options :
- utiliser WSL (recommandé)
- ou télécharger un binaire depuis GitHub
Si vous débutez, WSL reste la solution la plus simple
Première utilisation de Katana
On va faire simple.
Prenons un site fictif :
katana -u https://example.com
Et là… Katana va commencer à crawler.
Que se passe-t-il vraiment ?
Katana :
- charge la page d’accueil
- extrait tous les liens
- visite chaque lien
- répète le processus
- Résultat : une liste d’URLs s’affiche dans votre terminal
Exemple de sortie
https://example.com
https://example.com/blog
https://example.com/contact
https://example.com/login
Rien de magique en apparence… mais c’est une cartographie brute du site
Comprendre la profondeur de crawl
Par défaut, Katana ne va pas très loin.
C’est là qu’intervient l’option -d (depth).
katana -u https://example.com -d 3
👉 Cela signifie :
- niveau 1 → page d’accueil
- niveau 2 → liens de la page d’accueil
- niveau 3 → liens des liens
Pourquoi c’est important ?
Imaginez un site avec :
- une page blog
- puis un article
- puis un lien vers une ressource
Sans profondeur suffisante… vous ne verrez jamais cette ressource.
Gérer le périmètre (scope)
Quand Katana crawl, il peut parfois sortir du site.
Par exemple :
- liens vers YouTube
- liens vers un CDN
- liens vers d’autres domaines
Limiter au domaine
katana -u https://example.com -cs example.com
👉 -cs = crawl scope
-cs (crawl scope) permet de limiter Katana à un domaine ou périmètre précis, pour éviter qu’il explore des sites externes.
Toujours limiter le scope au début. Sinon, Katana peut partir très loin… et vous noyer sous les données
Crawl des fichiers JavaScript
C’est là que Katana devient vraiment intéressant.
Les sites modernes cachent souvent des routes dans le JavaScript.
Activer le JS crawl
katana -u https://example.com -js-crawl
Sur un site, vous ne voyez pas :
/api/user
/api/admin
Mais dans le JS :
fetch('/api/user')
👉 Katana peut le détecter.
Ainsi, vous découvrez :
- des endpoints API
- des routes cachées
- des fonctionnalités non visibles
Exporter les résultats
Afficher dans le terminal, c’est bien. Mais enregistrer, c’est mieux.
katana -u https://example.com -o result.txt
Vous pouvez ensuite :
- trier les URLs
- analyser les patterns
- les importer dans un outil
Filtrer les résultats
Katana peut générer énormément de données.
Il faut apprendre à filtrer. Par exemple, pour ne garder que les fichiers PHP :
Des formations informatique pour tous !
Débutant ou curieux ? Apprenez le développement web, le référencement, le webmarketing, la bureautique, à maîtriser vos appareils Apple et bien plus encore…
Formateur indépendant, professionnel du web depuis 2006, je vous accompagne pas à pas et en cours particulier, que vous soyez débutant ou que vous souhaitiez progresser. En visio, à votre rythme, et toujours avec pédagogie.
Découvrez mes formations Qui suis-je ?katana -u https://example.com | grep ".php"
Ou pour trouver des pages sensibles :
katana -u https://example.com | grep -E "admin|login|api"
Vous commencez à voir son potentiel…
👉 Pour ceux qui débutent avec le terminal : La commande GREP : filtrer et rechercher du texte.
Utilisation en pentest (version simple)
Sans entrer dans du hacking complexe, Katana sert à :
- découvrir la surface d’un site
- trouver des points d’entrée
- identifier des zones sensibles
Vous lancez :
katana -u https://site.com -d 3 -js-crawl
Résultat :
/admin
/api/users
/reset-password
👉 Vous avez déjà des pistes intéressantes.
Intégration avec d’autres outils
Katana est rarement utilisé seul. On peut le coupler avec httpx :
katana -u https://example.com | httpx
👉 Vérifie quelles URLs sont actives
Mais aussi avec Nuclei :
katana -u https://example.com | nuclei
👉 Recherche des vulnérabilités
Il existe également plusieurs outils similaires à Katana, chacun avec sa philosophie. Par exemple, Screaming Frog est très utilisé en SEO pour analyser visuellement un site avec une interface graphique, ce qui le rend plus accessible aux débutants.
À l’inverse, des outils comme Hakrawler ou GoSpider se rapprochent davantage de Katana avec une approche en ligne de commande, souvent privilégiée en pentest ou en automatisation.
Enfin, des solutions comme Burp Suite (en version avancée) permettent aussi de crawler un site, mais dans un contexte plus orienté sécurité.
En résumé, Katana se situe à mi-chemin entre les crawlers SEO et les outils de cybersécurité, avec un excellent équilibre entre puissance et flexibilité.
Utilisation en OSINT
Même sans objectif sécurité, Katana est utile pour des enquête OSINT.
Vous pouvez analyser un site concurrent :
katana -u https://concurrent.com -d 3
Vous découvrez :
- pages non indexées
- structures de contenu
- endpoints internes
👉 C’est de l’OSINT technique.
Katana comme crawler SEO
Et là… ça devient intéressant pour votre site web.
Katana peut servir de crawler SEO simplifié.
katana -u https://votresite.com -d 3
Ce que vous pouvez analyser
- pages orphelines (non découvertes)
- profondeur des pages
- structure du site
👉 C’est une base brute… mais très puissante.
Automatiser Katana
Quand vous avez compris les bases, vous pouvez automatiser avec une tâche cron.
Lancer tous les jours :
0 2 * * * katana -u https://example.com -o daily.txt
Pourquoi automatiser ?
- surveiller un site
- détecter des changements
- suivre l’évolution
Prenez toujours le temps de :
- limiter la profondeur
- filtrer les résultats
- comprendre ce que vous voyez
👉 Katana n’analyse pas pour vous… il vous donne la matière.
Mais soyons honnêtes. Katana ne fait pas :
- d’analyse SEO complète
- de rendu visuel
- d’audit automatique
👉 C’est un outil brut.
Cas pratique complet
Imaginons un site :
katana -u https://monsite.com -d 3 -js-crawl -o scan.txt
Ensuite :
grep "admin" scan.txt
grep "api" scan.txt
👉 Vous identifiez rapidement :
- zones sensibles
- pages importantes
- architecture réelle
Tableau récapitulatif des commandes Katana
| Commande | Description | Exemple concret | Niveau |
|---|---|---|---|
katana -u URL | Lance un crawl simple du site | katana -u https://example.com | Débutant |
katana -u URL -d N | Définit la profondeur de crawl | katana -u https://example.com -d 3 | Débutant |
katana -u URL -js-crawl | Analyse les fichiers JavaScript | katana -u https://example.com -js-crawl | Intermédiaire |
katana -u URL -o fichier.txt | Enregistre les résultats dans un fichier | katana -u https://example.com -o result.txt | Débutant |
katana -u URL -cs domaine.com | Limite le crawl à un domaine précis | katana -u https://example.com -cs example.com | Intermédiaire |
katana -u URL -silent | Supprime les logs inutiles (sortie propre) | katana -u https://example.com -silent | Débutant |
katana -u URL -timeout 10 | Définit un timeout en secondes | katana -u https://example.com -timeout 10 | Intermédiaire |
katana -u URL -retry 2 | Nombre de tentatives en cas d’échec | katana -u https://example.com -retry 2 | Intermédiaire |
katana -u URL -concurrency 10 | Nombre de requêtes simultanées | katana -u https://example.com -concurrency 10 | Avancé |
katana -u URL -rate-limit 5 | Limite le nombre de requêtes par seconde | katana -u https://example.com -rate-limit 5 | Avancé |
katana -u URL -headless | Active le mode navigateur (sites JS complexes) | katana -u https://example.com -headless | Avancé |
katana -u URL -depth 3 | Alias de -d pour la profondeur | katana -u https://example.com -depth 3 | Débutant |
katana -list urls.txt | Crawl plusieurs URLs depuis un fichier | katana -list sites.txt | Intermédiaire |
katana -u URL -match-regex REGEX | Filtre les résultats avec une regex | katana -u https://example.com -match-regex "api" | Avancé |
katana -u URL -filter-regex REGEX | Exclut certains résultats | katana -u https://example.com -filter-regex "logout" | Avancé |
katana -u URL -extension-filter js,php | Filtre par extension de fichier | katana -u https://example.com -extension-filter php,html | Intermédiaire |
katana -u URL -json | Sortie au format JSON | katana -u https://example.com -json | Intermédiaire |
katana -u URL -proxy http://127.0.0.1:8080 | Passe par un proxy (Burp, etc.) | katana -u https://example.com -proxy http://127.0.0.1:8080 | Avancé |
katana -u URL -H "Header: value" | Ajoute un header personnalisé | katana -u https://example.com -H "Authorization: Bearer token" | Avancé |
katana -u URL -cookie "session=abc123" | Ajoute des cookies | katana -u https://example.com -cookie "PHPSESSID=xyz" | Avancé |
Si vous débutez, retenez seulement ces 5 commandes :
katana -u https://site.com
katana -u https://site.com -d 3
katana -u https://site.com -js-crawl
katana -u https://site.com -o result.txt
katana -u https://site.com -cs site.com
👉 Avec ça, vous pouvez déjà faire 80% des analyses utiles
Katana est un outil à la fois simple… et incroyablement puissant. Au début, vous aurez peut-être l’impression de regarder une avalanche de données sans trop savoir quoi en faire. Et c’est normal.
Mais plus vous l’utilisez, plus vous développez un réflexe d’analyse. Vous commencez à voir des patterns, à comprendre la structure d’un site, à détecter des anomalies presque instinctivement.
Et là, Katana ne devient plus un simple outil… mais un véritable prolongement de votre réflexion technique.

Fondateur de l’agence Créa-troyes, affiliée France Num
Intervenant en Freelance.
Contactez-moi
