由于本人能力有限,文中若有错误之处,欢迎指正。
转载请注明出处:http://www.jianshu.com/p/9e05a2522758
Fiddler是什么?
Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的进出Fiddler的数据。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。
![](http://upload-images.jianshu.io/upload_images/3759165-3ed7e6a611f26954.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/74)
写在前面
本文基于Fiddler4
讲解基本使用,主要面向移动端,文中所介绍功能基本可以满足移动端开发调试。Fiddler功能强大不止于此,请自行探索。Fiddler 下载地址 https://www.telerik.com/download/fiddler
![](http://upload-images.jianshu.io/upload_images/3759165-c2bcebfe1ce341bf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/559)
选项面板(Tools --- Telerik Fiddler Options)
![](http://upload-images.jianshu.io/upload_images/3759165-41c170f2cf35bd8d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/558)
- 基本连接设置
本地代理端口可以任意指定,不与当前计算机中的其他软件重复即可。
因为我们要调试手机,所以需要把远程连接打开。
![](http://upload-images.jianshu.io/upload_images/3759165-d0b53abe12166931.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/558)
- HTTPS设置(根据需要)
默认是没开启https支持的,当项目中的接口使用的是https协议时,需要打开该功能。
![](http://upload-images.jianshu.io/upload_images/3759165-f6494005189e026d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/558)
手机端(客户端)设置
保证Fiddler和手机在同一局域网下,设置手机代理服务器地址为Fiddler服务器地址即可。
![](http://upload-images.jianshu.io/upload_images/3759165-5b1a61c60644e3c2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/405)
- 当使用https协议时,需要下载证书(根据需要)
在手机浏览器访问Fiddler服务器---下载证书---安装证书(设置→安全→凭据存储→从sd卡安装)
![](http://upload-images.jianshu.io/upload_images/3759165-1d4af505c145c3aa.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/555)
至此完成基本设置
视图功能区域
会话的概念:一次请求和一次相应就是一个会话。
![](http://upload-images.jianshu.io/upload_images/3759165-53d3c5de00e7c7e8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/700)
下面挑几个快捷功能区中常用几项解释,其他功能自己尝试:
快捷功能区
-
1:给会话添加备注信息
-
2:重新加载当前会话
-
3:删除会话选项
-
4:放行,和断点对应,后面详细讲解
-
5:响应模式。也即是,当Fiddler拿到远程的
response后是缓存起来一次响应给客户端还是以stream的方式直接响应。
-
6:解码。有些请求是被编码的,点击这个按钮后可以根据响应的编码格式自动解码。
-
7:查找会话。
-
8:保存会话。
-
9:截屏。截屏后,会以会话的方式返回一个截图。
- 会话列表的操作比较简单可以自己尝试(单个会话右键)
Inspectors面板介绍
上半部为请求部分,下半部为响应部分。可以根据实际需要查看红色框内的子选项内容。
![](http://upload-images.jianshu.io/upload_images/3759165-526c4c35ac6a8c07.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/673)
断点请求/响应
![](http://upload-images.jianshu.io/upload_images/3759165-06c269c825503143.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/700)
如图,箭头所指的位置时可以点击的。共三种状态:
空白:不设置断点。
箭头向上:表示断点请求。此时客户端的请求是无法直接到达目标服务器的,需要手动控制。
箭头向下:表示断点响应。此时目标服务器的响应是无法直接到达客户端的,需要手动控制。
![](http://upload-images.jianshu.io/upload_images/3759165-d0d64121a61ef772.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/700)
断点请求并修改
![](http://upload-images.jianshu.io/upload_images/3759165-8a6ac58db9799f98.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/700)
如图,操作步骤:
- 设置断点请求,手机端访问接口
- 点击对应的会话
- 查看请求报文信息
- 修改请求内容
- 完成断点,放行,把该请求发送给目标服务器。
断点响应并修改
和断点请求操作类似,只是在响应区域修改报文信息即可。
在断点响应时,请注意超时时间。
会话图标含义对照表
![](http://upload-images.jianshu.io/upload_images/3759165-30354a9c086ae094.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/456)
Fildder是支持命令行操作的,以上功能都可以使用命令行,可以键入help命令到官网查看。
![](http://upload-images.jianshu.io/upload_images/3759165-e776d8e4761ba956.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/673)
写在最后
工欲善其事必先利其器!Fiddler是学习http报文,开发调试,web测试之利器也!它的功能和作用还有很多,可以在日后自行操作尝试!
另:推荐一款Android端网络诊断工具
AndroidHttpCapture github地址
AndroidHttpCapture网络诊断工具 是一款Android手机抓包软件 主要功能包括:手机端抓包、PING/DNS/TraceRoute诊断、抓包HAR数据上传分享。你也可以看成是Android版的Fiddler
(o)/~