Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
webscreenshot — 一个简单的脚本,用于对一系列网站进行截图。 | Kitploit
工具/GitHubGitHub/maaaaz/webscreenshot
侦察信息收集Web安全
GitHubmaaaaz/webscreenshot

webscreenshot

一个简单的脚本,用于对一系列网站进行截图。

查看仓库
69216810个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

webscreenshot

描述

一个基于 url-to-image PhantomJS 脚本的简单工具,用于对网站列表进行截图。

功能

  • 集成 url-to-image 的 '懒加载渲染' 以处理 AJAX 资源
  • 在 Windows 和 Linux 系统上完全可用
  • 支持为 PhantomJS 渲染器定义 Cookie 和自定义 HTTP 头
  • 多进程处理,并在用户可定义的超时后终止无响应的进程
  • 支持多种格式作为输入目标
  • 自定义截图大小(宽度、高度)、格式和质量
  • 映射 PhantomJS 的有用选项,如忽略 SSL 错误、代理定义和代理认证、HTTP 基本认证
  • 支持多种渲染器:
    • PhantomJS:已过时且已废弃,但仍是产生最佳结果的渲染器
    • Chromium、Chrome 和 Edge Chromium:将取代 PhantomJS,但目前存在一些限制:例如,对没有有效证书的 HTTPS 网站(如自签名证书)进行截图会产生空白截图。 原因是 --ignore-certificate-errors 选项不起作用,而且将来也不起作用:解决方法是使用合适的 webdriver,但到目前为止,webscreenshot 不打算支持这种需要第三方工具的 相当复杂 的方法。
    • Firefox 也可作为渲染器使用,但存在一些严重限制(因此暂时不要使用它):
      • 无法同时执行多个截图:不支持 Firefox 进程的多实例
      • 无无痕模式,使用 webscreenshot 会污染你的浏览历史
  • 在图像中嵌入截图 URL(需要 ImageMagick)

用法

将目标放入文本文件,并使用 -i 选项传递,如果只有一个 URL,也可以作为位置参数传递。 截图默认保存在当前目录的 ./screenshots/ 目录下。 支持的输入格式如下:

root@kitploit:~
http(s)://domain_or_ip:port(/resource)
domain_or_ip:port(/resource)
domain_or_ip(/resource)

选项

root@kitploit:~
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            显示此帮助信息并退出

主要参数:
  URL                   作为位置参数的单个目标 URL
  -i, --input-file INPUT_FILE
                        <INPUT_FILE> 包含目标列表的文本文件。例如:list.txt
  -o, --output-directory OUTPUT_DIRECTORY
                        <OUTPUT_DIRECTORY>(可选):截图输出目录(默认 './screenshots/')
  -w, --workers WORKERS
                        <WORKERS>(可选):并行执行的工作进程数(默认 4)
  -v, --verbosity       <VERBOSITY>(可选):详细程度级别,重复可增加级别 { -v INFO, -vv DEBUG }(默认详细程度 ERROR)
  --no-error-file       <NO_ERROR_FILE>(可选):不写入包含失败截图 URL 列表的文件(默认 false)
  -z, --single-output-file SINGLE_OUTPUT_FILE
                        <SINGLE_OUTPUT_FILE>(可选):所有输入合并输出的单个文件名称。例如:test.png

输入处理参数:
  -p, --port PORT       <PORT>(可选):为输入列表中的每个目标使用指定端口。例如:-p 80
  -s, --ssl             <SSL>(可选):强制每个连接使用 SSL/TLS
  -m, --multiprotocol   <MULTIPROTOCOL>(可选):对每个目标同时进行 HTTP 和 HTTPS 截图

截图渲染器参数:
  -r, --renderer {phantomjs,chrome,chromium,edge,firefox}
                        <RENDERER>(可选):使用的渲染器,可选 'phantomjs'(已过时但效果最佳)、'chrome'、'chromium'、'edge'、'firefox'(版本 > 57)(默认 'phantomjs')
  --renderer-binary RENDERER_BINARY
                        <RENDERER_BINARY>(可选):如果无法在 $PATH 中找到渲染器可执行文件,则指定其路径
  --no-xserver          <NO_X_SERVER>(可选):如果在没有 X 服务器的情况下运行,将使用 xvfb-run 执行渲染器(默认情况下,尝试检测 DISPLAY 环境变量是否存在)

