接口测试之代理工具的使用fiddler、mitmproxy
接口测试之代理工具的使用fiddler、mitmproxy.各个工具的差别
1.fiddler是什么
fiddler是web调试工具,能记录所有客户端和服务器的HTTP和HTTPS请求,允许你监视、设置断点、修改输入输出数据。fiddler包含了一个强大的基于事件脚本的子系统。
通过HTTP抓包,可用于web调试、软件自动化测试、软件性能测试、软件接口自动化测试和网络爬虫等,也可用来检查网络安全。同时可以进行数据截取等。
2.启动fiddler
3.fiddler工具的工作原理
fiddler本质是一个web代理服务器,默认工作端口是8888。
fiddler是以代理web服务器的形式工作的,代理地址:127.0.0.1,端口:8888。
4.fiddler的常用使用场景
使用fiddler对HTTP包近照抓取、如何对HTTP进行分析。
5.fiddler的过滤
也可以参考网址:https://www.cnblogs.com/MTXue/p/13937148.html
fiddler过滤功能是为了针对特定的网址进行抓包,更方面快速的看到这个网址的所有内容。
注意:第四步,过滤的网址要与左边的HOST保持一致,不然过滤不到。
6.web网页抓包和fiddler修改包
fiddler如何修改包,首先下断点拦截HTTP请求报文和响应报文,然后再放行。
1.fiddler下断点,修改HTTP报文请求
注意:修改在HTTP请求中的Raw选项才能修改。在修改URL的时候一定也要修改Host。
举例说明,设置单点断点,修改HTTP的url、host中的数据。ex:
- 启动fiddler,设置断点
- 打开浏览器,输入www.google.com,fiddler闪烁,表示拦截成功
- 回到fiddler界面,去掉拦截【shift+F11】,raw选项修改URL和Host
- 点击绿色的Run 头Completion
2.fiddler下断点,修改HTTP报文响应
举例说明,设置单点断点,修改HTTP响应中的数据。ex:
- 启动fiddler,设置断点或者单点设置:bpafter https://www.cnblogs.com/wendyw/p/14512073.html
- 打开浏览器,输入https://www.cnblogs.com/wendyw/p/14512073.html,fiddler闪烁,表示拦截成功
- 回到fiddler界面,去掉拦截【shift+F11】,响应中的raw选项修改title.
- 点击绿色的Run 头Completion
修改结果显示:
3.伪造Referer
Referer:用来让服务器判断来源页面,即用户从哪个页面来的。网站通常用其来统计用户来源,看用户是从哪里搜索页面来的,还是从其他网站链接过来的,或从书签等访问的,以便合理定位网站。
referer也被用作防盗链,即下载时判断来源地址是不是在网站域名之内,否则就不能下载或显示。
只需要在header里面添加一个referer就可以。
ex:
#添加referer Referer:www.so.cn
提问:
1.fiddler抓不到包如何处理?
- 确定是HTTP包还是HTTPS包,HTTPS需要安装证书。
- 检查浏览器代理是否正确,或者换个浏览器
- fiddler开关是否打开
- 过滤设置
- 检查是否捕获Localhost的流量
2.如何抓到想抓的包?
抓包前清空web session列表,有几种方法:
- 菜单栏有个X图标,单机小箭头会看到Remove all选项,清空列表
- 单机web session列表中的任何一个HTTP请求,并按快捷键【CTRL+X】
- 在QuickExec中输入命令:cls,按回车键。
3.fiddler异常退出后无法上网
fiddler异常退出,没有注销代理,系统的代理还是127.0.0.1,端口是8888.解决方法:重启fiddler在关闭或者设置浏览器代理。
4.fiddler排序
5.fiddler中查询会话
6.fiddler中编辑会话
7.过滤会话
8.常用快捷键
9 Quick命令行的使用
help:打开官方的使用页面介绍,所有命令都可以查看,很实用
cls:清屏。
select:选择会话的命令。
?.png:用来选择.png后缀的图片。
bpu:截获request。
还有一个比较重要的就是fiddler支持插件:gallery插件、Javascript formatter插件等。
fiddler实践-前端快速调试
1.如何在服务器上调试JS文件
2.在线调试JS文件
3.AutoResponder工作原理
4.替换网页中的图片
fiddler网络测速
fiddler插件有什么用?