Fiddler抓包工具-移动终端

本文将主要介绍Fiddler在抓取移动终端数据包方面的应用。

Fiddler

       Fiddler是微软推出的一款很强大很好用的web调试工具。它能记录所有客户端和服务器的HTTP和HTTPS请求,允许你监视,设置断点,甚至修改输入输出数据。

Fiddler还包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展。

本文将主要介绍Fiddler在抓取移动终端数据包方面的应用。

 

Fiddler的优势和局限性

       与另一款常用的手机端抓包工具Wireshark相比,Fiddler有很多类似的地方。譬如:适用于各种有wifi功能的终端(手机、平板等),且设备均无需root或越狱;均使用PC端来获取和展示所抓的数据包。不同之处在于,Wireshark是通过使被测终端连接作为wifi热点的PC无线网络来抓取数据包,而Fiddler是通过将PC与被测终端置于同一局域网(通常是同一个无线网络)下并设置被测终端网络代理来抓取数据包。

相较于Wireshark,Fiddler的优势在于可以拦截发出或者收到的HTTP/HTTPS包,并可以修改其Request和Response数据。然而,Fiddler的局限性也非常明显,它只能用于抓取HTTP和HTTPS包,而不能抓取其他类型的网络包。

 

Fiddler工作原理

       Fiddler是以代理web服务器的形式工作的。

       从上图可以看出,Fiddler使用代理方式,让客户端所有数据流都发给它,然后转发给目标server,目标server的回包发给Fiddler,再由Fiddler转发给客户端。所以不管是Request还是Respone数据包都经过了Fiddler,Fiddler能进行截获和分析。正是它这样架构优势,才有其他工具无法做到的强大功能,只要是支持HTTP代理配置的终端,均支持抓包。

Fiddler工作于OSI七层网络模型中的应用层,使用代理地址:127.0.0.1, 端口:8888。当启动Fiddler时会自动设置代理, 退出的时候它会自动注销代理,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。

 

Fiddler抓取手机端数据包的设置方法

首先,需要确保安装Fiddler的电脑与待抓包手机在同一局域网内(通常是连同一个wifi),因为要将手机的代理指向PC端,不能互相访问是不行的。

使用Fiddler抓取手机端数据包的步骤如下:

1)    Fiddler开启远程连接。Fiddler主菜单-->Tools-->Fiddler Options-->Connections Tab页,勾选Allow remote computers to connect

2)    重启Fiddler

3)    获取PC的IP地址

4)    设置手机代理,指向PC的IP地址,端口号填Fiddler默认的8888,保存即完成了代理的设置,此时就可以用Fiddler去抓取手机端的HTTP数据包了

 

Fiddler的基本界面

       Fiddler界面布局如下:

Inspectors tab下有很多查看Request或Response的消息。其中Raw Tab可以查看完整消息,Headers Tab只查看消息中的Header。

 

Fiddler中设置断点

设置断点修改Request

设置断点有如下两种方法:

法一:

1)    打开Fiddler,点击Rules

2)    Automatic Breakpoints

3)    Before Requests

这种方法缺点在于会中断所有的会话。

其取消方法为:Rules-->Automatic Breakpoints-->Disabled。

法二:

1)    命令行输入命令:bpu msdkdev.qq.com

2)    这种方法只会中断向msdkdev.qq.com发送的Request

其取消方法为:命令行输入 bpu。

 

设置断点修改Response

设置断点的方法也有两种:

法一:

1)    打开Fiddler,点击Rules

2)    Automatic Breakpoints

3)    After Responses

这种方法的缺点在于会中断所有的会话。

其取消方法为:Rules-->Automatic Breakpoints-->Disabled

法二:

1)    命令行输入命令:bpafter msdktest.qq.com

2)    这种方法只会中断msdktest.qq.com返回的Response

其取消方法为:命令行输入bpafter。

 

Fiddler的其他功能

会话比较功能

选中2个会话,右键点击Compare,可以用WinDiff来比较两个会话的不同。

查询会话功能

快捷键CTRL+F 打开Find Sessions对话框,输入关键字进行查询。

还可以使用颜色来标识查询到的会话。

保存会话功能

选择想要保存的会话,右键save-->Selected Sessions。

解码功能

某些Response中的HTML是乱码的,这一方面可能是因为HTML被加密了,我们可以通过如下方法进行解码:

1)    点击Response Raw上方的"Response is encoded any may need to decoded before inspection.Click here to transform"。

2)    选中工具栏中的"Decode",这样会自动解码。

脚本配置功能

     Fiddler 包含了一个脚本文件可以自动修改HTTP Request 和Response.这样我们就不需要手动地下"断点"去修改了。

实际上它是一个脚本文件CustomRules.js ,位于: C:\Users\[your user]\My Documents\Fiddler2\Scripts\CustomRules.js 下。你也可以在Fiddler 中打开CustomRules.js 文件,启动Fiddler, 点击菜单Rules->Customize Rules。

Fiddler Script 的官方帮助文档必须认真阅读, 地址是:http://www.fiddler2.com/Fiddler/dev/ScriptSamples.asp

 

总结

       Fiddler可以截获各种移动终端发出的HTTP/HTTPS请求,还能截获各种浏览器发出的HTTP/HTTPS请求。具有功能强大,完全免费,适用于所有的平台,且适用于所有的浏览器等优点,是一款强大实用且好用的抓包工具。

 

       Fiddler官网地址:http://www.telerik.com/fiddler

最新文章
1WeTest携PC&主机游戏质量保障服务和性能测试平台PerfDog亮相Gamescom 2024 以全场景游戏质量保障服务及性能测试解决方案,助力全球游戏行业的创新与发展
2一张图带你了解小程序隐私合规检测 快速了解小程序隐私合规检测如何防范黑灰产风险,守护用户数据安全
3防范小程序隐私合规风险,筑牢用户信任防线 了解隐私合规检测如何帮助小程序规避数据安全风险
4WeTest 海外测试需求有奖问卷活动中奖名单公布 近日,WeTest 海外测试需求有奖问卷活动圆满结束,经过紧张的统计与筛选,以下朋友们中奖,成功获得了我们的门票礼品。
5海外本地化测试的全生命周期服务 第三期 支付测试 海外支付风控升级,非本地测试封号现象频发,真金测试推进困难?来看WeTest的本地化支付测试方案
购买
客服
反馈