
新发布Jul 22, 2026
httpx v1.10.0
快速、多探针HTTP工具包,用于侦察和信息收集。探测TLS、CSP、标头、技术栈和CDN。支持匹配器、过滤器和JSON输出,用于自动化安全测试。
功能特性 • 安装 • 使用方法 • 文档 • 说明 • 加入 Discord
httpx 是一个快速且多用途的 HTTP 工具包,允许使用 retryablehttp 库运行多个探测。它旨在在增加线程数的同时保持结果可靠性。
功能特性
- 简洁模块化的代码库,易于贡献。
- 快速且完全可配置的标志,用于探测多种元素。
- 支持多种基于 HTTP 的探测。
- 默认智能回退:从 https 到 http。
- 支持主机、URL 和 CIDR 作为输入。
- 处理边界情况,如重试、退避等,以应对 WAF。
支持的探测
| 探测项 | 默认检查 | 探测项 | 默认检查 |
|---|---|---|---|
| URL | true | IP | true |
| 标题 | true | CNAME | true |
| 状态码 | true | Raw HTTP | false |
| 内容长度 | true | HTTP2 | false |
| TLS 证书 | true | HTTP Pipeline | false |
| CSP 头 | true | 虚拟主机 | false |
| 行数 | true | 字数 | true |
| Location 头 | true | CDN | false |
| Web 服务器 | true | 路径 | false |
| Web Socket | true | 端口 | false |
| 响应时间 | true | 请求方法 | true |
| Favicon 哈希 | false | 探测状态 | false |
| Body 哈希 | true | 头哈希 | true |
| 重定向链 | false | URL 方案 | true |
| JARM 哈希 | false | ASN | false |
安装说明
httpx 需要 go >=1.25.0 才能成功安装。运行以下命令获取仓库:
go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest
如需了解更多关于安装 httpx 的信息,请参阅 https://docs.projectdiscovery.io/tools/httpx/install。
| ❗ 免责声明 |
|---|
| 该项目正处于活跃开发阶段。更新时可能会发生破坏性变更。更新前请查看更新日志。 |
| 该项目主要作为独立 CLI 工具构建。将其作为服务运行可能存在安全风险。 建议谨慎使用并采取额外的安全措施。 |
使用方法
httpx -h
这将显示工具的帮助信息。以下是所有支持的开关。
httpx 是一个快速且多用途的 HTTP 工具包,允许使用 retryablehttp 库运行多个探测。
用法:
./httpx [flags]
标志:
输入:
-l, -list string 包含要处理的主机列表的输入文件
-rr, -request string 包含原始请求的文件
-u, -target string[] 要探测的输入目标主机
-im, -input-mode string 输入文件模式 (burp)
探测:
-sc, -status-code 显示响应状态码
-cl, -content-length 显示响应内容长度
-ct, -content-type 显示响应内容类型
-location 显示响应重定向位置
-favicon 显示 '/favicon.ico' 文件的 mmh3 哈希
-hash string 显示响应体哈希(支持:md5,mmh3,simhash,sha1,sha256,sha512)
-jarm 显示 jarm 指纹哈希
-rt, -response-time 显示响应时间
-lc, -line-count 显示响应体行数
-wc, -word-count 显示响应体字数
-title 显示页面标题
-bp, -body-preview 显示响应体的前 N 个字符(默认 100)
-server, -web-server 显示服务器名称
-td, -tech-detect 基于 wappalyzer 数据集显示使用的技术
-cff, -custom-fingerprint-file string 用于技术检测的自定义指纹文件路径
-method 显示 HTTP 请求方法
-ws, -websocket 显示使用 WebSocket 的服务器
-ip 显示主机 IP
-cname 显示主机 CNAME
-extract-fqdn, -efqdn 在 jsonl/csv 输出中从响应体和头部提取域名和子域名
-asn 显示主机 ASN 信息
-cdn 显示使用的 CDN/WAF(默认 true)
-probe 显示探测状态
无头浏览器:
-ss, -screenshot 启用使用无头浏览器保存页面截图
-system-chrome 启用使用本地安装的 Chrome 进行截图
-ho, -headless-options string[] 启动无头 Chrome 并附加选项
-esb, -exclude-screenshot-bytes 从 JSON 输出中排除截图字节
-ehb, -exclude-headless-body 从 JSON 输出中排除无头浏览器头部
-no-screenshot-full-page 禁用保存全页截图
-st, -screenshot-timeout value 设置截图超时时间(秒)(默认 10s)
-sid, -screenshot-idle value 设置截图前的空闲时间(秒)(默认 1s)
-jsc, -javascript-code string[] 导航后执行 JavaScript 代码
匹配器:
-mc, -match-code string 匹配指定状态码的响应(-mc 200,302)
-ml, -match-length string 匹配指定内容长度的响应(-ml 100,102)
-mlc, -match-line-count string 匹配指定行数的响应体(-mlc 423,532)
-mwc, -match-word-count string 匹配指定字数的响应体(-mwc 43,55)
-mfc, -match-favicon string[] 匹配指定 favicon 哈希的响应(-mfc 1494302000)
-ms, -match-string string[] 匹配包含指定字符串的响应(-ms admin)
-mr, -match-regex string[] 匹配指定正则表达式的响应(-mr admin)
-mcdn, -match-cdn string[] 匹配指定 CDN 提供商的主机(cloudfront、fastly、google 等)
-mrt, -match-response-time string 匹配指定响应时间(秒)的响应(-mrt '< 1')
-mdc, -match-condition string 使用 DSL 表达式条件匹配响应
提取器:
-er, -extract-regex string[] 显示匹配正则表达式的响应内容
-ep, -extract-preset string[] 显示匹配预定义正则表达式的响应内容(url,ipv4,mail)
过滤器:
-fc, -filter-code string 过滤指定状态码的响应(-fc 403,401)
-fpt, -filter-page-type string[] 过滤指定页面类型的响应(例如 -fpt login,captcha,parked)
-fep, -filter-error-page [已弃用:改用 -fpt] 基于 ML 的错误页面检测过滤响应
-fd, -filter-duplicates 过滤掉近似重复的响应(仅保留第一个响应)
-fl, -filter-length string 过滤指定内容长度的响应(-fl 23,33)
-flc, -filter-line-count string 过滤指定行数的响应体(-flc 423,532)
-fwc, -filter-word-count string 过滤指定字数的响应体(-fwc 423,532)
-ffc, -filter-favicon string[] 过滤指定 favicon 哈希的响应(-ffc 1494302000)
-fs, -filter-string string[] 过滤包含指定字符串的响应(-fs admin)
-fe, -filter-regex string[] 过滤匹配指定正则表达式的响应(-fe admin)
-fcdn, -filter-cdn string[] 过滤指定 CDN 提供商的主机(cloudfront、fastly、google 等)
-frt, -filter-response-time string 过滤指定响应时间(秒)的响应(-frt '> 1')
-fdc, -filter-condition string 使用 DSL 表达式条件过滤响应
-strip 剥离响应中的所有标签。支持格式:html,xml(默认 html)
-lof, -list-output-fields 要输出的字段列表(逗号分隔)
-eof, -exclude-output-fields string[] 基于条件排除输出字段
速率限制:
-t, -threads int 使用的线程数(默认 50)
-rl, -rate-limit int 每秒发送的最大请求数(默认 150)
-rlm, -rate-limit-minute int 每分钟发送的最大请求数
其他:
-pa, -probe-all-ips 探测同一主机关联的所有 IP
-p, -ports string[] 要探测的端口(nmap 语法:例如 http:1,2-10,11,https:80)
-path string 要探测的路径或路径列表(逗号分隔、文件)
-tls-probe 在提取的 TLS 域名(dns_name)上发送 HTTP 探测
-csp-probe 在提取的 CSP 域名上发送 HTTP 探测
-tls-grab 执行 TLS(SSL) 数据抓取
-pipeline 探测并显示支持 HTTP1.1 pipeline 的服务器
-http2 探测并显示支持 HTTP2 的服务器
-vhost 探测并显示支持 VHOST 的服务器
-ldv, -list-dsl-variables 列出支持 DSL 匹配器/过滤器的 JSON 输出字段键名
更新:
-up, -update 将 httpx 更新到最新版本
-duc, -disable-update-check 禁用自动 httpx 更新检查