fiddler实现B/S端、APP抓包分析遇到的各种疑问

阅读本文前您需要先下载fiddler并成功安装,并且要有一丢丢测试和接口基础或者在学习fidder时遇到了问题,或许本文可以帮助到你

一、B/S端抓包 Fiddler设置

1、 官网下载fiddler适当版本进行接口抓包

2、 打开如下,如果选择Hide All则为阻止接收接口url展示在窗口

如果选择All Progress则显示浏览器所有捕获到的接口请求

3、 真正的接口测试,需要我们指定对应地址进行请求,过滤掉电脑上那些无用请求,那么fiddler应该如何解决这个问题?

此处我以jenkins的登录为例进行演示,对应项目情况也是一样的,jenkins页面如下:

打开Fideler,输入jenkins访问ip,此处我在本地localhost,具体以实际情况为主

Jenkins登录查看fiddler结果

4、 对抓到的包进行简单分析,如下:

找到登录的包,找到我们需要的header

找到我们需要的登录账号密码就可以开始接口测试了

B/S端浏览器证书配置

原因和背景:b/s端抓取htts,需要授权证书,一般http请求是不需要配置证书授权的

1、 Tools-HTTPS-Actions-导出证书

 

 

导出的证书显示在界面如下

 

2、 浏览器导入此证书(此处firefox)

右上角浏览器-选项-证书-隐私与安全-证书

添加刚刚下载的证书,导入

勾选如下,重启浏览器就可以了

证书无法导出解决

1、 现象:无法导出证书的问题

点击action弹出:the root certificate could not be located

2、解决:点击以下程序,重新执行,再次重复上面的流程export即可

http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe?sfvrsn=2

3、 解决:如果还不行就删除证书,重新执行上面1的步骤和证书导入操作

 

 二、Fiddler抓包APP、微信小程序(安卓、IOS)

2 、fiddler设置

2.2 勾选和端口设置,端口用于手机端

2.3 查看fiddler所在电脑ip

提示:查看方法ipconfig(windows) 或 ifconfig(linux) 找到ipv4,用于手机代理设置的ip

注意:如果ip非固定,需要固定ip ,方法请百度

2.4 Fiddler-tools-HTTPS 勾选如下

勾选from remote clients only 是为了过滤来自于其它http或者https的请求

 

3、手机端设置

3.1 手机设置-代理设置

  设置-无线和网络-WLAN-找到和电脑端一致的网络-修改网络

 

注意:IP输入电脑ip,端口用fiddler上设置的8888在手机浏览器进行访问  结果如下:

 

3.2 证书下载

访问ip+端口后会提示你下载证书,如下

3.3 找到此证书进行安装

证书名称任意命名,点击确定就可以了。

此时连接的office20会自动由不可上网变为可上网状态,如果没配置好证书会有一个感叹号显示在网络处,网络会用不了

如何查找已下载的证书呢,安卓手机参考如图:(下载-进入-安装)

 

4、恢复上网

代理使用完成后需要恢复网络为非代理,否则手机无法上网 

5、online查看

允许远程设备使用本机联网online

点击online可以查看到捕获的IP(本机IP)在列表内

6、微信小程序抓包

步骤1:Fiddler证书设置与前面第2点一致

步骤2:苹果手机设置手动代理网络与安卓一致,参考上面的步骤

步骤3:苹果手机safari浏览器访问ip:8888地址,在提示不安全时仍然允许NOT_TRUST_CERT

步骤4:进入手机设置-配置描述文件-安装证书,安装成功即可抓取app,但是还不能抓取小程序或微信

步骤5:抓取小程序:

由于小程序端是https的,在安装证书以后需要开启证书信任才能访问,开启证书信任开关方法如下

①    苹果端开启:设置->通用->关于本机->证书信任设置->开启

②   安卓端开启:暂未找到信任地,无法抓小程序(如果有找到的请留言分享交流)

三、fiddler抓包微信公众号

1、 与小程序配置一样即可抓取,但是要注意必须保证网络在没有设置代理是通的,在设置代理后网络仍然可用,没有感叹号

2、 需要确保电脑端网络与手机网络是同一个无线网网络

原文地址:https://www.cnblogs.com/yoyoblogs/p/11635690.html