一步一步教你 https 抓包

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

安装

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

pip install mitmproxy

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

pip install mitmproxy --ignore-installed six
开始使用

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


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


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

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


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

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

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

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


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


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

请求拦截

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

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


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

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


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


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

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

如果您觉得本文对您有所帮助,请点击「喜欢」来支持我。

转载请注明出处,有任何疑问都可联系我,欢迎探讨。



文/hi_xgb(简书作者)
原文链接:http://www.jianshu.com/p/1837203986f5
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
HTTP/HTTPS协议分析工具(Http Analyzer)7.5.3.455 汉化特别版 HTTP Analyzer 分两部份,可以集成在IE浏览器中抓包,也可以单独的安装应用程序的包,非常实用。 压缩包内有注册机,大家根据需要选择相应的产品获取注册码。 这是一款实时分析 HTTP/HTTPS 数据流的工具。它可以实时捕捉HTTP/HTTPS 协议数据,可以显示许多信息(包括:文件头、内容、Cookie、查询字符窜、提交的数据、重定向的url地址),可以提供缓冲区信息、清理对话内容、HTTP状态信息和其他过滤选项。同时还是一个非常有用的分析、调试和诊断的开发工具。 Http Analyzer是一个HTTP/HTTPS协议分析工具,用此工具可以非常快速的分析出绝大多数视频博客的视频地址。尽管有一些网站提供了诸如 YouTube ,Google Video 等视频网站的php解码程序,不过那些php程序并不是通用的。当博客视频网站对视频地址加密算法做些变动时,php程序又需要大规模改动才能对应解码。 使用类似Http Analyzer协议分析工具就不同了,所有的博客视频都是http方式提供的,最终的http路径是肯定要明文出现的,所以获取此路径是可能的。 HTTP/HTTPS协议分析工具(Http Analyzer)使用方法 第一步:设置好Http Analyzer的过滤器选项大部分的视频博客的Type都是 video/flv ,video/x-flv ,application/octet-stream 极少部分采用application/x-shockwave-flash 或干脆不表明类型。http的返回结果肯定是2XX,所以在Result 要设置成<300。返回的Size最好采用倒序排列,视频博客的大小一般比较大,倒序容易发现。 第二步:运行Http Analyzer:(点击工具栏第一个绿色箭头图标)打开YouTube 或6rooms视频博客网站。回到Http Analyzer窗口,看你需要的视频地址是不是老老实实的呆在里面呢?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值