Updated Jul 15, 2026

Recon

Summarize HTTP grabs for quick triage

Parsed zgrab2 HTTP output: title, status, content length.

Agent

overview

What zgrab2-http-simple does

Run the zgrab2 HTTP path and keep only title, status, and content length per host for a compact triage view.

Retain --port, --method, --endpoint, and --senders while skipping full header and body storage until a host is worth a deeper grab.

Switch to zgrab2-http for headers, body, and TLS detail. Use httpx when tech detection on a URL list matters more than a summary line.

source github.com/zmap/zgrab2

use cases

Where zgrab2-http-simple fits

Get a quick title-and-status view

Grab a large host list and read back just the page title, status code, and content length, so you can spot interesting services without parsing full responses.

Triage open ports cheaply

Feed open web ports from a scan into the simple grabber to summarize each one, then send only the promising hosts to a deeper tool.

Diff a surface over time

Re-run the parsed grab on a schedule and compare titles and status codes to catch new pages, redirects, or services that changed.

Probe a specific endpoint at scale

Set the endpoint and method to request a particular path across every host and read back its title, status, and size in one compact pass.

reference

zgrab2-http-simple inputs and flags

53 inputs
NameTypeFlagDescription
sctBOOLEAN--sctRequest Signed Certificate Timestamps during TLS Handshake
portSTRING--portSpecify port to grab on (default: 80)
timeSTRING--timeExplicit request time to use, instead of clock. YYYYMMDDhhmmss format.
debugBOOLEAN--debugInclude debug fields in the output.
flushBOOLEAN--flushFlush after each line of output.
methodSTRING--methodSet HTTP request method type (default: GET)
no-sniBOOLEAN--no-sniDo not send domain name in TLS Handshake regardless of whether known

Showing key inputs. zgrab2-http-simple exposes 53 inputs in total.

