Mac下使用mitmproxy抓包HTTPS数据方法详解(mac下使用工行u盾的解决方案)干货满满

随心笔谈2年前发布 编辑
155 0
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买



在Mac上常用的抓包软件是Charles,网上关于Charles的教程很多,这里介绍另一个抓包神器mitmproxy。mitmproxy是一款可交互式的命令行抓包工具,它除了可以抓包查看http/https请求,还有一个很强大的功能是拦截并修改request或者response,后面我会用实际例子演示如何修改知乎的回答:)

mitmproxy官网介绍了用以下命令来安装

pip install mitmproxy

我在实际安装过程中遇到了一些坑,首先是OSXElCapitan及以上的系统版本在安装时会出现six模块依赖错误,具体可以看这儿的讨论。还有一个问题是安装过程中会出现权限错误,需要以root权限执行。最后用以下命令成功安装,安装不了需要墙一下

pip install mitmproxy –ignore-installed six

首先需要配置一下网络环境,将手机和电脑连在同一个wifi环境下,然后进入手机的设置-无线局域网,点击当前连接的wifi进入详情设置页面,在http代理那一栏输入当前连接的ip地址,端口填8080,这个ip地址可以在电脑上的系统偏好-网络里查看,配置完成如下图

Mac下使用mitmproxy抓包HTTPS数据方法详解(mac下使用工行u盾的解决方案)干货满满

网络环境配置完成后我们可以开始实际的抓包了,只需在电脑上打开终端(命令行操作窗口),然后输入mitmproxy-p8080,如果你看到如下页面说明你已成功进入抓包模式,迈出了第一步,cheer~

Mac下使用mitmproxy抓包HTTPS数据方法详解(mac下使用工行u盾的解决方案)干货满满

接下去你可以用手机打开一些App,不出意外你能看到一些http请求的列表。这时候我们还无法抓到https的包,还需要做一些额外配置。

下面的操作是针对iPhone手机,其他设备也类似。用iPhone打开Safari浏览器并输入mitm.it,这时你会看到如下页面

Mac下使用mitmproxy抓包HTTPS数据方法详解(mac下使用工行u盾的解决方案)干货满满

选择对应平台并安装证书,安装完成后就可以抓https的包了,官网上解释了这个工具是如何工作的

注意:用浏览器打开时需要已经在抓包模式,否则是无法看到上述页面的

好了,到这里我们已经完成了所有的准备工作,接下去就和我一起实际体验一下https的抓包过程吧。

这里以知乎为例,用手机打开知乎,我们应该能看到知乎的请求出现在列表里了,类似下图:

Mac下使用mitmproxy抓包HTTPS数据方法详解(mac下使用工行u盾的解决方案)干货满满

键盘上下移动,Enter键进入查看详情,按Tab键切换顶部导航栏,如下图所示

Mac下使用mitmproxy抓包HTTPS数据方法详解(mac下使用工行u盾的解决方案)干货满满

Tips:输入z可以清空列表,输入f再输入~uxxx可以过滤出url为xxx的请求,更多匹配规则输入?查看

上面演示的是常规的操作,下面介绍一下mitmproxy的另一强大功能,拦截修改request和response。

输入i,然后输入~s再按回车键,这时候就进入了response拦截模式。如果输入~q则进入request的拦截模式,更多的命令可以输入?查看。拦截模式下的页面显示如下图所示,

Mac下使用mitmproxy抓包HTTPS数据方法详解(mac下使用工行u盾的解决方案)干货满满

其中橘红色的表示请求正被拦截,这时Enter进入后再按e就可以修改request或者response。修改时是用vim进行编辑的,修改完成后按a将请求放行,如果要放行所有请求输入A即可。

下图是我修改了某个答案的response请求将回答者的名字做了修改,因为只修改了response并不会影响其他的用户显示:)

Mac下使用mitmproxy抓包HTTPS数据方法详解(mac下使用工行u盾的解决方案)干货满满

上面提到的那些指令在输入?后都能查看到,如下图,另外官网上也有很详细的说明

Mac下使用mitmproxy抓包HTTPS数据方法详解(mac下使用工行u盾的解决方案)干货满满

我用上述方式尝试了大多数的App,包括淘宝、微博,都能抓到https的包,有些有加密,有些没有加密。但是简书做了防中间人攻击的设置,一启用抓包模式就显示网络错误1012,还是做的很不错的,赞一个~

按照上面的过程就可以https抓包了,如果有遇到问题可以联系我,记得抓完后将手机wifi设置里的http代理关闭。开始实际体验一下吧,enjoy~

更多关于抓包HTTPS数据的文章大家可以参考下面的相碰链接

您可能感兴趣的文章:使用Python实现windows下的抓包与解析python如何利用Mitmproxy抓包Python3自定义http/https请求拦截mitmproxy脚本实例python代理工具mitmproxy使用指南详解安装mitmproxy以及遇到的坑和简单用法Windows和夜神模拟器上抓包程序mitmproxy的安装使用详解

© 版权声明

相关文章