用Go实现支持多种协议的抓包工具——Shermie-Proxy

前言

常见的抓包工具有Fiddler、Charles等,我自己用Go基于Tcp服务实现一个简单的代理抓包工具shermie-proxy,代码我都写了注释,如果有对网络编程感兴趣的同学,可以康康。

涉及的知识

  • Ca证书:根证书、中间证书的生成和下发
  • 单向认证、双向认证、Tls握手过程
  • Ws、Wss协议
  • Http、Https协议
  • Socket5协议
  • 协议转换

支持的协议:

  • Http、Https、Ws、Wss、Socket5
  • 支持注册消息事件,对消息进行修改、裁剪再发送

Tls握手过程

效果

动态图片放在github上了,有可能无法显示。

  • Https代理

  • Wss代理

原理

图片

仓库

地址:github.com/kxg3030/shermie-proxy, 喜欢的话请用你发财的小手点个star

本作品采用《CC 协议》,转载必须注明作者和本文链接
失色天空
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 16

麻烦出个教程

1个月前 评论
失色天空 (楼主) 1个月前

麻烦再出个UI,fiddler everywhere 太贵了我买不起

1个月前 评论

支持!出个教程吧

1个月前 评论
失色天空 (楼主) 1个月前

有证书验证的的怎么转

1个月前 评论
失色天空 (楼主) 1个月前

Core\ProxyHttp.go:226:33: sslConn.ReadLastTimeBytes undefined (type *tls.Conn has no field or method ReadLastTimeBytes)

3周前 评论
巴黎不下雪的冬季 3周前
失色天空 (楼主) 3周前
巴黎不下雪的冬季 3周前
土哥 3周前
失色天空 (楼主) 3周前

ide是什么皮肤啊?

3周前 评论
失色天空 (楼主) 3周前
kinyou

用户目录下面的gopath下面没有这个 src/crypto/tls/conn.go 文件怎么破 ?

3天前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!