h2csmuggler 项目教程

h2csmuggler 项目教程

h2csmuggler项目地址:https://gitcode.com/gh_mirrors/h2/h2csmuggler

1. 项目的目录结构及介绍

h2csmuggler 项目的目录结构如下:

h2csmuggler/
├── cmd/
│   ├── h2csmuggler/
│   │   ├── check.go
│   │   ├── smuggle.go
│   │   └── demo.go
├── pkg/
│   ├── client/
│   │   ├── client.go
│   ├── http2/
│   │   ├── http2.go
├── .gitignore
├── LICENSE
├── README.md
├── go.mod
├── go.sum

目录介绍

  • cmd/: 包含项目的命令行工具实现。
    • h2csmuggler/: 具体的命令行工具文件夹。
      • check.go: 用于检查 h2c 连接是否可以建立。
      • smuggle.go: 用于执行 h2c 请求。
      • demo.go: 用于创建一个接受非标准 Connection: Upgrade 连接的 HTTP 服务器。
  • pkg/: 包含项目的库代码。
    • client/: 客户端实现。
      • client.go: 客户端主要逻辑。
    • http2/: HTTP/2 相关实现。
      • http2.go: HTTP/2 库的修改和扩展。
  • .gitignore: Git 忽略文件配置。
  • LICENSE: 项目许可证。
  • README.md: 项目说明文档。
  • go.mod: Go 模块文件。
  • go.sum: Go 模块依赖校验文件。

2. 项目的启动文件介绍

项目的启动文件位于 cmd/h2csmuggler/ 目录下:

  • check.go: 用于检查 h2c 连接是否可以建立。
  • smuggle.go: 用于执行 h2c 请求。
  • demo.go: 用于创建一个接受非标准 Connection: Upgrade 连接的 HTTP 服务器。

启动文件介绍

  • check.go:

    • 功能:检查目标 URL 是否支持 h2c 连接。
    • 使用方法:go run cmd/h2csmuggler/check.go https://example.com/
  • smuggle.go:

    • 功能:执行 h2c 请求,绕过代理的访问控制。
    • 使用方法:go run cmd/h2csmuggler/smuggle.go https://example.com/
  • demo.go:

    • 功能:创建一个 HTTP 服务器,接受非标准的 Connection: Upgrade 连接,并升级为 h2c。
    • 使用方法:go run cmd/h2csmuggler/demo.go

3. 项目的配置文件介绍

h2csmuggler 项目没有显式的配置文件,其配置主要通过命令行参数进行传递。以下是一些常用的命令行参数:

  • --scan-list: 指定要扫描的 URL 列表文件。
  • --threads: 指定并发线程数。
  • --upgrade-only: 仅进行升级测试。
  • -x: 指定代理地址。
  • -i: 指定字典文件。
  • -X: 指定请求方法。
  • -d: 指定请求数据。
  • -H: 指定请求头。
  • -m: 指定最大超时时间。
  • -t: 进行测试。
  • -v: 开启详细输出。

示例

# 使用 URL 列表文件进行扫描
go run cmd/h2csmuggler/smuggle.go --scan-list urls.txt --threads 5

# 对单个 URL 进行测试
go run cmd/h2csmuggler/smuggle.go -x https://example.com/api/ --test

通过这些命令行参数,可以灵活地配置和使用 h2csmuggler 工具。

h2csmuggler项目地址:https://gitcode.com/gh_mirrors/h2/h2csmuggler

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凤定昌Germaine

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值