mitmproxy
介绍技术特性适用场景说明mitmproxy跨平台、基于python抓包官网 Doc Github 示例安装pip3 install mitmproxy使用启动代理# 方式一:在8080端口上运行一个代理服务mitmproxy## 或者指定端口mitmproxy -p 8888# 方式二:启动mitmdump,它也会监听8080端口mitmdump## 执行自定义脚本mitmdump -s scri
·
介绍
技术 | 特性 | 适用场景 | 说明 |
---|---|---|---|
mitmproxy | 跨平台、基于python | 抓包 | 官网 Doc Github 示例 |
安装
pip3 install mitmproxy
使用
启动代理
# 方式一:在8080端口上运行一个代理服务
mitmproxy
## 或者指定端口
mitmproxy -p 8888
# 方式二:启动mitmdump,它也会监听8080端口
mitmdump
## 执行自定义脚本
mitmdump -s script.py
# 方式3:启动一个 web 界面,用户可以实时看到发生的请求,并通过 GUI 交互来过滤请求,查看请求数据
mitmweb
设置代理
设置 Safari代理
【偏好设置】->【高级】->【代理:更改设置】
设置 Chrome 代理
【偏好】->【高级】->【系统】->【打开您计算机的代理设置】
配置https
1. 打开 http://mitm.it/,安装相应证书。
2. 手机根证书推送
操作
按键 | 说明 |
---|---|
q | 退出(相当于返回键,可一级一级返回) |
d | 删除当前(黄色箭头)指向的链接 |
D | 恢复刚才删除的请求 |
G | 跳到最新一个请求 |
g | 跳到第一个请求 |
C | 清空控制台(C是大写) |
i | 可输入需要拦截的文件或者域名(逗号需要用\来做转译,栗子:feezu.cn) |
a | 放行请求 |
A | 放行所有请求 |
? | 查看界面帮助信息 |
^ v | 上下箭头移动光标 |
enter | 查看光标所在列的内容 |
tab | 分别查看 Request 和 Response 的详细信息 |
/ | 搜索body里的内容 |
esc | 退出编辑 |
e | 进入编辑模式 |
Java程序抓包
配置java证书信任
# Linux 一般在 JAVA_HOME/jre/lib/security/cacerts 下
# Mac 在 /Library/Java/JavaVirtualMachines/JAVA_HOME/Contents/Home/jre/lib/security/cacerts
keytool -importcert -alias mitmproxy -keystore /Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home/jre/lib/security/cacerts -storepass changeit -trustcacerts -file ~/.mitmproxy/mitmproxy-ca-cert.pem
Java抓包调试
public void beforeTest(){
logger.info("设置抓包代理......");
System.setProperty("https.proxyHost", "127.0.0.1");
System.setProperty("https.proxyPort", "8080");
}
Java代理设置
// HTTP 代理,只能代理 HTTP 请求
System.setProperty("http.proxyHost", "127.0.0.1");
System.setProperty("http.proxyPort", "9876");
// HTTPS 代理,只能代理 HTTPS 请求
System.setProperty("https.proxyHost", "127.0.0.1");
System.setProperty("https.proxyPort", "9876");
// 同时支持代理 HTTP/HTTPS 请求
System.setProperty("proxyHost", "127.0.0.1");
System.setProperty("proxyPort", "9876");
// SOCKS 代理,支持 HTTP 和 HTTPS 请求
// 注意:如果设置了 SOCKS 代理就不要设 HTTP/HTTPS 代理
System.setProperty("socksProxyHost", "127.0.0.1");
System.setProperty("socksProxyPort", "1080");
Java通过JVM启动设置代理
-DproxyHost=127.0.0.1 -DproxyPort=9876
参考
更多推荐
已为社区贡献2条内容
所有评论(0)