抓取https协议的设置:https://www.cnblogs.com/joshua317/p/8670923.html
Fiddler简介
fiddler是位于客户端和服务器端之间的代理,是一种常用的抓包工具,记录客户端和服务器端的所有请求,可以针对特定的请求分析请求数据、设置断点、调式http/https应用、修改请求数据、修改服务器返回的响应数据是http/https调试的利器。
原理
Fiddler在浏览器与服务器之间建立一个代理服务器,Fiddler工作于七层中的应用层,能够捕获通过的HTTP(S)请求。Fiddler启动后会自动将代理服务器设置成本机,默认端口为8888。Fiddler不仅能记录PC上浏览器的网络请求数据,还可以记录同一网络中的其他设备的HTTP(S)请求数据。
数据传递流程
- 客户端像WEB服务器发送HTTP(S)请求时,请求会先经过代理Fiddler代理服务器。
- Fiddler代理服务器截取客户端的请求报文,再转发到WEB服务器,转发之前可以做一些请求报文参数修改的操作。
- WEB服务器处理完请求以后返回响应报文,Fiddler代理服务器会截取WEB服务器的响应报文。
- Fiddler处理完响应报文后再返回给客户端。
安装:官网下载——一路下一步安装
fiddler有哪些功能
抓包
Fiddler不仅可以抓取网页端请求,还可以抓取手机app的请求。
点击Tools->Options->Connections,勾选允许远程电脑连接功能(Allow remote cpmputers to connect)。
手机端打开并且设置代理(点开你连接的wifi的详情,打开配置代理,点击手动,输入服务器,端口号。服务器为装fiddler的电脑的IP(可以cmd运行ipconfig查到自己电脑ip),端口号为8888.)
打开手机浏览器,输入电脑ip:8888,即192.168.0.10:8888,下载证书进行安装。
此时即可以使用fiddler进行抓包,可以看到fiddler抓包成功。如果想只显示手机端的请求,可以进行设置。
模拟弱网
模拟低网络情况下网页交互是否良好,比如响应时间过长是否有提示等
点击Rules->Customize Rules,然后搜索m_SimulateModem,默认是,发送每KB延时300ms,接收每KB延时150ms,我们将其都改成3000ms进行查看。
然后开启限速功能,Rules->Performance->Simulate Modem Speeds
打开抓包功能,打开百度网站进行测试,显示正在从服务器下载响应
设置断点
修改Request请求数据,比如用百度搜索selenium修改为Fiddler。
设置断点有两种方法:
第一种:打开Fiddler,点击Rules -> Automatic Breakpoint -> Before Requests(这种方法会中断所有的会话),取消方式:点击Rules -> Automatic Breakpoint -> Disabled
第二种: 在命令行中输入命令: bpu www.baidu.com (这种方法只会中断www.baidu.com),取消方式:在命令行中输入命令 bpu
如在请求中找到发送搜索selenium的请求,该请求被中断了,将selenium改成Fiddler,然后点击Run to Completio,即将请求继续发送。
查看自己的百度搜索网页,可看到搜索的内容变成了Fiddler.
取消断点,输入bpu即可。
模拟http请求
Fiddler也可以像postman一样进行发送http请求,在右侧点击Composer.
选择请求方法,填写请求地址以及头部信息,请求数据,点击Execute执行,可以看到Fiddler会话列表最末多出一行请求。
如果想直接在左侧列表的某一条请求上面修改数据,可以直接将此请求拖动到Composer,会自动识别填充,只需要更改自己测试的数据即可。
AutoResponse(重定向功能)
将请求重定向到本地,显示本地的内容。
如修改访问百度,勾选Enable rules,将Unmatched requests passthrough也勾选上,然后Add Rule,第一行是匹配规则,正则表达式进行匹配,第二行是重定向的响应结果,自己可以 进行选择不同类型的。
然后点击Save,下面一行会显示已经保存的重定向的规则。
重启Fiddler,再次访问百度网站,会出现404错误
基本设置
抓包开关:file—capture traffic (一般情况下chrome ie 火狐浏览器都会自动设置系统代理,无需手动再进行网络设置)
抓包https设置:tools—options—https勾选响应按钮——https://localhost:8888下载根证书——安装根证书——fiddler点击Actions信任根证书
根证书导入浏览器(管理证书)
允许远程连接设置:tools—options—connections勾选允许远程连接
fiddler的IP映射:Tools—HOSTS
工具使用
请求图标含义
工具栏
注释、回放请求、删除会话、继续执行、流模式/缓冲模式、解码、保留会话、监控 指定进程、查找、保存会话、切图、计时、打开浏览器、清除IE缓存、编码/解码工具、 弹出控制监控面板、MSDN、帮助
选项卡
statistics:数据的采集,表示统计请求和响应的一些信息
Inspectors:是用于查看会话的内容,上半部分是请求的内容,下半部分是响应的内容
autoResponder:Fiddler的AutoResponder选项卡允许从本地磁盘返回文件,而不是将请求传 输到服务器 在“AutoResponder”选项卡上,输入匹配规则和操作字符串,如果请求URI 与匹配规则匹配,则Fiddler将执行操作
composer:Composer选项卡可进行接口测试,支持手动构建和发请求;也可以在Session列表中拖拽,上半部分放请求头信息,下半部分放请求体信息
filters:开启fiddler后,默认会监听所有的请求,在大多数情况下,我们只需要监听部分请求, 此时可以使用Filters功能去控制,过滤掉不必要的请求。
Hosts/域名过滤方式、请求头过滤方式、响应状态码过滤方式
点击Actins的运行过滤器即可筛选满足条件的请求
还可以通过find/ctrl+f或写script脚本(FiddlerScript表签)的方式进行过滤
设置断点:Rules–>Automatic Breakpoints–>Before/After Requests
去掉断点:Rules–>Automatic Breakpoints–>Disabled
请求/响应断点报文数据修改:修改Inspectors选项卡下Raw标签的内容
模拟弱网测试:Roles-Performance-Simulate Modem Speeds
移动端抓包设置
开启允许远程连接——确保手机网络和Fiddler所在的电脑处于同一个局域网—— 查看fiddler所在电脑的ip地址 ——. 设置手机的网络代理服务为Fiddler的服务地址