截图图像参数:
  --window-size WINDOW_SIZE
                        <WINDOW_SIZE>(可选):屏幕捕获的宽度和高度(默认 '1200,800')
  -f, --format {pdf,png,jpg,jpeg,bmp,ppm}
                        <FORMAT>(可选,仅 phantomjs):指定输出图像文件格式,"pdf"、"png"、"jpg"、"jpeg"、"bmp" 或 "ppm"(默认 'png')
  -q, --quality [0-100]
                        <QUALITY>(可选,仅 phantomjs):指定输出图像质量,0 到 100 之间的整数(默认 75)
  --ajax-max-timeouts AJAX_MAX_TIMEOUTS
                        <AJAX_MAX_TIMEOUTS>(可选,仅 phantomjs):每个 AJAX 请求以及最大 URL 超时时间,单位为毫秒(默认 '1400,1800')
  --crop CROP           <CROP>(可选,仅 phantomjs):用于裁剪屏幕捕获的矩形 <t,l,w,h>(默认与 WINDOW_SIZE 相同:'0,0,w,h'),仅数字,w(idth) 和 h(eight)。例如:"10,20,w,h"
  --custom-js CUSTOM_JS
                        <CUSTOM_JS>(可选,仅 phantomjs):包含在截图前执行的 JavaScript 代码的文件路径。例如:js.txt

截图标签参数:
  -l, --label           <LABEL>(可选):为每个截图生成一个包含目标 URL 的额外截图(需要 ImageMagick)
  --label-size LABEL_SIZE
                        <LABEL_SIZE>(可选):标签的字体大小(默认 60)
  --label-bg-color LABEL_BG_COLOR
                        <LABEL_BACKGROUND_COLOR>(可选):标签的 ImageMagick 背景颜色(默认 NavajoWhite)
  --imagemagick-binary IMAGEMAGICK_BINARY
                        <LABEL_BINARY>(可选):如果无法在 $PATH 中找到 ImageMagick 二进制文件(magick 或 convert),则指定其路径

HTTP 参数:
  -c, --cookie COOKIE   <COOKIE_STRING>(可选):添加的 Cookie 字符串。例如:-c "JSESSIONID=1234; YOLO=SWAG"
  -a, --header HEADER   <HEADER>(可选):自定义或额外的 HTTP 头。每个头重复此选项。例如:-a "Host: localhost" -a "Foo: bar"
  -u, --http-username HTTP_USERNAME
                        <HTTP_USERNAME>(可选):指定 HTTP 基本认证的用户名。
  -b, --http-password HTTP_PASSWORD
                        <HTTP_PASSWORD>(可选):指定 HTTP 基本认证的密码。

连接参数:
  -P, --proxy PROXY     <PROXY>(可选):指定代理。例如:-P http://proxy.company.com:8080
  -A, --proxy-auth PROXY_AUTH
                        <PROXY_AUTH>(可选):提供代理认证信息。例如:-A user:password
  -T, --proxy-type PROXY_TYPE
                        <PROXY_TYPE>(可选):指定代理类型,"http"(默认)、"none"(完全禁用)或 "socks5"。例如:-T socks
  -t, --timeout TIMEOUT
                        <TIMEOUT>(可选):渲染器执行超时时间,单位为秒(默认 30 秒)

示例

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


使用列表执行(默认)
-----------------------------
$ python webscreenshot.py -i list.txt
webscreenshot.py version 2.3

[+] 4 URLs to be screenshot
[+] 4 actual URLs screenshot
[+] 0 error(s)


使用单个 URL 执行(默认)
-----------------------------------
$ python webscreenshot.py -v google.fr
webscreenshot.py version 2.3

