All Projects → lqqyt2423 → Go Mitmproxy

lqqyt2423 / Go Mitmproxy

Licence: mit
mitmproxy implemented with golang. 用 Golang 实现的中间人攻击(Man-in-the-middle),解析、监测、篡改 HTTP/HTTPS 流量。

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
PassivesScan
《被动扫描资源汇总》
Stars: ✭ 27 (-55.74%)
Mutual labels:  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
Houki
🧹 Customizable MitM proxy / 可定制化的中间人代理
Stars: ✭ 28 (-54.1%)
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
mitm-play
Man in the middle using Playwright
Stars: ✭ 13 (-78.69%)
Mutual labels:  mitm, mitmproxy
Mastermind
Man in the middle testing
Stars: ✭ 341 (+459.02%)
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
Armor
Uncomplicated, modern HTTP server
Stars: ✭ 1,629 (+2570.49%)
Mutual labels:  http-proxy, https
HttpProxy
JAVA实现的IP代理池,支持HTTP与HTTPS两种方式
Stars: ✭ 37 (-39.34%)
Mutual labels:  https, http-proxy
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

MIT 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].