fiddler是基于C#的HTTP抓包工具。

fiddler的原理:

  fiddler是http代理服务器,它会抓取浏览器向服务器发送的HTTP请求,然后在将该请求发送到服务器。再获取从服务器返回的请求结果,将结果发送到浏览器。

同类的工具有: httpwatch, firebug, wireshark

该图片来源于网络

注意:fiddler抓包的时候,如果没有正常退出的话,可能会导致你抓取的网站无法正常使用
解决方法:重启fiddler,该网站就能正常使用了。
 
fiddler常用按钮:
1、按F12出现左下角的抓取图标,表示fiddler开始抓包了。
 抓取到的页面URL信息链接不同颜色代表的含义:

此图来源于网络

成功抓取页面后如下,点击左侧抓取到的URL链接信息,右侧会显示解析后的URL链接信息。

 2、回放功能:Replay(Ctrl + R),选中一个请求点击replay就会再次发送被选中的请求。

3、如何设置显示工具栏?

 点击View–>show Toolbar就会如下图显示工具栏

4、如何设置URL的链接颜色?

 

设置成功后如下图链接颜色显示为红色

5、如何设置备注?

选中链接,点击气泡图标,填入备注

设置备注后如下:

 

 6、保存抓取的包

 

常用的fiddler功能有哪些呢?

1、如何抓取手机APP的数据?

2、如何创建假页面进行测试?

3、如何实现慢网速?

4、如何对抓取到的页面进行过滤?

下面我们一个一个来进行讲解:

 

1、如何抓取手机APP的数据?

如何用fiddler工具抓取手机上的包?

1、必须在同一局域网内,设置手机代理转发,将手机上的数据流转发到我们的fiddler的工具上,

由fiddler工具访问网络从而获取到我们想要的内容。

设置代理的步骤:

2、如下图8888为(默认使用)端口号,勾选允许fiddler进行计算机远程连接
 

3、在手机上设置代理,先在Windows上运行cmd输入ipconfig查看ip,
我电脑和手机连接的是同一个路由器(wifi:lin)所以我的ip地址是看无线局域网适配器 无线网络连接的IPV4。
 
4、在手机上找到wifi设置代理为手动,填入IP地址和端口号
5、fiddler点击f12快捷方式,开始抓包。然后手机开始进行操作。
如下图为打开手机自带浏览器,输入www.imocc.com慕课网网站。
 

 

2、如何创建假页面进行测试?

什么是假页面呢?就是在抓取原有的页面到本地,对原有页面按测试要求进行修改。

用修改后的页面替换原有页面,对页面进行测试。

该功能一般用于在项目代码未更新,新的UI页面还未正常使用的情况下,不影响他人测试的情况下,使用抓包直接修改页面代码改为与新UI页面一致进行测试。

Fiddler中使用AutoResponder创建规则替换线上文件
我们的目标是把“我的地盘-禅道”替换为“我的地盘1-禅道”
1、点击F12抓取包,然后在浏览器中输入禅道地址,进入禅道首页,再切换到测试模块,就会如下抓取到页面信息。然后点击F12结束抓包。

2、点击选择被抓取的页面 点击Inspectors–>点击解码–>点击View in Notepad

3、点击View in Notepad保存到记事本后,选择另存为将文件以htm格式保存在本地。

 

4、用Notepad++打开刚刚保存到本地的文件,我把“我的地盘-禅道”改为“我的地盘1-禅道”

 

5、我们还时选择刚刚被抓取的页面,点击AutoResponder,勾选Enable Rules 和Unmatched requests passthrough,点击增加规则add Rule

6、点击选择替换的规则文件,然后我们选择刚刚保存的fiddler文件

7、点击save保存规则
8、点击F12抓取包,然后在浏览器中输入禅道地址,进入禅道首页,然后就会发现“我的地盘-禅道”被替换为“我的地盘1-禅道”。这就表示成功了。

 

3、如何实现慢网速?

 RULES下面performance–>Simulate Modem Speeds直接设置慢网速
设置后你再进行抓包,你会发现抓包的速度慢了很多

如果这个速度你还是觉得快,看不出来差别,那么你可以

点开Rules → Customize Rules 就会弹出一个CustomRules.js文件,修改该文件,加粗部分数值也可以使实现慢网速。

注意:如果该文件没有自动弹出,那么可以去\Fiddler2\Scripts文件夹下进行寻找。

if (m_SimulateModem) {
// Delay sends by 300ms per KB uploaded.
oSession[“request-trickle-delay”] = “300”;
// Delay receives by 150ms per KB downloaded.
oSession[“response-trickle-delay”] = “150″
}
 

4、如何对抓取到的页面进行过滤?

可以利用filters设置过滤,选择Use Filters–>选择Host模式,我们选择Show the following Hosts–>
再填入要过滤出来的域名(多个域名可以用分隔号;进行分割)–>在选择Actions选项并选择Run Filterset Now。
注意:过滤页面填入是不要填入”http://”
过滤结果就如下图左边显示

 参考资料:

版权声明:本文为llxx07原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/llxx07/p/8616042.html