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

最新文章
1客户案例研究:专家安全扫描,守护金融银行小程序安全和私密性 WeTest私有化部署的定制扫描平台让金融银行客户能无成本接入扫描系统并迅速上手使用。客户能方便快捷地根据定制手册进行自助扫描,根据生成的扫描报告,详细洞察漏洞,快速识别并准确定位问题根源。
2客户案例研究:专家渗透测试,洞察电子商务小程序重大交易漏洞 通过WeTest渗透测试服务,某知名零售公司旗下的在线购物类小程序中发现了8处安全风险,我们的安全专家为客户提供了详细的漏洞报告,提供了较为清晰完整的安全加固方案。在回归测试中,中危以上风险均被解决。
3自查小程序4大安全隐患!文末免费赠送小程序安全扫描专业版! 腾讯WeTest现面向小程序开发者开放免费申请使用小程序安全扫描专业版,助您提前发现全面的安全漏洞。扫描文中问卷二维码或点击问卷链接,即可报名参与免费领取活动。
4浅谈渗透测试服务在泛互行业带来的价值 在泛互联网行业中,渗透测试服务对于保障企业的网络安全至关重要。
5云手机卡顿/无特定设备/商店登录受限怎么办?WeTest专有云帮您解决! 公有云满足了大量小微企业、个人的测试需求;随着客户深入使用,也遇到了一系列新问题。本篇将对几个常见问题予以解答
购买
客服
反馈