Updated Oct 13, 2026

Network

Filter domain lists to live HTTP and HTTPS hosts

httprobe is a Go command-line tool by tomnomnom that takes a list of domains on standard input and probes them for working HTTP and HTTPS servers, printing each URL that responds.

installgo install github.com/tomnomnom/httprobe@latest

Go · MIT license

Agent

overview

What httprobe does

httprobe answers one question: which domains in a list have a web server answering. Feed it domains and it tests HTTP on port 80 and HTTPS on port 443, printing every scheme that responds. That tight scope makes it a clean filter between subdomain discovery and anything that needs live hosts.

Keep it minimal. Raise concurrency with -c, set a timeout with -t, prefer HTTPS with --prefer-https to skip HTTP when TLS already answers, add protocol:port probes with -p, or skip defaults with -s. No status codes, titles, or tech detection. Liveness only, then hand off.

Trickest runs httprobe as a managed Network node: domains file in, file and folder of live URLs out. Place it after subdomain discovery to drop dead hosts before a richer prober or scanner spends budget on them.

source github.com/tomnomnom/httprobe

use cases

Where httprobe fits

Filter a subdomain list to live hosts

Run httprobe over subfinder output to keep only the domains with a web server answering, cutting dead weight before scanning.

Find HTTP and HTTPS quickly

Probe port 80 and 443 across thousands of domains in one fast pass to learn which schemes each host serves.

Probe non-standard ports

Add protocol:port probes with -p to catch web services running off 80 and 443 without switching tools.

Prefer HTTPS for speed

Use --prefer-https to skip the HTTP check when TLS already responds, halving requests on a large list.

reference

httprobe inputs and flags

7 inputs
NameTypeFlagDescription
domainsFILE·List of domains to probe, one per line, read from standard input.
threadsSTRING-cNumber of concurrent workers (default 20).
timeoutSTRING-tPer-request timeout in milliseconds (default 10000).
prefer-httpsBOOLEAN--prefer-httpsSkip the HTTP check when HTTPS already responds.
protocol-portSTRING-pAdd an extra probe for a protocol:port pair beyond the defaults, e.g. http:8080.
skip-standard-portsBOOLEAN-sSkip the default HTTP:80 and HTTPS:443 probes and test only the ports you name.

Showing key inputs. httprobe exposes 7 inputs in total.

Full flag reference (7 inputs)
NameTypeFlagDescription
domainsFILE·List of domains to probe, one per line, read from standard input.
threadsSTRING-cNumber of concurrent workers (default 20).
timeoutSTRING-tPer-request timeout in milliseconds (default 10000).
prefer-httpsBOOLEAN--prefer-httpsSkip the HTTP check when HTTPS is already working.
protocol-portSTRING-pAdd an extra probe for a protocol:port pair beyond the port 80 and port 443 defaults, e.g. http:8080.
protocol-port-2STRING-pA second protocol:port slot for adding another non-standard port to probe.
skip-standard-portsBOOLEAN-sSkip the default HTTP:80 and HTTPS:443 probes and test only the protocol:port pairs you specify.

example

Run httprobe

httprobe · command
# probe a subdomain list for live HTTP and HTTPS, 50 concurrent workers, add port 8443
cat subdomains.txt | httprobe -c 50 -t 3000 -p https:8443
sample output
https://api.example.com
http://app.example.com
https://app.example.com
https://staging.example.com
http://dev.example.com
https://mail.example.com
https://vpn.example.com
https://gitlab.example.com:8443

guidance

Choosing httprobe

Use httprobe when you only need to know which domains answer over HTTP or HTTPS. When you also want status, title, and tech in the same pass, use httpx instead.

httpx

Probes liveness plus status, title, tech, and TLS in one pass. More signal per request than httprobe.

subfinder

Discovers the subdomains httprobe then filters. Runs before it, not instead of it.

meg

Another tomnomnom tool that fetches many paths per host. httprobe only checks liveness.

faq

httprobe questions

httprobe reads domains from standard input, so the usual invocation is `cat domains.txt | httprobe`. Add -c to raise concurrency and -t to set a per-request timeout in milliseconds. On Trickest, wire a domains file into the node domains input.

For each domain it tests HTTP on port 80 and HTTPS on port 443, then prints the full URL of every scheme that answers. Liveness only: no status code, page title, or tech fingerprinting.

httprobe only reports which hosts answer over HTTP or HTTPS. httpx probes the same hosts and can return status code, page title, detected tech, and TLS detail in one pass. Use httprobe as a quick filter; use httpx when you need those fields.

Yes. Pass -p with a protocol:port pair, for example -p http:8080 or -p https:8443. Combine with -s to skip the default 80 and 443 checks and test only the ports you name.

Rarely. The tomnomnom repository is not archived, but it sees few commits; the binary still builds and runs, and Trickest pins a working version as a node. For an actively developed probe with more fields, use httpx.

Feed the live URLs into a richer prober like httpx or a scanner like nuclei. Dead hosts are already dropped, so downstream nodes spend budget only on domains that respond.

HTTP probing means sending a request to each host in a list to find out whether a web server answers over HTTP or HTTPS. httprobe does this for line-delimited domains on stdin, checking HTTP on port 80 and HTTPS on port 443 by default and printing each URL that responds.

Run httprobe yourself

A domain feeds subfinder, whose subdomains httprobe filters down to the live HTTP and HTTPS hosts before they land as a queryable output.

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