经常开发时面临手机客户端测试反馈是接口问题,但后端看日志发现是客户端接口调用问题,从而造成大量时间浪费联调下,故通过Fiddler设置代理实现抓包客户端码流非常有必要,Fiddler非常简单易用,故花了些时间学习整理 ,供大家参考!
fiddler下载链接:https://www.telerik.com/fiddler
建议百度找下绿色版本,官网下载很慢
Fiddler工具简介
Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据。
你对HTTP 协议越了解, 你就能越掌握Fiddler的使用方法
你越使用Fiddler,就越能帮助你了解HTTP协议。
Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具。
Fiddler配置
打开Fiddler, Tools-> Fiddler Options (配置完后记得要重启Fiddler) 选中“Capture HTTPS CONNECTS", Fiddler就可以截获HTTPS请求。
2.选中"Allow remote computers to connect". 是允许别的机器把HTTP/HTTPS请求发送到Fiddler上来。
Android手机设置代理
1.首先要保证电脑和手机在同一局域网
2.查看电脑ipv4地址.打开cmd窗口输入:ipconfig
3.进入手机的设置->点击进入WLAN设置->选择连接到的无线网,点右边的箭头(有的手机是长按弹出选项框)
4.代理右边这一行----
选择:手动
选择修改网络配置:1)配置主机名:与主机电脑IP地址保持一致 ;2)端口号:8888
HTTPS请求手机上安装证书
使用手机的浏览器打开:http://192.168.0.xx:53895 点"FiddlerRoot certificate" 然后安装证书
注意:测试完后,要删除wifi设置的代理,要不然关闭电脑后,手机没法上网。
IOS手机设置代理
IPhone上配置Fiddler为代理
打开IPhone, 找到你的网络连接, 打开HTTP代理, 输入Fiddler所在机器的IP地址(比如:192.168.1.104) 以及Fiddler的端口号53895
IPhone上安装Fiddler证书
确定Fiddler所在的PC机的IP地址
打开IPhone 的Safari, 访问 http://IP:53895, 点"FiddlerRoot certificate" 然后安装证书
打开fiddler主页面就是抓包信息了
如果过滤掉无用的内容呢?
1、User Fiters启用
2、Action
Action:Run Filterset now是否运行,Load Filterset加载,Save Filterset保存;
3、Hosts过滤
Zone:指定只显示内网(Intranet)或互联网(Internet)的内容;
Host:指定显示某个域名下的会话;
-No Host Filter:无HOST过滤;
Hide the following Hosts:只显示如下HOST;
Flag the following Hosts:加粗显示如下HOST;
输入多个HOST,多个之前用半角逗号或者回车分隔;
支持通配符:*,baidu.com;
步骤:选择Hosts--->输入过滤条件单条件(ir.baidu.com)或多条件(ir.baidu.com,www.baidu.com或ir.baidu.com+Enter+www.baidu.com)或通配符(*.baidu.com)--->Changes not yet saved--->选择Ations中Run Filterset now;
4、Client Process过滤
客户端进程过滤规则:
Show only traffic from:你可以指定只捕获哪个Windows进程中的请求;
Show only Internet Explorer traffic:只显示IE发出的请求;
Hide Windows RSS platform traffic:隐藏Windows RSS平台发出的请求;
5、Request Headers过滤
请求header过滤规则:
经常使用:Show only if URL contains;
Flag requests with headers:标记带有特定header的请求;
Delete request headers:删除请求header;
Set request header设置请求的header;
6、Breakpoints
断点设置规则:
Break request on HTTP POST:给所有POST请求设置断点;
Break request on HTTP GET with QueryString:给所有带参数的GET请求设置断点;
Break response on Content-Type:给特定的Content-Type设定断点;
7、Response Status Code过滤
响应HTTP状态过滤规则:
Hide success(202,204,206):隐藏响应成功的session(202,204,206);
Hide Authentication demands(401):隐藏未经授权被拒绝的session(401);
Hide redirects(300,301,302,303,307):隐藏重定向的session(300,301,302,303,307);
Hide Not Modified(304):隐藏无变更的session(304);
8、Response Type and Size
响应类型和大小过滤规则:
Show all Content-Type:显示所有响应类型;
Hide smaller than ?KB:隐藏小于指定大小的session;
Hide larger than ?KB:隐藏大于指定大小的session;
Time HeatMap:获得即时数据(绿色阴影代表响应时间在50毫秒以内;超过50毫秒但在300毫秒之内的响应条目没有颜色;响应时间在300至500毫秒之间的会涂以黄色;超过500毫秒的用红色底纹显示);
Block script files:阻止脚本文件,显示为404;
Block image files:阻止图片文件;
Block SWF files:阻止SWF文件;
Block CSS files:阻止CSS文件;
9、Response Headers
响应header过滤规则:
Flag response that set cookies:标记会设置cookie的响应;
Flag response with headers:标记带有特定header的响应;
Delete response headers:删除响应header;
Set response header:设置响应的header;