转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/72876628
<http://blog.csdn.net/zhaoyanjun6/article/details/72876628>
本文出自【赵彦军的博客】 <http://blog.csdn.net/zhaoyanjun6/>
Fiddler是什么?
Fiddler是一个http调试代理,它能 够记录所有的你电脑和互联网之间的http通讯,Fiddler
可以也可以让你检查所有的http通讯,设置断点,以及Fiddle
所有的“进出”的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler
要比其他的网络调试器要更加简单,因为它仅仅暴露http通讯还有提供一个用户友好的格式。
Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展。你对HTTP
协议越了解,
你就能越掌握Fiddler的使用方法。你越使用Fiddler,就越能帮助你了解HTTP协议。Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具。
Fiddler的工作原理
Fiddler
是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。当Fiddler退出的时候它会自动注销,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。
Fiddler 下载安装
官网下载地址:http://www.telerik.com/fiddler <http://www.telerik.com/fiddler>
下载到本地,然后安装正常的安装流程执行。
运行起来就是下图的样子:
Fiddler的运行机制其实就是本机上监听 8888 端口的 HTTP 代理。 Fiddler 启动的时候默认 IE
的代理设为了127.0.0.1:8888,而其他浏览器是需要手动设置的,所以将 Chrome 浏览器的代理改为127.0.0.1:8888 就可以监听数据了。
Chrome 浏览器如何设置代理
在浏览器的最右侧,点击 三个点 图标,然后点击设置
点击左侧的设置,然后点击 显示高级设置 。
然后找到 更改代理服务器设置。
到这里,chrome 浏览器的代理就设置好了。
开启 Https 抓包监听
Fiddler 默认下,Fiddler不会捕获HTTPS会话,需要你设置下。
【浅谈HTTPS以及Fiddler抓取HTTPS协议】 <http://www.jianshu.com/p/54dd21c50f21>
from all processes : 抓取所有的 https 程序, 包括 本机 和 手机
from browsers only : 只抓取浏览器中的 https 请求
from non-browsers only : 只抓取除了浏览器之外的所有 https 请求
from remote clients only : 抓取远程的客户端的 https ,可以代表手机
* 开启手机 Https 抓包
如果只想抓取 手机上的所有 https 请求,就应该选中 from remote clients only 。
如何用Fiddler对Android应用进行抓包
http://jingyan.baidu.com/article/03b2f78c7b6bb05ea237aed2.html
<http://jingyan.baidu.com/article/03b2f78c7b6bb05ea237aed2.html>
如何开启/关闭 抓本机的包
如果需要抓取本机请求,有 3 中方式。
* 方式 1
只需要启动程序并确保左下角为 Capturing状态 即可。
* 方式 2
按快捷键 F12 进行切换。
* 方式 3
File --> Capture Traffic 勾选。
扩展:
注意这个很有用,可以开启抓本机的包,也可以过滤本机的包。当手机开启了开启了代理,就可以把本机的包过滤掉,专注抓手机的包,此时会话列表中都是手机的包了。
清空会话列表
快捷功能
*
. 第一个是Capturing,控制捕获会话的快捷开关;
*
. 第二个是选择当前需要捕获的会话的来源程序,所有程序、浏览器、非浏览器、都不捕获选项。
*
.
第三个是会话request发送前的断点和response返回后且到浏览器前的断点,分别对应点一次,点两次该按钮(默认是空白即不设断点),request断点和response断点详情中详解
*
.后面的而是当前选中会话的一些标识和描述,如当前选中的是127个会话中的第一个, 详细url为http://www......
过滤域名
Fiddler抓包可以完成我们移动开发者的调试测试需求。但是多余的网页请求和手机的其他链接影响我们手机开发的需求。所以我们需要排除其他无用的包,只关注我们指定的域名的请求包。
* 打开fiddler,找到Filters选项并点击打开。如图所示
默认情况下,这个页面是灰色的,代表默认不过滤任何请求。现在我们勾选 Use Filters 。
* 在 Hosts 里面可以看到 No Zone Filter : 不做任何过滤 Show only Intranet Hosts : 只显示内部网络主机
Show only Internet Hosts:只显示互联网主机。
在 Hosts 第二个下拉框里面有几个选项
show only intranet hosts
参考资料
Fiddler 教程 <http://kb.cnblogs.com/page/130367/>
个人微信号:zhaoyanjun125 , 欢迎关注
热门工具 换一换