Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

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

工具目录

分类

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

webscreenshot

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

查看仓库
692168911个月前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/ 目录下。 支持的输入格式如下:

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

选项

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 秒)

示例

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

各渲染器支持的选项

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

下载工具