如何利用fiddler手机抓包以及抓取HTTPS数据包

事件背景

上周末服务器出现了啥问题,暂时把http切换到了https,在支付页面选择微信支付进行支付跳转的时候提示了报错,当时没有找到原因,就准备利用fiddler抓包看看什么情况。

开始

安装Fiddler

准备一台电脑,下载fiddler,我们还是从官网下载吧:https://www.telerik.com/fiddler

安装过程中如果遇到.net framework的报错,十有八九是版本问题,下载个高版本的,比如.net framework 4就够了。

配置Fiddler

抓浏览器的包,直接打开fiddler就可以了,但是抓手机的包还是需要配置一下fiddler的。

1.打开fiddler-Tools-Options

如何利用fiddler手机抓包以及抓取HTTPS数据包_第1张图片

2.点击connections,填写Fiddler listens on port:8888(端口号随便自己填写)

勾选Allow remote computer to connect,OK保存。如提示重启则重启fiddler。

如何利用fiddler手机抓包以及抓取HTTPS数据包_第2张图片

配置手机

要想抓到手机的包,手机必须连上和电脑在同一网段的wifi,连上后:

如何利用fiddler手机抓包以及抓取HTTPS数据包_第3张图片

1.进入wifi设置,找到连上的这个wifi,长按或者点击进入其高级设置里/网络详情,如上图

2.代理选择手动,填写主机名(电脑端ip地址),端口号(刚才在fiddler里设置的端口)

这些都好了,手机访问网络的包就可以被电脑端的fiddler抓到了。

抓HTTPS的包

当前我们只能抓HTTP的包,我们一开始的需求是抓HTTPS的包,那还需要进一步设置,放心,也很简单的。

配置fiddler

如何利用fiddler手机抓包以及抓取HTTPS数据包_第4张图片

打开fiddler,在右侧界面选择FiddlerScript,Go to里选择OnBeforeResponse,在下方代码中找到这个方法,复制进去

if (oSession.oRequest["User-Agent"].indexOf("Android") > -1 && oSession.HTTPMethodIs("CONNECT")) {
            oSession.oResponse.headers["Connection"] = "Keep-Alive";
}

再点击左上方的Save Script,重启fiddler。

配置手机

前提还是连接到跟电脑端同一个网段的wifi,浏览器打开电脑端的ip地址+设置的端口号。

如192.168.0.1:8888

如何利用fiddler手机抓包以及抓取HTTPS数据包_第5张图片

点击FiddlerRoot certificate,下载证书,再执行安装。

如果遇到安装不成功的,需要进入WLAN-高级设置-安装证书。

一切准备就绪,准备好你的HTTPS吧。

你可能感兴趣的:(测试工具)