Full flag reference (53 inputs)
NameTypeFlagDescription
sctBOOLEAN--sctRequest Signed Certificate Timestamps during TLS Handshake
portSTRING--portSpecify port to grab on (default: 80)
timeSTRING--timeExplicit request time to use, instead of clock. YYYYMMDDhhmmss format.
debugBOOLEAN--debugInclude debug fields in the output.
flushBOOLEAN--flushFlush after each line of output.
inputSTRING·Input target
methodSTRING--methodSet HTTP request method type (default: GET)
no-sniBOOLEAN--no-sniDo not send domain name in TLS Handshake regardless of whether known
sendersSTRING--sendersNumber of send goroutines to use (default: 1000)
timeoutSTRING--timeoutSet connection timeout (0 = no timeout) (default: 10s)
triggerSTRING--triggerInvoke only on targets with specified tag
endpointSTRING--endpointSend an HTTP request to an endpoint (default: /)
max-sizeSTRING--max-sizeMax kilobytes to read in response to an HTTP request (default: 256)
maxbytesSTRING--maxbytesMaximum byte read limit per scan (0 = defaults)
no-ecdheBOOLEAN--no-ecdheDo not allow ECDHE handshakes
root-casFILE--root-casSet of certificates to use when verifying server certificates
use-httpsBOOLEAN--use-httpsPerform an HTTPS connection on the initial host
gomaxprocsSTRING--gomaxprocsSet GOMAXPROCS (default: 0)
heartbleedBOOLEAN--heartbleedCheck if server is vulnerable to Heartbleed
input-fileFILE·Input file
prometheusSTRING--prometheusAddress to use for Prometheus server (e.g. localhost:8080). If empty, Prometheus is disabled
user-agentSTRING--user-agentSet a custom user agent (default: Mozilla/5.0 zgrab/0.x)
dsa-enabledBOOLEAN--dsa-enabledAccept server DSA keys
max-versionSTRING--max-versionThe maximum SSL/TLS version that is acceptable. 0 means use the highest supported value.
min-versionSTRING--min-versionThe minimum SSL/TLS version that is acceptable. 0 means that SSLv3 is the minimum.
next-protosFILE--next-protosA list of supported application-level protocols
retry-httpsBOOLEAN--retry-httpsIf the initial request fails, reconnect and try with HTTPS.
server-nameSTRING--server-nameServer name used for certificate verification and (optionally) SNI
certificatesFILE--certificatesSet of certificates to present to the server
cipher-suiteSTRING--cipher-suiteA comma-delimited list of hex cipher suites to advertise.
client-helloSTRING--client-helloSet an explicit ClientHello (base64 encoded)
client-randomSTRING--client-randomSet an explicit Client Random (base64 encoded)
max-redirectsSTRING--max-redirectsMax number of redirects to follow (default: 0)
session-ticketBOOLEAN--session-ticketSend support for TLS Session Tickets and output ticket if presented
with-body-sizeBOOLEAN--with-body-sizeEnable the body_size attribute, for how many bytes actually read
certificate-mapFILE--certificate-mapA file mapping server names to certificates
extended-randomBOOLEAN--extended-randomSend TLS Extended Random Extension
keep-client-logsBOOLEAN--keep-client-logsInclude the client-side logs in the TLS handshake
curve-preferencesSTRING--curve-preferencesA list of elliptic curves used in an ECDHE handshake, in order of preference.
heartbeat-enabledBOOLEAN--heartbeat-enabledIf set, include the heartbeat extension
override-sig-hashBOOLEAN--override-sig-hashOverride the default SignatureAndHashes TLS option with more expansive default
redirects-succeedBOOLEAN--redirects-succeedRedirects are always a success, even if max-redirects is exceeded
fail-http-to-httpsBOOLEAN--fail-http-to-httpsTrigger retry-https logic on known HTTP/400 protocol mismatch responses
read-limit-per-hostSTRING--read-limit-per-hostMaximum total kilobytes to read for a single host (default 96kb) (default: 96)
connections-per-hostSTRING--connections-per-hostNumber of times to connect to each host (results in more output) (default: 1)
custom-headers-namesFILE--custom-headers-namesCSV of custom HTTP headers to send to server
signature-algorithmsSTRING--signature-algorithmsSignature and hash algorithms that are acceptable
custom-headers-valuesFILE--custom-headers-valuesCSV of custom HTTP header values to send to server. Should match order of custom-headers-names
extended-master-secretBOOLEAN--extended-master-secretOffer RFC 7627 Extended Master Secret extension
custom-headers-delimiterSTRING--custom-headers-delimiterDelimiter for customer header name/value CSVs
verify-server-certificateBOOLEAN--verify-server-certificateail if the server certificate does not match the server-name, or does not chain to a trusted root.
follow-localhost-redirectsBOOLEAN--follow-localhost-redirectsFollow HTTP redirects to localhost
compute-decoded-body-hash-algorithmSTRING--compute-decoded-body-hash-algorithmChoose algorithm for BodyHash field (sha256 or sha1)

example

Run zgrab2-http-simple

zgrab2-http-simple · command
# zgrab2-http-simple: summarize HTTP title/status/lengthecho 198.51.100.10 | zgrab2 http --port 443 --method GET --senders 20
sample output
198.51.100.10 status=200 title=Example length=15440203.0.113.5 status=301 title= length=0192.0.2.8 status=200 title=API length=812198.51.100.44 status=403 title=Forbidden length=548203.0.113.90 status=200 title=Dev Portal length=2201

guidance

Choosing zgrab2-http-simple

Use when you want a sortable title, status, and content-length summary across many hosts. Use zgrab2-http for the full banner JSON. Use httpx for richer URL probing.

zgrab2-http

Full grab with headers, body, and TLS fields. Prefer it when a summary line is not enough.

httpx

HTTP prober with tech detection and JSONL. Prefer it for richer URL-list recon.

httprobe

Minimal liveness check. Lighter still, but returns far less than a parsed grab.

faq

zgrab2-http-simple questions

Same request path; output is parsed to page title, HTTP status, and content length instead of the full banner object.

Run zgrab2-http-simple yourself

Hosts feed naabu, which finds open web ports and passes them to zgrab2-http-simple so a title-and-status summary lands as a queryable output.

Facts on this page come from the live Trickest tool library.