Fiddler
目录
1. 简易描述
2. 功能描述
3. Fiddler使用
4. 总结
一、简易描述
↶
Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。【搬运-百度百科】
Fiddler相当于代理(中间人)这样的角色,所有的数据都经过Fiddler,数据包对它透明。可以收集、录制等等
二、功能描述
↶
-
了解http协议
-
接口测试,自动化接口测试。开发不规范时,接口描述缺失,抓包(通信中的数据包)测试,以列表的形式展示到Fiddler上进行相关测试。抓取到接口,进行接口测试,可以使用接口测试工具:postman【界面美观】 jmeter【性能测试】。没有完整的接口文档下,录制下来,可以做自动化测试
-
fiddler抓包判断是前端还是后端bug(前后端扯皮)(简单的调试 fiddler抓到包,后端问题,没有抓到包,前端问题)
-
等等
三、Fiddler使用
↶
1. chrome 或者 firefox 可以抓到包的原因
比如QQ浏览器,内核chrome
Fiddler关闭情况下,
Fiddler开启情况下,自动勾选上代理服务器
对应了,Fiddler上“启动时自动扮演系统代理角色”
点击浏览器代理中的,高级设置
可以看到,代理(Fiddler)监听的地址
127.0.0.1就是自己(主机)端口号 8888
又对应了Fiddler监听端口号,所以有时候抓不到包,端口号可能设置有问题
总结一下:
-
chrome请求的到的原因是,设置里的代理中高级里的主机和端口与Fiddler相对应。设置选项中<为Lan使用代理服务器>,自动设置这个选项,不用人为改动,很方便,因此关闭了Fiddler会自动关闭它,代理人不在,浏览器回到正常模式。注意,抓ie chrome浏览器, 打开Fiddler,会自动勾选上代理选项。Firefox浏览器要手动设置代理,方式同上面操作。
-
当浏览器出现拒接代理服务,因为指定了一个代理服务,但是代理它自己却没有出现,当然访问不了。(1.代理去掉,不使用代理,确定即可,然后可以正常访问 2.启动代理【Fiddler】)
-
127.0.0.1 主机 指的就是 自己, Fiddler 默认 8888 端口
2. Fiddler界面介绍
参考链接:Fiddler抓包【1】_介绍及界面概述
就贴一张图片,可以有直观的认识,上面链接功能介绍整理的很好
3. 过滤干扰请求
- 如果想避免干扰,可以指定端口,将默认端口修改为别的端口号,这样就可以只抓本机设置Fiddler指定端口的数据。
- 更进一步过滤,只抓我要测试的网站。对于上面这种修改方式,打开啥网站就出啥数据,也对你来说是干扰。如果想要抓指定网站的数据,使用 Filters 做筛选。
点选 User Filters,里面就可过滤掉不想要的请求。(注意,如果没办法抓到包,可能就是点选了Use Filters,导致包被过滤,抓不到包)
比方说:
我设置了Show only the following Hosts ,下面的框中填写了百度的主机,那么只会抓到与含有百度主机【Host】的请求。注意,要点击右上角的Actions里的Run Filterset now才会生效你的过滤设置。
其它也是差不多一样设置。
5. 杂乱笔记
#
序号- Result 结果 200 请求成功
- Protocol 协议(http/https)
- Host 主机 提交到哪个服务器,网络上服务器,端口类似像门一样,和某个程序或进程通信。
- URL 统一标示定位符 具体那个资源
- Body 内容大小
- Content-Type 数据类型
- Process 哪个进程发出的
完整的HTTP请求
1.请求报文
2.响应报文
在会话列表中,双击其中一个请求,直接会定位到 Inspectors 检查器
点选raw(原始) 格式查看:
请求:
请求行 请求方法 +URL +协议名
请求头:附带信息
请求体:主体内容
响应:
解码(Decode)
状态行 协议名+ 状态码+ 状态语
响应头 头部信息
响应主体 前端页面的渲染
其它格式的作用:
ImageView 查看图片
CSS SyntaxView(语法View)
WebView 内置浏览器的展示
Raw 用原生格式查看
6. 快捷键记载:
- 浏览器清除缓存刷新【区别于直接刷新】 CTRL + F5 ,缓存之后,一些相同的东西就不会再次请求,也就是抓不到这些数据包。
- CTRL + X 快速清除 Fiddler 会话窗口中的请求
7. 其它相关
-
接口测试,不是要是解密,而是要发现接口存在问题
-
Fiddler 的 Composer 做测试使用,可以构建请求
-
接口自动化: Fiddler Postman 界面漂亮 jmeter 接口自动化测试(有局限性)用编程的语言直接发送数据包,完成测试,局限性就比较小
-
接口文档很重要,
-
MD5暴力破解,只要是加密的,不要想去解密(不要想它),那加密没有意义(解密出来,说明开发人员火候不到)
-
接口测试,必须要做的,UI层面非常脆弱的,接口测试可以以低成本发现问题。
-
直接 F12 可以,Chrome firefox 专业级和 Fiddler 比不上
-
参数没有加密, 密码都是明文的话,手机连上代理,全部经过代理(密码就可以看到),数据可以篡改。
-
http 应用层
基于 TCP 三次握手
Connection : keep-alive 再次发起http请求
四、总结
↶
总结一下,大致学会了Fiddler的进一步使用,了解到了之前不懂的地方,之前使用Fiddler都是摸索出来的,再稍微系统地学了一下,感觉还是对自己有提升的。ヾ(◍°∇°◍)ノ゙ 第一篇大概就先写到这里。
点我回顶部 ☚
Fin.