打开Fiddler4,默认情况下会捕获所有本机的请求(钉钉、QQ、chrome浏览器、IE浏览器云云)。一开始很疑惑,我明明什么代理都还没有设置,怎么直接就能捕获请求。后来查阅了很多资料,很少有介绍这方面的大概太初级了吧
Fiddler很屌,在打开它的那一瞬间,它就已经设置好了浏览器的代理了。当你关闭的时候,它又帮你把代理还原了,是不是很贴心。。。
一、Fiddler简介
Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一,它能够记录客户端和服务器之间的所有 HTTP请求,是web调试的利器。既然是代理,也就是说:客户端的所有请求都要先经过Fiddler,然后转发到相应的服务器,反之,服务器端的所有响应,也都会先经过Fiddler然后发送到客户端。
Fiddler是一个能够监听本地 127.0.0.1:8888端口的 HTTP 代理服务器,任何能够设置 HTTP 代理为 127.0.0.1:8888 的浏览器和应用程序都可以使用 Fiddler。
fiddler的工作原理是什么呢?其实,每当打开fiddler的时候,它就会自动在你的电脑上把“127.0.0.1:8888”设置为代理服务器,并且fiddler会一直监听8888端口,这样的话,你的电脑上所有8888端口发出的请求或者收到的响应,都会经过这个代理服务器。
二、Fiddler为何默认监听所有的请求?
打开fiddler4工具,第一次打开,fiddler4会自动设置自己为系统代理。IE和chrome浏览器代理都是自动开启。可以查看浏览器代理:
浏览器菜单栏上:(以IE为例)工具—>Internet选项—>连接—>局域网设置—>高级。发现IE已经自动开启了127.0.0.1:8888。
(以chrome为例)设置—>(系统)打开代理服务器—>局域网设置—>高级。发现chrome已经自动开启了127.0.0.1:8888。
因此打开fiddler4后就自动可以捕获这两个浏览器上的请求了。
Firefox浏览器是需要手动设置代理的。可以查看浏览器代理:浏览器菜单栏上:工具—>Internet选项—>连接—>局域网设置—>高级代理。发现代理并未被开启,此时手动设置127.0.0.1:8888即可。
三、自己设置浏览器代理
默认情况下Fiddler会自动开启IE、chrome等浏览器代理服务,这样的话列表中会显示很多我们实际上不需要的请求。我们可以自己来指定监听哪个浏览器。打开fiddler4工具,点击【Tools】-【Options】-【Connections】
Act as system proxy on startup:默认勾选,当启动fiddler的时候就会设置为系统代理。取消勾选,点击确认然后重启fiddler。
然后自己手动设置浏览器代理。(以IE为例)工具—>Internet选项—>连接—>局域网设置—>高级代理。手动设置127.0.0.1:8888即可。
再次查看左侧请求栏的请求数据时,发现只有IE浏览器发出的请求才会被捕获。
抓包工具是测试人员需要学习的工具之一。点滴积累,加油~~