httpx is a fast and multi-purpose HTTP toolkit allow to run multiple probers using retryablehttp library, it is designed to maintain the result reliability with increased threads.
- Simple and modular code base making it easy to contribute.
- Fast And fully configurable flags to probe mutiple elements.
- Supports vhost, urls, ports, title, content-length, status-code, response-body probbing.
- Smart auto fallback from https to http as default.
- Supports hosts, URLs and CIDR as input.
- Handles edge cases doing retries, backoffs etc for handling WAFs.
httpx -h
This will display help for the tool. Here are all the switches it supports.
Flag | Description | Example |
---|---|---|
-H | Custom Header input | httpx -H 'x-bug-bounty: hacker' |
-follow-redirects | Follow URL redirects (default false) | httpx -follow-redirects |
-follow-host-redirects | Follow URL redirects only when staying on the same host (default false) | httpx -follow-host-redirects |
-http-proxy | URL of the proxy server | httpx -http-proxy hxxp://proxy-host:80 |
-l | File containing host/urls to process | httpx -l hosts.txt |
-l | File containing CIDR to process | httpx -l cidr.txt |
-no-color | Disable colors in the output. | httpx -no-color |
-o | File to save output result (optional) | httpx -o output.txt |
-json | Prints all the probes in JSON format (default false) | httpx -json |
-vhost | Probes to detect vhost from list of subdomains | httpx -vhost |
-threads | Number of threads (default 50) | httpx - threads 100 |
-ports | Ports ranges to probe (nmap syntax: eg 1,2-10,11) | httpx -ports 80,443,100-200 |
-title | Prints title of page if available | httpx -title |
-content-length | Prints content length in the output | httpx -content-length |
-status-code | Prints status code in the output | httpx -status-code |
-web-server | Prints running web sever if available | httpx -web-server |
-store-response | Store response as domain.txt | httpx -store-response |
-store-response-dir | Directory to store response (default current path) | httpx -store-response-dir output |
-retries | Number of retries | httpx -retries |
-silent | Prints only results in the output | httpx -silent |
-timeout | Timeout in seconds (default 5) | httpx -timeout 10 |
-verbose | Verbose Mode | httpx -verbose |
-version | Prints current version of the httpx | httpx -version |
-x | Request Method (default 'GET') | httpx -x HEAD |
-response-in-stdout | Include response in stdout (only works with -json) | httpx -response-in-stdout |
The installation is easy. You can download the pre-built binaries for your platform from the Releases page. Extract them using tar, move it to your $PATH
and you're ready to go.
> tar -xvf httpx-linux-amd64.tar
> mv httpx-linux-amd64 /usr/bin/httpx
> httpx -h