[INFO][General] 'google.fr' has been formatted as 'http://google.fr:80' with supplied overriding options
[+] 1 URLs to be screenshot
[INFO][http://google.fr:80] Screenshot OK

[+] 1 actual URLs screenshot
[+] 0 error(s)


提高详细程度执行
-----------------------------------
$ python webscreenshot.py -i list.txt -v
webscreenshot.py version 2.3

[INFO][General] 'http://google.fr' has been formatted as 'http://google.fr:80' with supplied overriding options
[INFO][General] 'https://216.58.213.131' has been formatted as 'https://216.58.213.131:443' with supplied overriding options
[INFO][General] '216.58.213.131' has been formatted as 'http://216.58.213.131:80' with supplied overriding options
[INFO][General] 'https://duckduckgo.com/robots.txt' has been formatted as 'https://duckduckgo.com:443/robots.txt' with supplied overriding options
[+] 4 URLs to be screenshot
[INFO][https://duckduckgo.com:443/robots.txt] Screenshot OK

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

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

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

[+] 4 actual URLs screenshot
[+] 0 error(s)


结果
-------
$ 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

各渲染器支持的选项

未在下面列出的选项在所有当前渲染器上均受支持

要求

  • Python 解释器,版本 2.7 或 3.X
  • webscreenshot Python 脚本:
    • 最简单的安装方式:pip install webscreenshot,然后直接使用 $ webscreenshot
    • 或者 git clone 该仓库,然后 pip install -r requirements.txt,然后 python webscreenshot.py
  • PhantomJS 工具,至少版本 2:请遵循安装指南,如有必要请查看常见问题
  • 如果想使用 Chrome、Chromium 或 Firefox > 57 作为渲染器,则需要安装它们
  • 如果要在无头操作系统中运行 webscreenshot,则需要 xvfb:使用 --no-xserver 选项可以简化操作
  • 如果希望使用 --label 选项在截图中嵌入 URL,需要 ImageMagick 二进制文件(magick 或 convert):请遵循安装指南

更新日志

  • 版本 2.96/2.97 - 10/19/2025:放弃 Python v2
  • 版本 2.95 - 10/18/2025:修复 phantomjs 在找不到 OpenSSL 配置时的 bug
  • 版本 2.94 - 08/23/2020:添加 custom-js 和单一输出文件选项
  • 版本 2.93 - 08/16/2020:添加 Python 3.8 和 Microsoft Edge Chromium 支持;添加失败截图的文件输出;长 URL 的文件名长度限制
  • 版本 2.92 - 06/21/2020:no_xserver 选项自动检测
  • 版本 2.91 - 05/08/2020:多协议模式修复
  • 版本 2.9 - 01/26/2020:少量修复
  • 版本 2.8 - 01/11/2020:少量修复,添加 ajax 超时 + crop + 标签大小 + 标签字体选项,更改 ajaxTimeout 和 maxTimeout 的默认值
  • 版本 2.7 - 01/04/2020:添加在截图中嵌入 URL 的选项
  • 版本 2.6 - 12/27/2019:少量修复
  • 版本 2.5 - 09/22/2019:添加图像质量和格式选项,更新 PhantomJS 用户代理,支持现代顶级域名
  • 版本 2.4 - 05/30/2019:少量针对 Windows 支持的修复
  • 版本 2.3 - 05/19/2019:Python 3 兼容性,添加 Firefox 渲染器,添加 no-xserver 选项
  • 版本 2.2 - 08/13/2018:支持 Chrome 和 Chromium 渲染器,支持单个 URL
  • 版本 2.1 - 01/14/2018:添加多协议选项,PyPI 打包
  • 版本 2.0 - 03/08/2017:添加代理类型选项
  • 版本 1.9 - 01/10/2017:使用所有 SSL/TLS 密码套件
  • 版本 1.8 - 07/05/2015:定义选项组
  • 版本 1.7 - 06/28/2015:添加 HTTP 基本认证支持,将 loglevel 选项改为 verbosity
  • 版本 1.6 - 04/23/2015:修复透明背景
  • 版本 1.5 - 01/11/2015:添加 Cookie 和自定义 HTTP 头支持
  • 版本 1.4 - 10/12/2014:集成 url-to-image PhantomJS 脚本,修复少量 bug
  • 版本 1.3 - 08/05/2014:支持 Windows,修复少量 bug
  • 版本 1.2 - 04/27/2014:修复少量 bug
  • 版本 1.1 - 04/21/2014:改用 PhantomJS 替换有 bug 的 wkhtml 二进制文件
  • 版本 1.0 - 01/12/2014:初始提交

版权和许可

webscreenshot 是自由软件:你可以根据自由软件基金会发布的 GNU 通用公共许可证(许可证版本 3 或(根据你的选择)任何更高版本)的条款重新分发和/或修改它。

webscreenshot 的分发是希望它有用,但没有任何担保;甚至没有适销性或针对特定用途的暗示担保。

更多详细信息请参阅 GNU 通用公共许可证。

你应该已经随 webscreenshot 收到了一份 GNU 通用公共许可证的副本。 如果没有,请访问 http://www.gnu.org/licenses/。

联系方式

  • Thomas Debize < tdebize at mail d0t com >
下载工具
选项类别选项PhantomJS 渲染器Chromium / Chrome / Edge Chromium 渲染器Firefox 渲染器
截图参数
format (-f)是否否
quality (-q)是否否
ajax 和请求超时 (--ajax-max-timeouts)是否否
crop (--crop)是否否
自定义 JavaScript (--custom-js)是否否
HTTP 参数
cookie (-c)是否否
header (-a)是否否
http_username (-u)是否否
http_password (-b)是否否
连接参数
proxy (-P)是是否
proxy_auth (-A)是否否
proxy_type (-T)是是否
能够截取使用非公开签名证书的 HTTPS 网站截图是否否
  • 报告问题前请先查看常见问题