mitmproxy还有两个关联组件,一个是mitmdump,它是mitmproxy的命令行接口,利用它可以对接Python脚本,实现监听后的处理;另一个是mitmweb,它是一个Web程序,通过它以清楚地观察到mitmproxy捕获的请求。
一、mitmproxy安装
1.安装mitmproxy.
GitHub:https://github.com/mitmproxy/mitmproxy
2.查看本机IP,并启动mitmdump.启动之后,可以看到:
Web server listening at http://127.0.0.1:8081/
Proxy server listening at http://*:8080
mitmdump可以自己指定端口:
mitmdump -p 8889
mitmdump还可以指定端口和python交互脚本:
mitmdump -s douyinDataFlow.py -p 8889
其中douyinDataFlow.py为python数据拦截脚本,如果抓取手机端数据,需要手机设置代理,
python交互脚本有固定格式:request和response接受请求信息:
import mitmproxy
from mitmproxy import ctx
def request(flow):
ctx.log.info(flow.response.header)
def response(flow):
content = str(flow.response.text)
ctx.log.info(content)
二、证书安装
对于mitmproxy来说,如果想要截获HTTPS请求,就需要设置证书。mitmproxy在安装后会提供一套CA证书,只要客户端信任了mitmproxy提供的证书,就可以通过mitmproxy获取HTTPS请求的具体内容,否则mitmproxy是无法解析HTTPS请求的。
首先,运行以下命令产生CA证书,并启动mitmdump:
1、mitmdump
接下来,我们就可以在用户目录下的.mitmproxy目录里面找到CA证书,如图所示。
证书描述:
mitmproxy-ca.pemPEM格式的证书私钥
mitmproxy-ca-cert.pemPEM格式证书,适用于大多数非Windows平台
mitmproxy-ca-cert.p12PKCS12格式的证书,适用于Windows平台
mitmproxy-ca-cert.cer与mitmproxy-ca-cert.pem相同,只是改变了后缀,适用于部分Android
windows证书安装
双击mitmproxy-ca.p12,就会出现导入证书的引导页,一直下一步,选择受信任的根证书颁发机构。
mac 证书安装:
Mac下双击mitmproxy-ca-cert.pem即可弹出钥匙串管理页面,然后找到mitmproxy证书,打开其设置选项,选择“始终信任”即可,如图所示。
iOS证书安装:
将mitmproxy-ca-cert.pem文件发送到iPhone上,推荐使用邮件方式发送,然后在iPhone上可以直接点击附件并识别安装。
点击“安装”按钮之后,会跳到安装描述文件的页面,点击“安装”按钮,此时会有警告提示,如图
如果你的iOS版本是10.3以下的话,此处信任CA证书的流程就已经完成了。
如果你的iOS版本是10.3及以上版本,还需要在“设置”→“通用”→“关于本机”→“证书信任设置”将mitmproxy的完全信任开关打开,如图所示。此时,在iOS上配置信任CA证书的流程就结束了。
Android证书安装
在mitmproxy软件证书配置中,其中手机的证书安装过程一般为:
“将mitmproxy-ca-cert.pem”文件发送到手机上,点击证书文件,便会出现一个安装窗口。”
传输文件可以使用adb
adb push mitmproxy-ca-cert.pem /sdcard/
解决方法为:
(打开手机“设置”;选择“安全和隐私”;点击“更多安全设置”,找到“从SD卡安装”;搜索该证书文件,点击安装.)
1 设置
2 安全与隐私
3 更多安全设置
4 从存储设备安装
5 选中证书文件,点击安装
6 输入锁屏密码
7 给安装文件命名mitmproxy
抖音数据抓取拦截信息: