Fiddler是位于客户端和服务器端的HTTP代理,目前最常用的http抓包工具之一,功能非常强大,是web调试的利器。
- 监控浏览器所有的HTTP/HTTPS流量
- 查看、分析请求内容细节
- 伪造客户端请求和服务器响应
- 测试网站的性能
- 解密HTTPS的web会话
- 全局、局部断点功能
- 第三方插件
- 使用场景
- 接口调试、接口测试、线上环境调试、web性能分析
- 判断前后端bug、开发环境hosts配置、mock、弱网断网测试
Fiddler安装教程,百度云下载地址
二、B/S架构- 编写程序部署到web服务器
- web服务器运行在服务器上,绑定ip地址并监听某端口,接收和处理http请求
- 客户端通过http协议获取服务器上的网页、文档等资源
如:http://test.lemonban.com/ningmengban/app/login/login.html
ningmengban/app/login/login.html对应服务器上文件路径
Fiddler在穿插在客户端和服务端之间,作为代理服务器,Fiddler监听端口8888,一打开就会修改,我们的系统代理,就可以抓到Chrome的包和IE的包
Hyper Text Transfer Protocol(超文本传输协议)
用于从万维网服务器传输超文本到本地浏览器的传送协议
HTTP协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是用来向客户端传输HTML页面的内容。默认端口是80.
http是基于请求与响应模式的、无状态的、应用层的协议
请求网址:http://test.lemonban.com/ningmengban/app/login/login.html
Shift+Del把其他的删掉
保存请求到一个文本文件
完整的http协议包含请求和响应两块内容
HTTP请求报文主要由请求行、请求头部、空一行、请求正文(请求体)4部分组成
请求头可以为任意内容,可以自定义请求头
自定义Header
HTTP响应报文主要由状态行、消息报头、空一行、响应正文4部分组成
用于表示网页服务器HTTP响应状态的3位数字代码
右键-》Remove->selected Session
快捷键:Del
删除其他请求:Shift+Del
删除:所有请求,Edit->Remove->All Sessions ->快捷键:Ctrl + X
刷新页面:F5
去缓存刷新页面:Shift + F5
Fiddler抓取到的每条http请求(每一条称为一个session)
主要包含了请求的ID编号、状态码、协议、主机名、URL、内容类, body大小、进程信息、自定义备注等信息
https://docs.telerik.com/fiddler/knowledge-base/quickexec
HTTP请求的性能和其他数据分析,如DNS解析的时间,,建立TCP/IP连接的时间消耗等信息
Inspectors意思是检查器
可以多种方式查看请求的请求报文和响应报文相关信息
AutoResponder可用于拦截某一请求,进行如下操作:
重定向到本地的资源
使用Fiddler的内置响应
自定义响应
右键复制图片地址
开启之后,访问网页延迟若干秒,可以修改代码设置时间
5.20 设置Fiddler捕获HTTPS流量Tools->Options设置
就可以抓到HTTPS请求了
Actions -> Open Windows Certificate查看证书是否安装成功
Firewalls需要手动设置
1. 下载,打开雷电模拟器
2. 设置代理
3. 填写IP
4. 开启Fiddler允许远程主机连接
5. 模拟器里输入Fiddler ip + 端口
6.安装证书
此时打开设置>安全>从SD卡安装
此时打开设置>安全>信任的凭据>用户
雷电模拟器这里抓不到包,改用逍遥模拟器,而且需要选用安卓5.1,不知道为什么7老是报443
步骤都是一样的,安装证书设置代理,这里只是改变安卓版本
问题解决
问题解决
雷电模拟器+Fiddler
视频教程