彩票走势图

移动终端抓包工具—Fiddler

转帖|行业资讯|编辑:龚雪|2016-05-31 15:08:36.000|阅读 1057 次

概述:Fiddler是微软推出的一款很强大很好用的web调试工具。本文将主要介绍Fiddler在抓取移动终端数据包方面的应用。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

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

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

本文将主要介绍Fiddler在抓取移动终端数据包方面的应用。 关于Fiddler工具的介绍,点击这里

网页抓取、测试工具iMacros

点击下载

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的官方帮助文档必须认真阅读,地址点击这里。

总结

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

原文转载自:

 


标签:网页测试测试优化软件测试技术

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP