fiddler Android下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就行


做开发需要抓取手机app的http/https的数据包,想看APP发出的http请求和响应是什么,这就需要抓包了,这可以得到一些不为人知的api,比如还可以干些“坏事”... 需要工具: Fiddler抓包软件 Android 手机一台 一、如何使用 Fiddler2 下载完成后安装,安装过程就不贴图了。 如下图设置Fiddler 代理: 点击OK,在这里代理就设置完成,一定要重启软件配置才生效,下面是手机端的设置。 浏览器抓包和调试工具(Fiddler) 4.4.6.2 官方最新版 评分: 8.0类别: 编程辅助 大小:759KB 语言: 英文 查看详细信息 >> 二、手机端代理设置 以三星S4为例子, 1、如下图真机三星S4设置: 找到你的Wifi,必须电脑和手机处于同一个Wifi下。最好是电脑发一个Wifi出来。 长按wifi热点,选择修改网络配置。 代理设置为:手动;代理主机名为你的电脑Ip,端口就是刚才Fiddler设置的端口。 ----------------------------------------------------------------------------------------- 2、模拟器(android 2.3)设置 到这里设置完成,让我们看看我们都抓到什么东东。 -------------------------------------------------------------------------------------------------------- 我们看看微博客户端吧,获取首页内容如下: 不禁感叹,很好很强大~~~~~~~~~~~~~~~~~~~~~~~~ 提示:Fiddler可以设置过滤,可以很方便看到我们想要的Http包: Fiddler手机抓包 第一步:配置Fiddler Tools->Fiddler Options... 重启Fiddler 第二步:在手机上安装证书 用手机浏览器打开http://10.240.139.173:8888(IP是你电脑的IP,8888是Fiddler的端口) 在页面上下载FiddlerRoot certificate(文件名FiddlerRoot.cer) 我用的是uc浏览器,下载到了UCDownloads目录下,这里要注意,将FiddlerRoot.cer移动到根目录下(否则会提示未在USB存储设备中找到证书文件)。 接下去:设置->安全和隐私->从存储设备安装 (按照提示操作即可) 第三步:设置代理 打开你手机上无线,代理设置->手动 主机:10.240.139.173(你的运行Fiddler的电脑IP) 端口:8888 确定 接下去就是Fiddler的基本操作了,我们已经看到手机上的数据包了。 X-User-Agent:XOne/1.1.2(AndroidPhone;2.2Later;MI 2S/android4.1.1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值