loading
loading
Discovery
A gowitness variant that screenshots web services found in an nmap XML scan.
overview
gowitness-nmap takes the XML output of an nmap scan and screenshots the web services in it. Rather than building a URL list by hand, you point it at a port scan with -f, and it walks the results, picks the http and https services, and captures each interface with headless Chrome.
The nmap-aware filters decide what gets rendered: --open keeps only open ports, --port narrows to specific port numbers, and --service or --service-contains match on the service name nmap detected. The gowitness render controls still apply, so you can set the thread count with -t, a preflight --timeout, --fullpage capture, screenshot resolution, a custom --user-agent, and a --proxy.
Reach for it right after a port-scan stage, when you want scan findings turned into a visual gallery instead of a table of open ports. Web apps on odd ports get captured alongside the usual 80 and 443, which makes it good for spotting login pages, default panels, and forgotten admin consoles.
use cases
Feed gowitness-nmap an nmap XML file so every web service the scan found gets captured with headless Chrome in a single pass.
Filter by open status, port number, or detected service name so the run captures http and https interfaces and skips everything else.
Because input comes from nmap, web services on non-standard ports get screenshotted alongside the usual 80 and 443.
Review the gallery to spot login pages, default panels, and exposed consoles among the services a port scan surfaced.
reference
| Name | Type | Flag | Description |
|---|---|---|---|
| input-file | FILE | -f | nmap XML file to read discovered services from. |
| open | BOOLEAN | --open | Only select open ports. |
| port | STRING | --port | Filter services by port number. |
| service | STRING | --service | Filter by the service name nmap mapped. |
| service-contains | STRING | --service-contains | Partial service-name filter (contains match). |
| threads | STRING | -t | Threads used to run (default 4). |
| fullpage | BOOLEAN | --fullpage | Take full-page screenshots. |
| proxy | STRING | --proxy | HTTP or SOCKS5 proxy to route requests through. |
Showing key inputs. gowitness-nmap exposes 19 inputs in total.
| Name | Type | Flag | Description |
|---|---|---|---|
| input-file | FILE | -f | nmap XML file to read discovered services from. |
| open | BOOLEAN | --open | Only select open ports. |
| port | STRING | --port | Filter services by port number. |
| service | STRING | --service | Map service-name filter, matching the service nmap detected. |
| service-contains | STRING | --service-contains | Partial service-name filter (contains match). |
| threads | STRING | -t | Threads used to run (default 4). |
| timeout | STRING | --timeout | Preflight check timeout in seconds (default 10). |
| delay | STRING | --delay | Delay in seconds between navigation and screenshot. |
| fullpage | BOOLEAN | --fullpage | Take full-page screenshots. |
| BOOLEAN | Save screenshots as PDF. | ||
| proxy | STRING | --proxy | HTTP or SOCKS5 proxy to use, in proto://address:port format. |
| header | STRING | --header | Additional HTTP header to set on each request. |
| user-agent | STRING | --user-agent | User-agent string to send (defaults to a desktop Chrome UA). |
| x-resolution | STRING | -X | Screenshot resolution width (default 1440). |
| y-resolution | STRING | -Y | Screenshot resolution height (default 900). |
| no-http | BOOLEAN | --no-http | Do not prefix http:// where the scheme is missing. |
| no-https | BOOLEAN | --no-https | Do not prefix https:// where the scheme is missing. |
| debug | BOOLEAN | --debug | Enable debug logging. |
| disable-logging | BOOLEAN | --disable-logging | Disable all logging. |
example
# screenshot open web services from an nmap XML scangowitness nmap -f scan.xml --open --service http --fullpage -t 8INFO[0000] Reading Nmap XML file file=scan.xmlINFO[0000] Found 5 web service(s) to screenshotINFO[0001] screenshotting url=http://198.51.100.10:80INFO[0002] screenshotting url=https://198.51.100.10:443INFO[0003] screenshotting url=http://198.51.100.23:8080INFO[0004] screenshotting url=https://203.0.113.45:8443INFO[0006] screenshotting url=http://example.com:80INFO[0007] Complete screenshots=5 folder=./screenshotsguidance
Use gowitness-nmap to screenshot web services straight from an nmap XML scan, with port and service filtering. Run it after a port scan. For a plain URL list, use gowitness; for SQLite database output, use gowitness-db.
Screenshots a plain URL list. gowitness-nmap reads nmap XML and filters by port and service.
Screenshots a URL list into a SQLite database. A different output mode of the same engine.
Can consume nmap XML and build an HTML screenshot report. A sibling for visual triage of scan output.
faq
related
Check whether a URL redirects to a masked 404 page.
Append lines to a file only if they are not already there.
Extract URLs and endpoints from Android APK files.
Visual inspection of websites across a large number of hosts.
Find suspicious files across a large set of AWS S3 buckets.
An automated tool that checks for backup artifacts that may disclose a web application's source code.
An nmap XML file feeds gowitness-nmap, which screenshots the discovered web services and writes the captures as a queryable output.
Facts on this page come from the live Trickest tool library.