需要本机具备 Chrome Headless 环境才能截图;Web 结果查看器仅在把数据写入 SQLite 后可用;Windows 支持只是基本可用,可能存在问题。
gowitness
sensepostGPL-3.0活跃维护用 Go 写的网页截图工具,调用无头 Chrome 批量抓取网站页面截图,并生成报告,方便做资产测绘和技术指纹识别。
🔍 gowitness - a golang, web screenshot utility using Chrome Headless
go install github.com/sensepost/gowitness@latest
gowitness scan single --url "https://sensepost.com" --write-dbREADME 未说明具体硬件要求;依赖 Chrome Headless,支持 Linux 与 macOS,Windows 基本可用。
用 Go 写的网站截图工具,基于 Chrome Headless 批量抓取网页界面并保存结果
用 Go 写的网页截图工具,调用无头 Chrome 批量抓取网站页面截图,并生成报告,方便做资产测绘和技术指纹识别。
核心能力
- 用 Chrome Headless 快速准确地截取网站界面
- 支持扫描 URL 列表、CIDR、Nmap 与 Nessus 结果
- 可抓取并保存请求日志、控制台日志、响应头与 Cookie
- 结果可写入 SQLite、JSONLines、CSV 等多种格式
- 提供基于 SQLite 的 Web 结果查看器与完整 API
容易踩的坑
- 3.2.2最新正式版2026-10-11 · 2026-10-11 05:11 UTC
fixes
- bump wappalyzergo, which includes a long standing regex related performance issue via https://github.com/sensepost/gowitness/commit/07c0cb4fd49d7f53a72aff1c80310d5c17ec2e17
Full Changelog: https://github.com/sensepost/gowitness/compare/3.2.1...3.2.2
23b137030c0b9a0160604656d0682ab0621253fa gowitness-3.2.2-darwin-amd64 91d00a7d8cb715d9a14025db54ec268746f88d7f gowitness-3.2.2-darwin-arm64 639ae67aee8010b2224a63e75a600196a2175ff9 gowitness-3.2.2-linux-amd64 a5282257bf34313b54f6ba653c9baf9a405676da gowitness-3.2.2-linux-arm 97768fa8660bc0f4d0affe4e4e036db46832ff41 gowitness-3.2.2-linux-arm64 4a6a4007a39b226187bed0c1a1832f763b5c5708 gowitness-3.2.2-windows-amd64.exe 769720804cf903cfff28927855c4abd9609f7d51 gowitness-3.2.2-windows-arm64.exe - 3.2.12026-10-10 · 2026-10-10 12:25 UTC
查看更新说明
new
- docker images now also have arm64 targets via https://github.com/sensepost/gowitness/commit/91b5a3979f533850d5bc40c4cd0fc37ad4d1b0b2, https://github.com/sensepost/gowitness/commit/6ecbe8ee044680ac378d7b55e7fff4084750ee7c
fixed
- fix dashboard not loading with an empty database via https://github.com/sensepost/gowitness/commit/f231a6c8a5d488bf818b6ee5c2d63ebb6a38ff71
other
- bump dependencies via https://github.com/sensepost/gowitness/commit/21e7a1bc5a7f89963b0f686a8df844772bbc51ca
- Bump source-map-js from 1.2.1 to 1.2.2 in /web/ui by @dependabot[bot] in https://github.com/sensepost/gowitness/pull/329
Full Changelog: https://github.com/sensepost/gowitness/compare/3.2.0...3.2.1
e50d3613760e463a3e95b84331fb6dba1cd083e8 gowitness-3.2.1-darwin-amd64 e9f0cbd3d29d0e9b3a3e147ef28e5622eb8b1c45 gowitness-3.2.1-darwin-arm64 4eb01b58004afa092a52f66b0beea9c95165f6e2 gowitness-3.2.1-linux-amd64 e1242ac18b0f43c0788d1023ac2d4ac5721eb26f gowitness-3.2.1-linux-arm 64a3f16d7a63420a61b03816c9f725eeeb1dd6b3 gowitness-3.2.1-linux-arm64 db93a50351243f8065b2208b7d84bf655a8248f4 gowitness-3.2.1-windows-amd64.exe ee031a4714a21dbead841fdb3a74fc581ee368ce gowitness-3.2.1-windows-arm64.exe - 3.2.02026-09-14 · 2026-09-14 15:03 UTC
查看更新说明
A minor release, but who doesn't want free features and some dependency maintenance!
new
- Add
--chrome-user-data-dirto set an existing Chrome User Directory to use. Useful when you want to pickup existing authenticated context, or have other session reuse needs acrossgowitnesssessions. By @ChrisJr404, via https://github.com/sensepost/gowitness/commit/a11f5a4eecfb9e0629d3c7149b453c429c59b6d2. - Add
--no-log-colorglobal flag, via https://github.com/sensepost/gowitness/commit/37426fb7632c67431c63789784133f0b808e649c
fixed
- Finally, actually fix screenshot filename truncation bu @sw-mwieland, via https://github.com/sensepost/gowitness/commit/8cce510e97621171b255d5b4594d978014aa9136.
other
- Small performance improvement, along with better cookie isolation, via https://github.com/sensepost/gowitness/commit/63d6b3ee1273499742b2cf98db8015899c742d29
- Improve go-rod Chrome discovery, via https://github.com/sensepost/gowitness/commit/55c855cc71a1050ec70b54ba0376d904bda66235
- Use maintained chrome-headless docker image as base, via https://github.com/sensepost/gowitness/commit/4f562901bc2327b8e206fcd68a2767bd79a4634f
Various dependency bumps spanning Golang, Typescript and CI.
New Contributors
- @ChrisJr404 made their first contribution in https://github.com/sensepost/gowitness/pull/316
- @sw-mwieland made their first contribution in https://github.com/sensepost/gowitness/pull/319
Full Changelog: https://github.com/sensepost/gowitness/compare/3.1.1...3.2.0
28ed13fdf393dc0cfdebbf1a4334e1a1a92311e3 gowitness-3.2.0-darwin-amd64 f1980f1f1e5086c8a28d8daa81e126140633769e gowitness-3.2.0-darwin-arm64 5135bf02a3fd1311dd85e80947c4dbdc3897725b gowitness-3.2.0-linux-amd64 fd58268fda36b7700059c3f7c6ea2fd4161dad6c gowitness-3.2.0-linux-arm 0a37727a683bc6aa90e724b129ba5aa0d65408b7 gowitness-3.2.0-linux-arm64 c7b972ac7707b37b0e6aed06440455a182396817 gowitness-3.2.0-windows-amd64.exe 8ef729c1c086ce078fff397f8dcc412d7d3ebb59 gowitness-3.2.0-windows-arm64.exe - Add
- 3.1.12025-11-24 · 2025-11-24 07:20 UTC
查看更新说明
This release bumps dependencies.
Full Changelog: https://github.com/sensepost/gowitness/compare/3.1.0...3.1.1
b1aee5179d9fc6b47d45975614390a6378fcd445 gowitness-3.1.1-darwin-amd64 b7a7941d6ca3416c539d28c640002a171cded74d gowitness-3.1.1-darwin-arm64 68bca89a28049e384ab210745d8a4cdc5ed3ffaa gowitness-3.1.1-linux-amd64 aa7741a6d9bab7537df27534ec70815b0eb38a44 gowitness-3.1.1-linux-arm b690b5791f8231efde1285eeb346b7b8c5586eac gowitness-3.1.1-linux-arm64 ab10dc8fc1d94c51a506c80dd3a6cd23d80c72a9 gowitness-3.1.1-windows-amd64.exe f4cafe812c6fbf1b490f3e4f319755a9e4961893 gowitness-3.1.1-windows-arm64.exe - 3.1.02025-11-17 · 2025-11-17 19:28 UTC
查看更新说明
A new release, this time focussing on performance and various bug fixes! Thanks to all of the contributors! Enjoy! 🎉
New
- Refactor the
chromedpdriver, focussing on performance. The new implementation spawns a single browser instance with multiple tabs instead of a full browser for each target, via https://github.com/sensepost/gowitness/commit/ecf40e491637280b2a8146533281952fbe8bba72 - Improve performance of perception hash calculations, primarily avoiding excessive allocations, via https://github.com/sensepost/gowitness/commit/a76c3504cbdce507b9cdf624e733988f21685aa4
- Also enable error logs when the debug flag is enabled, via https://github.com/sensepost/gowitness/commit/cd39cbe7e3eead137d19d1ac7f499d91c9a1e914
- Add a new
--skip-network-logsflag to skip recording network logs in writers, via https://github.com/sensepost/gowitness/commit/80ff437ebaf470261a444b625c6ca6c29b9573cf - Restore the
--screenshot-filteroption by @helviojunior in https://github.com/sensepost/gowitness/pull/266 - Add IPv6 parsing logic for Nessus reader @GOAT-FARM3R in https://github.com/sensepost/gowitness/pull/293
- Add keyboard shortcuts to next/prev in gallery view by @laluka in https://github.com/sensepost/gowitness/pull/296
Fixed
- Handle JavaScript popups better in the
chromedpdriver, via https://github.com/sensepost/gowitness/commit/ebf154e1d672809837aa50bc9c8f4373f0dee428 - Improve custom header parsing logic, via https://github.com/sensepost/gowitness/commit/ddbaf90c9a0f332b7a576e02a0ce59afebb6a201
- Ignore error if the build directory doesn't exist yet by @viaccoz in https://github.com/sensepost/gowitness/pull/273
- Solved Issue for Query Parameters When Reading URLs from File by @noob6t5 in https://github.com/sensepost/gowitness/pull/284
- MySQL/PSQL Updates for Compatibility by @knavesec in https://github.com/sensepost/gowitness/pull/288
- Fix "error enabling network tracking: context deadline exceeded" error message by @Elymaro in https://github.com/sensepost/gowitness/pull/292
- Fix typo in error message for Chrome installation by @compass-dexter in https://github.com/sensepost/gowitness/pull/297
Other
- Dump both Go and Javascript dependencies, numerous times (which results in a fresh UI bundle).
New Contributors
- @viaccoz made their first contribution in https://github.com/sensepost/gowitness/pull/273
- @helviojunior made their first contribution in https://github.com/sensepost/gowitness/pull/266
- @noob6t5 made their first contribution in https://github.com/sensepost/gowitness/pull/284
- @knavesec made their first contribution in https://github.com/sensepost/gowitness/pull/288
- @Elymaro made their first contribution in https://github.com/sensepost/gowitness/pull/292
- @GOAT-FARM3R made their first contribution in https://github.com/sensepost/gowitness/pull/293
- @laluka made their first contribution in https://github.com/sensepost/gowitness/pull/296
- @compass-dexter made their first contribution in https://github.com/sensepost/gowitness/pull/297
Full Changelog: https://github.com/sensepost/gowitness/compare/3.0.5...3.1.0
- Refactor the
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
introduction
gowitness is a website screenshot utility written in Golang, that uses Chrome Headless to generate screenshots of web interfaces using the command line, with a handy report viewer to process results. Both Linux and macOS is supported, with Windows support mostly working.
features
The main goal of gowitness is to take website screenshots (and do that well!), while optionally saving any information it gathered along the way. That said, a short list of features include:
- Take website screenshots, obviously..., but fast and accurate!
- Scan a list of URLs, CIDRs, Nmap Results, Nessus Results and more.
- Ability to grab and save data (i.e., a request log, console logs, headers, cookies, etc.)
- Write data to many formats (sqlite database, jsonlines, csv, etc.)
- An epic web-based results viewer (if you saved data to SQLite) including a fully featured API!
- And many, many more!
quick start
There are a few ways to get gowitness, the simplest (assuming your $GOBIN path is in your shell $PATH) will be to use go install:
go install github.com/sensepost/gowitness@latest
Otherwise, grab a platform specific release binary or compile from source. Then, scan your first target writing the results to a SQLite database and the screenshot to ./screenshots with:
gowitness scan single --url "https://sensepost.com" --write-db
There are many, many flags and scan types in gowitness. Just add -h anywhere and read all about it!
documentation
For advanced installation information and other documentation, please refer to the wiki here.
screenshots



credits
gowitness would not have been possible without some of these amazing projects: chi, chromedp, go-rod, cobra, gorm, glamour, go-nmap, wappalyzergo, goimagehash.
license
gowitness is licensed under a GNU General Public v3 License. Permissions beyond the scope of this license may be available at http://sensepost.com/contact/.