HTTrack

Copieur de site web hors ligne qui aspire la structure, les pages et les ressources d'un site entier pour navigation et analyse hors ligne. Offline website copier that mirrors an entire site's structure, pages, and assets for offline browsing and analysis.

↗ https://www.httrack.com

Overview

HTTrack recursively downloads a website — HTML, images, CSS, JS, and linked resources — and rebuilds the relative link structure locally so it can be browsed offline. During recon it’s useful for grabbing a full snapshot of a target’s public site to grep through at leisure (comments, old paths, JS bundles, exposed endpoints) without hammering the live server with repeated requests.

Common Usage

Mirror a site into ./target-site/

httrack https://target.com -O ./target-site

Limit depth and stay on the same domain

httrack https://target.com -O ./target-site "+*.target.com/*" -r3

Throttle requests to be polite / avoid tripping WAF rate limits

httrack https://target.com -O ./target-site --sockets=4 -%c500

Resume an interrupted mirror

httrack --continue -O ./target-site

Interactive wizard mode

httrack

Post-mirror analysis

Grep the mirrored JS for interesting endpoints/keys

grep -rEi "api[_-]?key|/api/|token" ./target-site --include=*.js

Find all unique links/paths discovered

grep -roE 'href="[^"]+"' ./target-site | sort -u

Notes

  • Respect robots.txt unless the engagement scope explicitly says otherwise — HTTrack honors it by default (-s0 disables that).
  • Large sites can generate a lot of traffic fast; use -%c and --sockets to throttle.
  • Good complement to passive recon tools like waybackurls for finding content no longer linked live.
Help / Man page
httrack <URLs> -O <output_path> [options]

  -O <path>          Output/mirror directory
  -r<N>              Set recursion depth (default: unlimited)
  -%c<N>             Max simultaneous connections
  --sockets=<N>       Max sockets
  -s0                 Ignore robots.txt
  -c<N>              Number of connections
  -F "<user-agent>"  Set custom User-Agent
  --continue          Resume an interrupted mirror
  -W                  Wizard/interactive mode
  -v                  Verbose output
  +<pattern>          Include filter (wildcard)
  -<pattern>          Exclude filter (wildcard)

Vue d’ensemble

HTTrack télécharge récursivement un site web (HTML, images, CSS, JS et ressources liées) et reconstruit la structure de liens relatifs en local afin qu’il puisse être navigué hors ligne. En phase de reconnaissance, il est utile pour récupérer un instantané complet du site public d’une cible et le grepper à loisir (commentaires, anciens chemins, bundles JS, endpoints exposés) sans marteler le serveur en production avec des requêtes répétées.

Utilisation courante

# Aspirer un site dans ./target-site/
httrack https://target.com -O ./target-site

# Limiter la profondeur et rester sur le même domaine
httrack https://target.com -O ./target-site "+*.target.com/*" -r3

# Ralentir les requêtes pour rester poli / éviter de déclencher les limites de débit d'un WAF
httrack https://target.com -O ./target-site --sockets=4 -%c500

# Reprendre une aspiration interrompue
httrack --continue -O ./target-site

# Mode assistant interactif
httrack

Analyse post-aspiration

# Grepper le JS aspiré pour des endpoints/clés intéressants
grep -rEi "api[_-]?key|/api/|token" ./target-site --include=*.js

# Trouver tous les liens/chemins uniques découverts
grep -roE 'href="[^"]+"' ./target-site | sort -u

Notes

  • Respecter robots.txt sauf si le périmètre de la mission le stipule explicitement autrement : HTTrack le respecte par défaut (-s0 désactive ce comportement).
  • Les gros sites peuvent générer beaucoup de trafic rapidement ; utiliser -%c et --sockets pour ralentir.
  • Bon complément aux outils de reconnaissance passive comme waybackurls pour trouver du contenu qui n’est plus lié en direct.
Aide / Page de manuel
httrack <URLs> -O <output_path> [options]

  -O <path>          Output/mirror directory
  -r<N>              Set recursion depth (default: unlimited)
  -%c<N>             Max simultaneous connections
  --sockets=<N>       Max sockets
  -s0                 Ignore robots.txt
  -c<N>              Number of connections
  -F "<user-agent>"  Set custom User-Agent
  --continue          Resume an interrupted mirror
  -W                  Wizard/interactive mode
  -v                  Verbose output
  +<pattern>          Include filter (wildcard)
  -<pattern>          Exclude filter (wildcard)