Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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
webscreenshot — Un script simple pour capturer une capture d'écran d'une liste de sites web | Kitploit
Outils/GitHubGitHub/maaaaz/webscreenshot
ReconnaissanceCollecte d'InformationsSécurité Web
GitHubmaaaaz/webscreenshot

webscreenshot

Un script simple pour capturer une capture d'écran d'une liste de sites web

Voir le dépôt
6921689il y a 11 moisVé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

webscreenshot

Description

Un script simple pour prendre des captures d'écran d'une liste de sites web, basé sur le script PhantomJS url-to-image.

Fonctionnalités

  • Intégration du 'lazy-rendering' d'url-to-image pour les ressources AJAX
  • Fonctionnel sur les systèmes Windows et Linux
  • Prise en charge des cookies et des en-têtes HTTP personnalisés pour le moteur PhantomJS
  • Multiprocessing et arrêt des processus ne répondant pas après un délai défini par l'utilisateur
  • Acceptation de plusieurs formats en tant que cible d'entrée
  • Personnalisation de la taille de la capture d'écran (largeur, hauteur), format et qualité
  • Mappage d'options utiles de PhantomJS comme l'ignorance d'erreurs SSL, la définition d'un proxy et son authentification, l'authentification HTTP Basic
  • Prise en charge de plusieurs moteurs de rendu :
    • PhantomJS, qui est hérité et abandonné mais reste celui qui produit les meilleurs résultats
    • Chromium, Chrome et Edge Chromium, qui remplaceront PhantomJS mais présentent actuellement certaines limitations : prendre une capture d'écran d'un site HTTPS sans certificat valide, par exemple un certificat auto-signé, produira une capture d'écran vide. La raison est que l'option --ignore-certificate-errors ne fonctionne pas et ne fonctionnera plus jamais : la solution est d'utiliser un webdriver approprié, mais à ce jour webscreenshot ne vise pas à supporter cette méthode plutôt complexe nécessitant des outils tiers.
    • Firefox peut également être utilisé comme moteur de rendu mais présente certaines limitations sérieuses (donc ne l'utilisez pas pour le moment) :
      • Impossibilité d'effectuer plusieurs captures d'écran à la fois : pas de multi-instance du processus firefox
      • Pas de mode incognito, l'utilisation de webscreenshot polluera votre historique de navigation
  • Intégration de l'URL de la capture dans l'image (nécessite ImageMagick)

Utilisation

Placez vos cibles dans un fichier texte et passez-le avec l'option -i, ou comme argument positionnel si vous n'avez qu'une seule URL. Les captures d'écran seront disponibles, par défaut, dans votre répertoire ./screenshots/ courant. Les formats d'entrée acceptés sont les suivants :

http(s)://domain_or_ip:port(/resource)
domain_or_ip:port(/resource)
domain_or_ip(/resource)

Options

webscreenshot.py version 2.96

usage: webscreenshot [-h] [-i INPUT_FILE] [-o OUTPUT_DIRECTORY] [-w WORKERS] [-v] [--no-error-file] [-z SINGLE_OUTPUT_FILE] [-p PORT]
                     [-s] [-m] [-r {phantomjs,chrome,chromium,edge,firefox}] [--renderer-binary RENDERER_BINARY] [--no-xserver]
                     [--window-size WINDOW_SIZE] [-f {pdf,png,jpg,jpeg,bmp,ppm}] [-q [0-100]] [--ajax-max-timeouts AJAX_MAX_TIMEOUTS]
                     [--crop CROP] [--custom-js CUSTOM_JS] [-l] [--label-size LABEL_SIZE] [--label-bg-color LABEL_BG_COLOR]
                     [--imagemagick-binary IMAGEMAGICK_BINARY] [-c COOKIE] [-a HEADER] [-u HTTP_USERNAME] [-b HTTP_PASSWORD]
                     [-P PROXY] [-A PROXY_AUTH] [-T PROXY_TYPE] [-t TIMEOUT]
                     [URL]

options:
  -h, --help            show this help message and exit

Main parameters:
  URL                   Single URL target given as a positional argument
  -i, --input-file INPUT_FILE
                        <INPUT_FILE> text file containing the target list. Ex: list.txt
  -o, --output-directory OUTPUT_DIRECTORY
                        <OUTPUT_DIRECTORY> (optional): screenshots output directory (default './screenshots/')
  -w, --workers WORKERS
                        <WORKERS> (optional): number of parallel execution workers (default 4)
  -v, --verbosity       <VERBOSITY> (optional): verbosity level, repeat it to increase the level { -v INFO, -vv DEBUG } (default
                        verbosity ERROR)
  --no-error-file       <NO_ERROR_FILE> (optional): do not write a file with the list of URL of failed screenshots (default false)
  -z, --single-output-file SINGLE_OUTPUT_FILE
                        <SINGLE_OUTPUT_FILE> (optional): name of a file which will be the single output of all inputs. Ex. test.png

Input processing parameters:
  -p, --port PORT       <PORT> (optional): use the specified port for each target in the input list. Ex: -p 80
  -s, --ssl             <SSL> (optional): enforce SSL/TLS for every connection
  -m, --multiprotocol   <MULTIPROTOCOL> (optional): perform screenshots over HTTP and HTTPS for each target

Screenshot renderer parameters:
  -r, --renderer {phantomjs,chrome,chromium,edge,firefox}
                        <RENDERER> (optional): renderer to use among 'phantomjs' (legacy but best results), 'chrome', 'chromium',
                        'edge', 'firefox' (version > 57) (default 'phantomjs')
  --renderer-binary RENDERER_BINARY
                        <RENDERER_BINARY> (optional): path to the renderer executable if it cannot be found in $PATH
  --no-xserver          <NO_X_SERVER> (optional): if you are running without an X server, will use xvfb-run to execute the renderer
                        (by default, trying to detect if DISPLAY environment variable exists

Screenshot image parameters:
  --window-size WINDOW_SIZE
                        <WINDOW_SIZE> (optional): width and height of the screen capture (default '1200,800')
  -f, --format {pdf,png,jpg,jpeg,bmp,ppm}
                        <FORMAT> (optional, phantomjs only): specify an output image file format, "pdf", "png", "jpg", "jpeg", "bmp"
                        or "ppm" (default 'png')
  -q, --quality [0-100]
                        <QUALITY> (optional, phantomjs only): specify the output image quality, an integer between 0 and 100 (default
                        75)
  --ajax-max-timeouts AJAX_MAX_TIMEOUTS
                        <AJAX_MAX_TIMEOUTS> (optional, phantomjs only): per AJAX request, and max URL timeout in milliseconds
                        (default '1400,1800')
  --crop CROP           <CROP> (optional, phantomjs only): rectangle <t,l,w,h> to crop the screen capture to (default to WINDOW_SIZE:
                        '0,0,w,h'), only numbers, w(idth) and h(eight). Ex. "10,20,w,h"
  --custom-js CUSTOM_JS
                        <CUSTOM_JS> (optional, phantomjs only): path of a file containing JavaScript code to be executed before
                        taking the screenshot. Ex: js.txt

Screenshot label parameters:
  -l, --label           <LABEL> (optional): for each screenshot, create another one displaying inside the target URL (requires
                        imagemagick)
  --label-size LABEL_SIZE
                        <LABEL_SIZE> (optional): font size for the label (default 60)
  --label-bg-color LABEL_BG_COLOR
                        <LABEL_BACKGROUND_COLOR> (optional): label imagemagick background color (default NavajoWhite)
  --imagemagick-binary IMAGEMAGICK_BINARY
                        <LABEL_BINARY> (optional): path to the imagemagick binary (magick or convert) if it cannot be found in $PATH

HTTP parameters:
  -c, --cookie COOKIE   <COOKIE_STRING> (optional): cookie string to add. Ex: -c "JSESSIONID=1234; YOLO=SWAG"
  -a, --header HEADER   <HEADER> (optional): custom or additional header. Repeat this option for every header. Ex: -a "Host:
                        localhost" -a "Foo: bar"
  -u, --http-username HTTP_USERNAME
                        <HTTP_USERNAME> (optional): specify a username for HTTP Basic Authentication.
  -b, --http-password HTTP_PASSWORD
                        <HTTP_PASSWORD> (optional): specify a password for HTTP Basic Authentication.
Télécharger l’outil