fiddler工作原理
Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据。
客户端的所有请求都要先经过Fiddler,然后转发到相应的服务器,反之,服务器端的所有响应,也都会先经过Fiddler然后发送到客户端,所以web客户端和服务器的请求如图所示:
使用Fiddler的话,需要先设置浏览器的代理地址,才可以抓取到浏览器的数据包。而很方便的是在你启动该工具后,它就已经自动帮你设置好了浏览器的代理了,当关闭后,它又将浏览器代理还原了。当然如果发现没有自动设置浏览器代理的话,那就得自己动手去浏览器进行设置代理操作了。(可自行百度每个浏览器是如何设置代理的),反正一定要设置相应的代理,否则fiddler是无法捕获到HTTP请求的。
Fiddler的使用
1、左边web session面板解释
Result :响应结果状态码
Protocol : 通信协议( HTTP / HTTPS /FTP)
Host :接收请求的服务器 主机 和 端口号
URL : 请求URL的路径 、文件 和 查询字符串
Body : 响应中包含的字节数
Caching :响应头中的Cache-Control 和 Expires
Content-Type : 响应中的Content-Type 字段
Process : 数据流对应的本地 Windows进程
Comments : 工具栏 Comments 按钮(消息图标)设置的注解值
2、Web Session 列表快捷键操作
CTRL+A: 选中所有的session;
ESC: 取消选中所有的session;
CTRL+I 反向选中;如果session已选中,则取消,否则选中;
CTRL+X 删除所有的session;
Delete: 删除选中的session;
Shift+Delete 删除所有未选中的session
R 重新执行当前请求
SHIFT+R 多次重复执行当前请求
U: 无条件重新执行当前请求,发送不包含If-Modified-Since 和 If-None-Match的请求头
SHIFT+U 无条件地多次重复执行当前请求。
ALT+Enter 查看当前session的属性;
Insert:切换是否用红色粗体标记选中的session
M 给选中的session添加描述;
3、右边是详情和数据统计面板
1)Statistics关于HTTP请求的性能(例如发送/接受字节数,发送/接收时间,还有粗略统计世界各地访问该服务器所花费的时间)以及数据分析。如图所示:
2)Inspectors是用于查看会话的内容,上半部分是请求的内容,下半部分是响应的内容,提供headers、textview、hexview,Raw等多种方式查看单条http请求的请求报文的信息,如图所示:
3)Filters 即过滤规则,通过设置过滤规则来过滤所需的http请求,勾选左上角的Use Filters开启过滤器:
a.Zone 指定只显示内网(Intranet)或互联网(Internet)的内容,如图所示:
b.Host 指定显示某个域名下的会话,如图所示,如果框框为黄色,表示修改未生效,点击红圈里的文字即可: