fiddler Android下https抓包

本文介绍如何使用Fiddler进行HTTPS抓包,包括基本设置、处理证书验证及特定情况下的配置调整。

最近开始学习fiddler安全测试,现将学习知识写下,供大家分享,也供自己以后参考学习。

一、普通https抓包设置

先对Fiddler进行设置:

查看图片

勾选“CaptureHTTPS CONNECTs”,接着勾选“Decrypt HTTPS traffic”。同时,由于我们是通过WiFi远程连过来,所以在下面的选项框中选择“...fromremote clients only”。

如果你要监听的程序访问的HTTPS站点使用的是不可信的证书,则请接着把下面的“Ignore servercertificate errors”勾选上。

查看图片

监听端口默认是8888,你可以把它设置成任何你想要的端口。勾选上“Allow remote computersto connect”。

为了减少干扰,可以去掉“Act assystem proxy on startup”。

3)设置Android设备,添加代理服务器

保证PC所在网络和Android所用的wifi是相通的(最好是在自己PC 用360wifi供手机上网)。

获取PC的局域网IP地址


这里的IP是192.168.18.39。

下面来设置Android设备上的代理服务器:

打开WiFi设置页面,选择要连接的AP,并且长按,在弹出的对话框中,选择“修改网络”。

在接下来弹出的对话框中,勾选“显示高级选项”。在接下来显示的页面中,点击“代理”,选择“手动”。

代理服务器主机名设为PC的IP,代理服务器端口设为Fiddler上配置的端口8888,点"保存"。

这样就可以对普通的https抓包了。


二、过证书校验

上面的设置还不能抓对https证书进行了校验的APP,像我们公司的APP对安全要求比较高,还需要将Fiddler代理服务器的证书导到Android设备上才能抓这些APP的包。

安装的过程:

将证书FiddlerRoot.cer放到手机SD卡根目录下,点击手机设置-安全和位置-从存储盘安装证书

在会弹出对话框中“凭据用途”选择Wi-Fi,点击确定


三、使其在HttpURLConnection下正常抓包

通过上面的设置大多数的APP都可以正常抓包了,但是像我们公司的APP还是不行,会报错

After the client received notice of the established CONNECT, it failed to send any data.

还需要对fiddler进行如下设置:

点击"Rules->CustomizeRules";

在这个函数OnBeforeResponse后面添加

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

如下图所示:

查看图片

这里的" Android"可替换为User-Agent里的其它字符,确保匹配上User-Agent就行


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值