Basic Usage #
Probing URLs and Hosts #
bash Copy
httpx -u https://example.com
httpx -u https://example.com,https://projectdiscovery.io
httpx -l hosts.txt
cat hosts.txt| httpx
Output Options #
bash Copy
httpx -l hosts.txt -o results.txt
httpx -l hosts.txt -json -o results.json
httpx -l hosts.txt -csv -o results.csv
httpx -l hosts.txt -silent
Basic Filtering #
bash Copy
httpx -l hosts.txt -status-code 200
httpx -l hosts.txt -content-length 100
httpx -l hosts.txt -title "Dashboard"
httpx -l hosts.txt -tech wordpress
Advanced Usage #
Port Scanning #
bash Copy
httpx -l hosts.txt
httpx -l hosts.txt -ports 80,443 ,8080,8443
httpx -l hosts.txt -ports top-100
httpx -l hosts.txt -ports all
Path Probing #
bash Copy
httpx -l hosts.txt -path /api/v1,/admin,/login
httpx -l hosts.txt -path-file paths.txt
httpx -l hosts.txt -path /api -add-slash
Protocol Options #
bash Copy
httpx -l hosts.txt -https
httpx -l hosts.txt -probe
httpx -l hosts.txt -no-verify
Request Customization #
bash Copy
httpx -l hosts.txt -H "User-Agent: Mozilla/5.0" -H "Cookie: session=123456"
httpx -l hosts.txt -method POST
httpx -l hosts.txt -method POST -body "username=admin&password=admin"
httpx -l hosts.txt -method POST -H "Content-Type: application/json" -body '\\\\{"username":"admin","password":"admin"\\\\}'
Response Filtering #
bash Copy
httpx -l hosts.txt -match-string "admin"
httpx -l hosts.txt -match-regex "admin.*panel"
httpx -l hosts.txt -filter-string "not found"
httpx -l hosts.txt -filter-regex "error|not found"
Screenshot Capture #
bash Copy
httpx -l hosts.txt -screenshot
httpx -l hosts.txt -screenshot -screenshot-output screenshots/
httpx -l hosts.txt -screenshot -screenshot-timeout 20
Technology Detection #
bash Copy
httpx -l hosts.txt -tech-detect
httpx -l hosts.txt -tech-detect -match-tech wordpress,nginx
Concurrency and Rate Limiting #
bash Copy
httpx -l hosts.txt -concurrency 100
httpx -l hosts.txt -rate-limit 200
httpx -l hosts.txt -timeout 10
Retry and Delay Options #
bash Copy
httpx -l hosts.txt -retries 3
httpx -l hosts.txt -delay 2s
httpx -l hosts.txt -random-agent
Optimization for Large Scans #
bash Copy
httpx -l large-hosts.txt -stream
httpx -l hosts.txt -no-default-ports
httpx -l hosts.txt -skip-host-error
Pipeline with Subfinder #
bash Copy
subfinder -d example.com| httpx
subfinder -d example.com| httpx -path /api,/admin -status-code 200
Pipeline with Nuclei #
bash Copy
httpx -l hosts.txt -silent| nuclei -t cves/
httpx -l hosts.txt -tech-detect -match-tech wordpress -silent| nuclei -t wordpress/
Pipeline with Naabu #
bash Copy
naabu -host example.com -top-ports 1000 -silent| httpx
naabu -host example.com -top-ports 1000 -silent| httpx -silent| nuclei -t cves/
Output Customization #
bash Copy
httpx -l hosts.txt -o results.txt -silent -format "\\ \\ {\\ \\ {.StatusCode\\ \\ }\\ \\ } \\ \\ {\\ \\ {.URL\\ \\ }\\ \\ } \\ \\ {\\ \\ {.Title\\ \\ }\\ \\ }"
httpx -l hosts.txt -include-response-time -include-chain -include-cdn
bash Copy
httpx -l hosts.txt -title
httpx -l hosts.txt -favicon
httpx -l hosts.txt -response-header
httpx -l hosts.txt -tls-grab
Response Storage #
bash Copy
httpx -l hosts.txt -store-response
httpx -l hosts.txt -store-response -store-response-dir responses/
httpx -l hosts.txt -store-chain
Advanced Filtering #
Status Code Filtering #
bash Copy
httpx -l hosts.txt -status-code 200,301 ,302
httpx -l hosts.txt -exclude-status-code 404,403
Content Filtering #
bash Copy
httpx -l hosts.txt -content-length 100
httpx -l hosts.txt -content-length-lt 1000 -content-length-gt 100
httpx -l hosts.txt -content-type "text/html"
bash Copy
httpx -l hosts.txt -match-header "Server: nginx"
httpx -l hosts.txt -include-headers "Server,Content-Type"
Proxy and Network Options #
bash Copy
httpx -l hosts.txt -proxy http://127.0.0.1:8080
httpx -l hosts.txt -proxy socks5://127.0.0.1:1080
httpx -l hosts.txt -follow-redirects
httpx -l hosts.txt -follow-redirects -follow-max-redirects 5
httpx -l hosts.txt -follow-host-redirects
Miscellaneous Features #
CRLF Injection Detection #
bash Copy
httpx -l hosts.txt -crlf
CORS Misconfiguration Check #
bash Copy
httpx -l hosts.txt -cors
IP Geolocation #
bash Copy
httpx -l hosts.txt -location
Web Cache Detection #
bash Copy
httpx -l hosts.txt -web-cache
Virtual Host Discovery #
bash Copy
httpx -l hosts.txt -vhost
httpx -l hosts.txt -vhost -vhost-wordlist vhosts.txt
Troubleshooting #
Common Issues #
Connection Timeouts
bash Copy
httpx -l hosts.txt -timeout 15
httpx -l hosts.txt -retries 3
Rate Limiting by Target
bash Copy
httpx -l hosts.txt -concurrency 10
httpx -l hosts.txt -delay 2s
Memory Issues
bash Copy
httpx -l large-hosts.txt -stream
httpx -l hosts.txt -concurrency 25
TLS/SSL Errors
bash Copy
httpx -l hosts.txt -no-verify
Debugging #
bash Copy
httpx -l hosts.txt -verbose
httpx -l hosts.txt -debug
httpx -l hosts.txt -debug-req -debug-resp -silent
Configuration #
Configuration File #
HTTPX uses a configuration file located at $HOME/.config/httpx/config.yaml. You can customize various settings in this file:
bash Copy
concurrency: 50
timeout: 5
retries: 2
rate-limit: 150
verbose: false
silent: false
output: httpx_output.txt
Environment Variables #
bash Copy
export HTTPX_CONCURRENCY = 50
export HTTPX_TIMEOUT = 5
export HTTPX_RETRIES = 2
export HTTPX_RATE_LIMIT = 150
Reference #
Command Line Options #
Flag
Description
-u, -target
Target URL/host to probe
-l, -list
File containing list of URLs/hosts to probe
-o, -output
File to write output to
-json
Write output in JSON format
-csv
Write output in CSV format
-silent
Show only URLs/hosts in output
-verbose
Show verbose output
-debug
Show request/response details
-version
Show HTTPX version
-ports
Ports to probe (default: 80,443)
-path
Path(s) to probe
-method
HTTP method to use
-status-code
Filter by status code
-title
Filter by title
-content-length
Filter by content length
-tech-detect
Detect web technologies
-follow-redirects
Follow HTTP redirects
-no-verify
Skip TLS verification
-H, -header
Custom header to add to all requests
-match-string
Match response containing string
-match-regex
Match response using regex
-filter-string
Filter response not containing string
-filter-regex
Filter response not matching regex
-screenshot
Take screenshots of websites
-concurrency
Number of concurrent requests
-rate-limit
Maximum number of requests per second
-timeout
Timeout in seconds for HTTP requests
-retries
Number of retries for failed requests
-delay
Delay between requests
-proxy
HTTP/SOCKS5 proxy to use
Output Fields #
Field
Description
url
Target URL
input
Original input
scheme
URL scheme (http/https)
host
Target host
port
Target port
path
URL path
status_code
HTTP status code
title
Page title
content_type
Content type header
content_length
Content length
response_time
Response time in seconds
technologies
Detected technologies
server
Server header
webserver
Detected web server
ip
Target IP address
cdn
CDN information
favicon
Favicon hash
tls
TLS information
location
Redirect location
vhost
Virtual host information