抓包https与thrift解析工具『mitmproxy』
Posted 民间闲散程序员
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了抓包https与thrift解析工具『mitmproxy』相关的知识,希望对你有一定的参考价值。
再这篇文章开始之前,我先向之前一直关注我的人道个歉,之前写的两篇文章『ios概念性解说』有人吐槽,写的有问题,我承认,iOS我的确是初学,我也找了一个做iOS的朋友看了一下,确实写的有些问题,之后关于iOS的文章我会请他审审稿,不会这样轻易发出。
好了,言归正传,说说mitmproxy,其实之前我抓包一直使用的是Charles,有可视化界面,方便快捷,但是不能抓到https的包,虽然也有说可以抓的,但是按照网上的方法来,并没有成功,而且,由于现在需要测试thrift,Charles就更显得力不从心了。
安装
首先你可以通过brew或者pip来进行安装:
sudo easy_install pip
sudo pip install mitmproxy
sudo brew install mitmproxy
安装完毕之后就可以使用了,但是如果需要解析thrift,需要安装对应的插件
sudo pip install flask
sudo pip install lxml
sudo pip install thrift
sudo pip install passlib
sudo pip install pycrypto
sudo pip install protobuf
sudo pip install pyparsing
sudo pip install six==1.10.0
如果报错还需要装一下libtiff libjpeg webp little-cms2 pillow
如果出现UBInt16错误
可以降低一下版本
sudo pip install construct==2.5.2
开始使用
切换到命令行:
然后打开手机浏览器输入mitm.it
进入该网址:
选择你的平台,下载对应的证书,安装即可。
执行,随便发几个请求,会有如下显示:
点击回车,可以进入查看请求详情:
tab键切换到response:
操作
回车键,或者用鼠标点击进入每一条请求
上下键选择请求
q是返回
在请求界面,输入l,根据输入的字符转进行筛选
在请求的详情界面输入/可以搜索字符
拦截请求
在请求界面输入i,回车,进入Intercept filter模式:
在后面输入你想拦截的网址即可(不用输入全,可以匹配即可):
被拦截的网址为红色,选择该条,点a,进行放行。
或者可以选择编辑再发送:
进入详情页,点击e进行编辑:
编辑好之后再进行发送。
解析模式
前面说到了thrift的解析,如果你发送的请求使用了thrift,你看不到请求体中的实际内容,都是乱码,这时候在详情页中点击m:
选择对应的模式即可,android是m,ios解析是o。
总结
总的来说mitmproxy是一款很方便的软件,几乎能满足我们开发的所有需求(有的需要安装插件),唯一的缺点就是界面不如Charles方便美观,但是已经非常不错了。
以上是关于抓包https与thrift解析工具『mitmproxy』的主要内容,如果未能解决你的问题,请参考以下文章
Charles抓包工具常用功能——Https抓包接口——IOS iPhone手机抓包