1
Fiddler抓不到包如何排查原因
1、先确定是HTTP包抓不到,还是HTTPS包抓不到。如果只是HTTPS包抓不到,说明是证书的问题,安装下证书即可。
2、检查浏览器代理设置是否正确,可以考虑换个浏览器试试。
3、检查Fiddler的捕获开关是否开启。
4、检查是否有设置什么过滤条件。
5、检查浏览器是否有安装什么上网插件之类的 ,会改变代理,导致抓不到包(比如谷歌访问助手、iGuge插件等,在抓包时要将插件临时停掉)
2
Fiddler异常退出后,电脑无法上网
任何一款软件在使用过程中都有可能会出现卡死或者异常退出的情况,当Fiddler软件异常的时候,电脑的代理可能恢复正常,此时可以检查电脑代理配置,或者将抓包软件重新打开,然后再正常关闭。
3
Fiddler比较两个会话的差异
需要先下载文件对比工具windiff,官网下载地址:
https://www.grigsoft.com/download-windiff.htm
在fiddler中预留了一个对比文件差异的工具入口,可以在菜单栏Tools->Options->Tools下面指定文件对比工具的路径:
然后在会话列表选择2个会话,右键进行对比:
对比结果类似下图格式,会显示请求参数和响应结果的差异:
4
Fiddler安装扩展插件
当你觉得fiddler的功能还不够强大的时候,可以安装一些扩展插件来扩展它的功能,Fiddler官网提供了一些官方的扩展插件和一些第三方的插件可供下载使用,官网插件下载地址如下:https://www.telerik.com/fiddler/add-ons,也可以自己用开发语言开发一款新的插件。
插件如何安装?
插件下载下来后,一般为一个exe文件,双击一下,就会生成一个dll,将dll文件拷贝到fiddler安装目录下的Scripts文件夹下即可。dll的一般默认会直接生成到Scripts文件夹下,如果找不到的话,可以点击页面的Show details查看生成的插件dll路径:
5
通过Fiddler导出jmeter脚本
做接口测试的时候,在没有需求文档的情况下,往往会通过抓包去自己分析接口的相关参数,然后在自己手写脚本去实现接口自动化。接下来介绍一个小技巧,通过Fiddler的一个插件,抓包后直接导出成jmx文件(jmeter脚本)。插件为:JmeterExport.dll,下载地址为:
链接:https://pan.baidu.com/s/16yAueWXLzSPIPIQBxo2FVA
提取码:1234
插件使用方法:
1、将JmeterExport.dll复制到Fiddler安装目录下的ImportExport文件夹中,然后启动Fiddler进行抓包,然后在请求列表中选择要导出的接口,点击左上角菜单的File->Export Sessions ,然后在弹出框中选择Jmeter Scripts选项,即可导出jmx文件。(在Fiddler5.0的版本上测试过可以使用 ,建议不要使用太低版本尝试)
2、将导出的jmx文件用jmeter打开即可。打开的时候可能会报如下错误:
这是因为我使用的fiddler插件导出的脚本中添加了json响应断言的插件,需要下载一个jmeter-plugins-json的插件放置在jmeter安装目录lib文件夹下的ext文件夹中即可。对应的插件在上面的网盘地址中有提供。当然,如果大家从网上下载其他版本的fiddler导出插件的话,导出的脚本可能不会报错。
6
通过Fiddler的AutoResponder功能调试代码、mock接口
Fiddler中有个AutoResponder页签,该页签可以实现前端js代码调试、mock接口等功能,从英文单词的意思翻译过来就是自动响应,通过配置一定的规则,在满足一定规则的情况下,自动给出指定的响应结果。
具体操作方法,小编这里安利大家查看一下小编之前写的2篇文章,使用Fiddler Everywhere工具的AutoResponder功能。
Fiddler Everywhere:与Fiddler属于同一公司发布的另一款抓包工具,支持win、linux和mac平台,ui页面比fiddler美观,但目前功能没fiddler强大,功能还在不断的完善中。