Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
webscreenshot — Um script simples para capturar a tela de uma lista de sites. | Kitploit
Ferramentas/GitHubGitHub/maaaaz/webscreenshot
ReconhecimentoColeta de InformaçõesSegurança Web
GitHubmaaaaz/webscreenshot

webscreenshot

Um script simples para capturar a tela de uma lista de sites.

Ver Repositório
692168há 10 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

webscreenshot

Descrição

Um script simples para capturar tela de uma lista de sites, baseado no script url-to-image do PhantomJS.

Funcionalidades

  • Integração do 'lazy-rendering' do url-to-image para recursos AJAX
  • Totalmente funcional em sistemas Windows e Linux
  • Suporte a definição de cookies e cabeçalhos HTTP personalizados para o renderizador PhantomJS
  • Multiprocessamento e eliminação de processos que não respondem após um timeout definível pelo usuário
  • Aceita vários formatos como entrada de destino
  • Personalização do tamanho da captura (largura, altura), formato e qualidade
  • Mapeamento de opções úteis do PhantomJS, como ignorar erros SSL, definição de proxy e autenticação de proxy, Autenticação Básica HTTP
  • Suporta múltiplos renderizadores:
    • PhantomJS, que é legado e abandonado, mas ainda produz os melhores resultados
    • Chromium, Chrome e Edge Chromium, que substituirão o PhantomJS, mas atualmente têm algumas limitações: capturar um site HTTPS sem um certificado válido, por exemplo um autoassinado, produzirá uma captura vazia.
      A razão é que a opção --ignore-certificate-errors não funciona e nunca mais funcionará: a solução é usar um webdriver adequado, mas até o momento o webscreenshot não pretende suportar este método bastante complexo que requer algumas ferramentas de terceiros.
    • Firefox também pode ser usado como renderizador, mas tem algumas limitações sérias (então não o use por enquanto):
      • Impossibilidade de realizar múltiplas capturas ao mesmo tempo: sem multi-instância do processo firefox
      • Sem modo anônimo, usar o webscreenshot poluirá seu histórico de navegação
  • Incorporação da URL da captura na imagem (requer ImageMagick)

Uso

Coloque seus alvos em um arquivo de texto e passe-o com a opção -i, ou como um argumento posicional se você tiver apenas uma única URL.
As capturas estarão disponíveis, por padrão, no seu diretório ./screenshots/ atual.
Os formatos de entrada aceitos são os seguintes:

root@kitploit:~
http(s)://dominio_ou_ip:porta(/recurso)
dominio_ou_ip:porta(/recurso)
dominio_ou_ip(/recurso)

Opções

root@kitploit:~
webscreenshot.py versão 2.96

uso: 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]

opções:
  -h, --help            mostra esta mensagem de ajuda e sai

Parâmetros principais:
  URL                   Único URL alvo dado como argumento posicional
  -i, --input-file INPUT_FILE
                        <INPUT_FILE> arquivo de texto contendo a lista de alvos. Ex: list.txt
  -o, --output-directory OUTPUT_DIRECTORY
                        <OUTPUT_DIRECTORY> (opcional): diretório de saída das capturas (padrão './screenshots/')
  -w, --workers WORKERS
                        <WORKERS> (opcional): número de workers de execução paralela (padrão 4)
  -v, --verbosity       <VERBOSITY> (opcional): nível de verbosidade, repita para aumentar o nível { -v INFO, -vv DEBUG } (verbosidade
                        padrão ERROR)
  --no-error-file       <NO_ERROR_FILE> (opcional): não escrever um arquivo com a lista de URLs de capturas com falha (padrão false)
  -z, --single-output-file SINGLE_OUTPUT_FILE
                        <SINGLE_OUTPUT_FILE> (opcional): nome de um arquivo que será a única saída de todas as entradas. Ex. test.png

