lqqyt2423 / Go Mitmproxy
Licence: mit
mitmproxy implemented with golang. 用 Golang 实现的中间人攻击(Man-in-the-middle),解析、监测、篡改 HTTP/HTTPS 流量。
Stars: ✭ 61
Programming Languages
go
31211 projects - #10 most used programming language
Projects that are alternatives of or similar to Go Mitmproxy
mps
MPS is a high-performance HTTP(S) proxy library that supports forward proxies, reverse proxies, man-in-the-middle proxies, tunnel proxies, Websocket proxies. MPS 是一个高性能HTTP(s)中间代理库,它支持正向代理、反向代理、中间人代理、隧道代理、Websocket代理
Stars: ✭ 64 (+4.92%)
Mutual labels: mitm, http-proxy, mitmproxy
Proxy.py
⚡⚡⚡Fast, Lightweight, Pluggable, TLS interception capable proxy server focused on Network monitoring, controls & Application development, testing, debugging
Stars: ✭ 1,291 (+2016.39%)
Mutual labels: http-proxy, mitm, mitmproxy
cute-proxy
A Man-In-The-Middle Proxy as Fiddle and Charles, using Netty, JavaFX
Stars: ✭ 62 (+1.64%)
Mutual labels: mitm, http-proxy
httransform
A framework to build precise and fast HTTP proxies.
Stars: ✭ 54 (-11.48%)
Mutual labels: mitm, mitmproxy
Wilma
Service Virtualization Solution – a combined Service Stub and Transparent Proxy
Stars: ✭ 50 (-18.03%)
Mutual labels: mitm, mitmproxy
jmitm
Java版本的mitmproxy,对本地浏览器所有的Http(s)请求和响应进行拦截并「重制」;也可充当轻量级B/S版抓包软件;
Stars: ✭ 19 (-68.85%)
Mutual labels: https, mitmproxy
Badssl.com
🔒 Memorable site for testing clients against bad SSL configs.
Stars: ✭ 2,234 (+3562.3%)
Mutual labels: https, mitm
Ssh Mitm
ssh mitm server for security audits supporting public key authentication, session hijacking and file manipulation
Stars: ✭ 335 (+449.18%)
Mutual labels: mitm, mitmproxy
C-Sharp-Proxy-Server
A proxy server built with c# can be both normal and MITM Proxy
Stars: ✭ 86 (+40.98%)
Mutual labels: http-proxy, mitmproxy
Bdfproxy
Patch Binaries via MITM: BackdoorFactory + mitmProxy.
Stars: ✭ 857 (+1304.92%)
Mutual labels: mitm, mitmproxy
Secret Agent
The web browser that's built for scraping.
Stars: ✭ 151 (+147.54%)
Mutual labels: mitm, mitmproxy
Hoverfly
Lightweight service virtualization/API simulation tool for developers and testers
Stars: ✭ 1,814 (+2873.77%)
Mutual labels: https, mitm
iyov
Web proxy for http(s) for developers to analyze data between client and servers based on workerman, especailly for app developers.
Stars: ✭ 27 (-55.74%)
Mutual labels: https, mitm
Pokemon Go Mitm
🎁 Pokemon Go MITM Proxy - Intercepts the traffic between your Pokemon Go app and their servers, decodes the protocol and gives you a handy tool to enrich your own game experience on the fly.
Stars: ✭ 475 (+678.69%)
Mutual labels: mitm, mitmproxy
go-mitmproxy
mitmproxy implemented with golang.
用 Golang 实现的中间人攻击(Man-in-the-middle),解析、监测、篡改 HTTP/HTTPS 流量。
特点
- HTTPS 证书相关逻辑参考 mitmproxy 且与之兼容,根证书也保存在
~/.mitmproxy
文件夹中,如果之前用过mitmproxy
且根证书已经安装信任,则此go-mitmproxy
可以直接使用 - 支持插件机制,很方便扩展自己需要的功能,可参考 addon/addon.go
- 性能优势
- Golang 天生的性能优势
- 在进程内存中转发解析 HTTPS 流量,不需通过 tcp端口 或 unix socket 等进程间通信
- 生成不同域名证书时使用 LRU 缓存,避免重复计算
- 通过环境变量
SSLKEYLOGFILE
支持Wireshark
解析分析流量 - 上传/下载大文件时支持流式传输
- WEB 界面:http://localhost:9081
安装
GO111MODULE=on go get -u github.com/lqqyt2423/go-mitmproxy/cmd/mitmproxy
命令行使用
mitmproxy --help
Usage of mitmproxy:
-addr string
proxy listen addr (default ":9080")
-dump string
dump filename
-dump_level int
dump level: 0 - header, 1 - header + body
-web_addr string
web interface listen addr (default ":9081")
作为包引入
参考 cmd/mitmproxy/main.go,可通过自己实现 AddAddon
方法添加自己实现的插件。
TODO
- [x] http handler
- [x] http connect
- [x] cert
- [x] https handler
- [x] logger
- [x] 经内存转发 https 流量
- [x] 忽略某些错误例如:broken pipe, reset by peer, timeout
- [x] websocket 透明转发
- [x] 插件机制
- [x] 命令行参数控制 dump 至文件
- [x] dump level
- [x] 文档
- [x] web 界面
- [x] Content-Encoding 相关
- [ ] http2
- [ ] websocket 解析
License
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].