web调试工具——Fiddler使用介绍(一)
一、Fiddler工具介绍
Fiddler是一款优秀的web调试工具,它可以记录所有的浏览器与服务器之间的通信信息(HTTP和HTTPS),并且允许你设置断点,修改输入/输出数据。
你对HTTP协议越了解,就越能掌握Fiddler工具使用方法,你越使用Fiddler工具,就越了解HTTP协议。
Fiddler工具无论是对开发人员还是测试人员来说,都是非常有用的工具。
Fiddler可以在官方网站(http://fiddler2.com/)进行下载,SQ学习班群文件里面也有,下载完成后直接按照下一步进行安装即可
二、Fiddler工作原理
Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1, 端口:8888. 当Fiddler退出的时候它会自动注销,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler.
Fiddler工作示意图如下
安装Fiddler后,Fiddler会自动为IE浏览器、火狐浏览器以及Chrome浏览器安装启动插件,并且默认监听浏览器的数据。如果是其他浏览器需要手动设置代理为127.0.0.1:8888,这样就可以监听数据了。
三、Fiddler如何拦截HTTPS请求
Fiddler默认只记录HTTP请求,但不会记录HTTPS,需要进行配置。选择“Tools”-“Fiddler Options”-“HTTPS“,勾选“Decrypt HTTPS traffic”复选框,在弹出的对话框中点击”yes“即可,如下图所示
四、Fiddler界面功能简介
Fiddler工具的主界面如下图所示
1、监控开关是用于控制是否监听数据包的快捷按钮,还可以通过点击左上角”File”-“capture traffic”来开启和关闭监控
2、Fiddler监听进程的类型主要可以分为:所有类型、Web浏览器和非浏览器。用户可以根据选择类型对该类型进行监控,也可以选择“Hide All”隐藏所有。
3、Fiddler的命令行工具叫做QuickExec,它允许用户直接输入命令进行操作,例如:
①cls,清除回话列表
②select,选择会话
③bpu,截取Request
④bpafter,截取Response
更多命令可以输入help查看
Inspectors tab下有很多查看Request或者Response的消息。 其中Raw Tab可以查看完整的消息,Headers tab 只查看消息中的header. 如下图
1、headers,查看header
2、webforms,以直观的界面查看body的值
3、cookies,以直观的界面查看header中cookies的值
4、raw,查看完整的消息结构
五、过滤器
使用Fiddler拦截请求时,会拦截图片、CSS、JS等文件信息,导致我们浏览一个页面时产生很多会话,而这些会话中只有个别是我们需要的,查找起来非常费劲,这时就可以用到Fiddler的过滤功能。
Fiddler提供的过滤器可以过滤请求信息、响应信息、状态码等。对于一些不需要关注的JS文件、CSS文件和Flash文件,以及一些图片文件,我们只需要选择相关的复选框,即可进行过滤。
六、查找会话和保存会话
1、当需要快速查找会话时,可以使用Ctrl+F打开查找界面,输入要查找的内容,还可以设置查找结果的呈现颜色,如下图
2、保存会话
有时候我们需要把会话保存下来,发给别人或者留给以后分析,这时候可以点击“File”--“Save”,选择保存所有会话,或者只保存选中的会话。
- 数据结构之线性表
- 生信宝典之傻瓜式 (三) 我的基因在哪里发光 - 如何查找基因在发表研究中的表达
- 谈谈 char *num="123";和char num[4]="123";的区别
- 未越狱的iPhone/iPad也中招:走近强大的间谍软件XAgent与MadCap
- 【年末收藏】17个新手常见Python运行时错误
- C++ STL之priority_queue
- 链表的相关操作
- 《笨办法学Python》 第0课手记
- Python黑客学习笔记:从HelloWorld到编写PoC(上)
- java多线程(内附实例:窗口售票问题、人和叉子的问题)
- 数据结构之队列
- 《笨办法学Python》 第20课手记
- 泄露数据中的秘密:中国网民的密码设置习惯
- 微信小程序入门《一》: 简 介、文本、事件、样式
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux基础第二课——系统架构
- Day13.继承&多态
- Linux第三课——目录操作
- Linux基础第四课——文件操作
- Linux基础第五课——用户管理
- Linux基础第六课——grep|awk|sort|uniq
- Python向上取整,向下取整以及四舍五入函数
- 使用requests模块post payload请求
- 解决HTTP status code is not handled or not allowed
- Day8.函数那些事儿
- mac下更改Jupyter notebook工作目录
- Scrapy中将item字段转为简体or繁体
- Mac OS 安装Fiddler
- Python requests模块解析XML
- python requests提示警告InsecureRequestWarning