Parâmetros de processamento de entrada:
  -p, --port PORT       <PORT> (opcional): usar a porta especificada para cada alvo na lista de entrada. Ex: -p 80
  -s, --ssl             <SSL> (opcional): forçar SSL/TLS para toda conexão
  -m, --multiprotocol   <MULTIPROTOCOL> (opcional): realizar capturas sobre HTTP e HTTPS para cada alvo

Parâmetros do renderizador de captura:
  -r, --renderer {phantomjs,chrome,chromium,edge,firefox}
                        <RENDERER> (opcional): renderizador a usar entre 'phantomjs' (legado, mas melhores resultados), 'chrome', 'chromium',
                        'edge', 'firefox' (versão > 57) (padrão 'phantomjs')
  --renderer-binary RENDERER_BINARY
                        <RENDERER_BINARY> (opcional): caminho para o executável do renderizador se ele não for encontrado no $PATH
  --no-xserver          <NO_X_SERVER> (opcional): se você estiver executando sem um servidor X, usará xvfb-run para executar o renderizador
                        (por padrão, tenta detectar se a variável de ambiente DISPLAY existe)

Parâmetros da imagem de captura:
  --window-size WINDOW_SIZE
                        <WINDOW_SIZE> (opcional): largura e altura da captura de tela (padrão '1200,800')
  -f, --format {pdf,png,jpg,jpeg,bmp,ppm}
                        <FORMAT> (opcional, apenas phantomjs): especificar um formato de arquivo de imagem de saída, "pdf", "png", "jpg", "jpeg", "bmp"
                        ou "ppm" (padrão 'png')
  -q, --quality [0-100]
                        <QUALITY> (opcional, apenas phantomjs): especificar a qualidade da imagem de saída, um inteiro entre 0 e 100 (padrão
                        75)
  --ajax-max-timeouts AJAX_MAX_TIMEOUTS
                        <AJAX_MAX_TIMEOUTS> (opcional, apenas phantomjs): por requisição AJAX, e timeout máximo de URL em milissegundos
                        (padrão '1400,1800')
  --crop CROP           <CROP> (opcional, apenas phantomjs): retângulo <t,l,w,h> para recortar a captura de tela (padrão WINDOW_SIZE:
                        '0,0,w,h'), apenas números, l(argura) e a(ltura). Ex. "10,20,w,h"
  --custom-js CUSTOM_JS
                        <CUSTOM_JS> (opcional, apenas phantomjs): caminho de um arquivo contendo código JavaScript a ser executado antes
                        de tirar a captura. Ex: js.txt

Parâmetros de rótulo da captura:
  -l, --label           <LABEL> (opcional): para cada captura, criar outra exibindo dentro a URL do alvo (requer
                        imagemagick)
  --label-size LABEL_SIZE
                        <LABEL_SIZE> (opcional): tamanho da fonte para o rótulo (padrão 60)
  --label-bg-color LABEL_BG_COLOR
                        <LABEL_BACKGROUND_COLOR> (opcional): cor de fundo do rótulo no imagemagick (padrão NavajoWhite)
  --imagemagick-binary IMAGEMAGICK_BINARY
                        <LABEL_BINARY> (opcional): caminho para o binário do imagemagick (magick ou convert) se ele não for encontrado no $PATH

Parâmetros HTTP:
  -c, --cookie COOKIE   <COOKIE_STRING> (opcional): string de cookie a adicionar. Ex: -c "JSESSIONID=1234; YOLO=SWAG"
  -a, --header HEADER   <HEADER> (opcional): cabeçalho personalizado ou adicional. Repita esta opção para cada cabeçalho. Ex: -a "Host:
                        localhost" -a "Foo: bar"
  -u, --http-username HTTP_USERNAME
                        <HTTP_USERNAME> (opcional): especificar um nome de usuário para Autenticação Básica HTTP.
  -b, --http-password HTTP_PASSWORD
                        <HTTP_PASSWORD> (opcional): especificar uma senha para Autenticação Básica HTTP.

Parâmetros de conexão:
  -P, --proxy PROXY     <PROXY> (opcional): especificar um proxy. Ex: -P http://proxy.company.com:8080
  -A, --proxy-auth PROXY_AUTH
                        <PROXY_AUTH> (opcional): fornece informações de autenticação para o proxy. Ex: -A user:password
  -T, --proxy-type PROXY_TYPE
                        <PROXY_TYPE> (opcional): especifica o tipo de proxy, "http" (padrão), "none" (desabilitar completamente), ou
                        "socks5". Ex: -T socks
  -t, --timeout TIMEOUT
                        <TIMEOUT> (opcional): timeout de execução do renderizador em segundos (padrão 30 seg)

Exemplos

root@kitploit:~
list.txt
--------
http://google.fr
https://216.58.213.131
216.58.213.131
https://duckduckgo.com/robots.txt


Execução padrão com uma lista
-----------------------------
$ python webscreenshot.py -i list.txt
webscreenshot.py versão 2.3

[+] 4 URLs a serem capturadas
[+] 4 URLs reais capturadas
[+] 0 erro(s)


Execução padrão com uma única URL
-----------------------------------
$ python webscreenshot.py -v google.fr
webscreenshot.py versão 2.3

[INFO][General] 'google.fr' foi formatado como 'http://google.fr:80' com as opções de substituição fornecidas
[+] 1 URLs a serem capturadas
[INFO][http://google.fr:80] Captura OK

[+] 1 URLs reais capturadas
[+] 0 erro(s)


Execução com nível de verbosidade aumentado
-----------------------------------
$ python webscreenshot.py -i list.txt -v
webscreenshot.py versão 2.3

[INFO][General] 'http://google.fr' foi formatado como 'http://google.fr:80' com as opções de substituição fornecidas
[INFO][General] 'https://216.58.213.131' foi formatado como 'https://216.58.213.131:443' com as opções de substituição fornecidas
[INFO][General] '216.58.213.131' foi formatado como 'http://216.58.213.131:80' com as opções de substituição fornecidas
[INFO][General] 'https://duckduckgo.com/robots.txt' foi formatado como 'https://duckduckgo.com:443/robots.txt' com as opções de substituição fornecidas
[+] 4 URLs a serem capturadas
[INFO][https://duckduckgo.com:443/robots.txt] Captura OK

[INFO][http://216.58.213.131:80] Captura OK

[INFO][https://216.58.213.131:443] Captura OK

[INFO][http://google.fr:80] Captura OK

[+] 4 URLs reais capturadas
[+] 0 erro(s)


Resultados
-------
$ ls -l screenshots/
total 187
-rwxrwxrwx 1 root root 53805 May 19 16:04 http_216.58.213.131_80.png
-rwxrwxrwx 1 root root 53805 May 19 16:05 http_google.fr_80.png
-rwxrwxrwx 1 root root 53805 May 19 16:04 https_216.58.213.131_443.png
-rwxrwxrwx 1 root root 27864 May 19 16:04 https_duckduckgo.com_443_robots.txt.png

Opções suportadas por renderizadores

Opções não listadas abaixo são suportadas por todos os renderizadores atuais

Requisitos

  • Um interpretador Python com versão 2.7 ou 3.X
  • O script python webscreenshot:
    • A maneira mais fácil de configurá-lo: pip install webscreenshot e depois usar diretamente $ webscreenshot
    • Ou clonar git desse repositório e pip install -r requirements.txt e depois python webscreenshot.py
  • A ferramenta PhantomJS com pelo menos a versão 2: siga o guia de instalação e verifique o FAQ se necessário
  • Chrome, Chromium ou Firefox > 57 se quiser usar um desses renderizadores
  • xvfb se quiser executar webscreenshot em um sistema operacional sem interface gráfica: use a opção --no-xserver do webscreenshot para facilitar tudo
  • Binário ImageMagick (magick ou convert) se quiser incorporar URL nas capturas com a opção --label: siga o

Changelog

  • versão 2.96/2.97 - 19/10/2025: Removendo suporte ao Python v2
  • versão 2.95 - 18/10/2025: Corrigindo bug do phantomjs ao não encontrar configuração OpenSSL
  • versão 2.94 - 23/08/2020: Adicionadas opções custom-js e arquivo de saída único
  • versão 2.93 - 16/08/2020: Adicionado suporte ao Python 3.8 e Microsoft Edge Chromium; saída de arquivo para capturas com falha; limitação de comprimento do nome do arquivo para URL longa
  • versão 2.92 - 21/06/2020: Autodetecção da opção no_xserver
  • versão 2.91 - 08/05/2020: Correção do modo multiprotocolo
  • versão 2.9 - 26/01/2020: Algumas correções
  • versão 2.8 - 11/01/2020: Algumas correções, opções ajax timeouts + crop + tamanho do rótulo + fonte do rótulo adicionadas, valores padrão para ajaxTimeout e maxTimeout alterados
  • versão 2.7 - 04/01/2020: Opção de incorporação de URL na captura adicionada
  • versão 2.6 - 27/12/2019: Algumas correções
  • versão 2.5 - 22/09/2019: Opções de qualidade e formato de imagem adicionadas, useragent do PhantomJS atualizado, suporte a TLD modernos
  • versão 2.4 - 30/05/2019: Algumas correções para suporte a Windows
  • versão 2.3 - 19/05/2019: Compatibilidade com Python 3, renderizador Firefox adicionado, opção no-xserver adicionada
  • versão 2.2 - 13/08/2018: Suporte aos renderizadores Chrome e Chromium e suporte a URL única
  • versão 2.1 - 14/01/2018: Adição da opção multiprotocolo e empacotamento PyPI
  • versão 2.0 - 08/03/2017: Adicionando opção proxy-type
  • versão 1.9 - 10/01/2017: Usando TODAS as cifras SSL/TLS
  • versão 1.8 - 05/07/2015: Definição de grupos de opções
  • versão 1.7 - 28/06/2015: Suporte a autenticação básica HTTP + opção loglevel alterada para verbosity
  • versão 1.6 - 23/04/2015: Correção de fundo transparente
  • versão 1.5 - 11/01/2015: Suporte a cookies e cabeçalhos HTTP personalizados
  • versão 1.4 - 12/10/2014: Integração do script PhantomJS url-to-image + algumas correções de bugs
  • versão 1.3 - 05/08/2014: Suporte a Windows + algumas correções de bugs
  • versão 1.2 - 27/04/2014: Algumas correções de bugs
  • versão 1.1 - 21/04/2014: Alterado o script para usar PhantomJS em vez do binário wkhtml problemático
  • versão 1.0 - 12/01/2014: Commit inicial

Copyright e licença

webscreenshot é um software livre: você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença Pública Geral GNU conforme publicada pela Free Software Foundation, seja a versão 3 da Licença, ou (a seu critério) qualquer versão posterior.

webscreenshot é distribuído na esperança de que seja útil, mas SEM NENHUMA GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM PROPÓSITO ESPECÍFICO.

Consulte a Licença Pública Geral GNU para mais detalhes.

Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com o webscreenshot. Se não, veja http://www.gnu.org/licenses/.

Contato

  • Thomas Debize < tdebize at mail d0t com >
Baixar ferramenta
Categoria da opçãoOpçãoRenderizador PhantomJSRenderizador Chromium / Chrome / Edge ChromiumRenderizador Firefox
Parâmetros de captura
format (-f)SimNãoNão
quality (-q)SimNãoNão
ajax e request timeouts (--ajax-max-timeouts)SimNãoNão
crop (--crop)SimNãoNão
JavaScript personalizado (--custom-js)SimNãoNão
Parâmetros HTTP
cookie (-c)SimNãoNão
header (-a)SimNãoNão
http_username (-u)SimNãoNão
http_password (-b)SimNãoNão
Parâmetros de conexão
proxy (-P)SimSimNão
proxy_auth (-A)SimNãoNão
proxy_type (-T)SimSimNão
Capacidade de capturar um site HTTPS com um certificado não assinado publicamenteSimNãoNão
guia de instalação
  • Verifique o FAQ antes de relatar problemas