04-Fiddler详解+抓包定位问题

文章目录

一、Fiddler详解及抓包并定位后端Bug

1.1 Fiddler概述

基本的功能测试:点点点(必备技能)

加入Fiddler:这个相当于代理 ,只要打开Fiddler就会自动拦截请求。其他代理工具同理

也就是说客户端给Web服务器发送请求是通过Fiddler发,响应同理。中间代理的作用。

BUG: 关闭Fiddler之后,系统的代理没有自动关闭,导致无法上网。

解决办法:自己手动关闭。

Inspectors:常用页签

AutoResponse:自动响应,篡改和拦截。

FiddlerScript:脚本,经常用于做弱网测试

Filters:过滤器

1.2 过滤器

如果不使用过滤器,那么就是抓取所有的包。但是我们一般只需要抓取我们自己所需要的包即可 ,所以用到的就是过滤器,仅仅展示项目需要的包即可。

在 Fiddler 的 "Hide if URL contains" 中,过滤无用信息的常用固定写法(基于正则表达式)是:

复制代码
REGEX:(?insx)/[^?/]*\.(css|ico|jpg|png|gif|bmp|wav)(\?.*)?$

综上:过滤的两点:

  • 过滤ip
  • 过滤css,图片等不要的包

不建议用这个软件,难用--->推荐:Reqable :

1.3 抓包需要关注的部分(重要):

请求:请求方式(get,post,put,delete),请求路径(url),请求头,请求数据

响应:响应码,响应头,响应数据,Cookie

1.4 抓包和定位包:定位它是前端还是后端的Bug(重要)

开发团队:前端开发(HTML,CSS,JS,VUE,)和后端开发(Java,Python,开发框架,数据库,设计架构)

前后端分离开发:页面是前端的,但是页面里面的数据是来自后端的接口,然后做前后端联调

如果:请求的数据是没有问题的,但是响应的数据是有问题的,那么是后端处理数据的问题。一般还要结合后端的日志和数据库去判断,看日志里面是否有exception和error。tail-f 日志文件。

如果:请求的数据没有问题,然后返回的数据也没有问题,那么就是前端显示的问题。

二、Fiddler抓取Https协议数据及APP的包/Reqable抓取Https协议数据

2.1 Fiddler抓取Https协议数据及APP的包

https=http+ssl安全加密协议,所以要去看APP必须先要破解ssl安全协议

需要有模拟器/真机

第一步:捕获和解密,Fiddler默认是不会捕获的

第二步:允许外部设备连接到Fiddler

第三步:更新你的CA根证书。需要根证书才能破解。

第四步:注意模拟器的ip要和本机在同一个网段。---ipconfig

能抓取Https的包就能抓取APP的包,因为二者是同一个协议。

2.2 Reqable抓取Https协议数据(重要)


能抓取Https的包就能抓取APP的包,因为二者是同一个协议。

三、网络挟持或篡改返回结果及弱网测试

3.1 篡改返回结果

不确定某个数据出现在的位置是否正确,不确定后台发给前台的某个报文数据是否就是前台某个地方显示的数据,可以篡改返回结果进行测试。如果篡改之后就可以100%确定数据信息。

3.2 弱网测试

在脚本里面,开启弱网测试--->速度很慢

整个页面加载起来特别慢,在页面做操作的时候,要看功能、页面有没有报错--->整个功能都很慢

复制代码
if (m_SimulateModem) {
    // Delay sends by 300ms per KB uploaded.
    oSession["request-trickle-delay"] = "300"; 
    // Delay receives by 150ms per KB downloaded.
    oSession["response-trickle-delay"] = "150"; 
}

四、接口测试

需要经验比较丰富

接口测试用例:接口测试用例并评审。

接口功能用例设计:

  • 正例:
    单接口返回成功场景!链路接口(业务流接口)逻辑实现!
  • 反例:
    鉴权反例:鉴权码为空,错误的鉴权码,鉴权码已过期......
    参数反例:参数为空,参数类型异常,参数长度异常,
    错误码反例:(根据业务而定)
    其他反例场景:
    如接口黑名单,单接口调用次数限制等,分页场景:(0,第一页 1,中间页 5,最后一页 10,100)
  • 兼容性用例:比如一个接口需要兼容多个版本的前端调用。
    其他业务异常

功能测试必备:测试理论,项目实战,Linux,Mysql,Fiddler,App测试。

接口测试:Jmeter,Postman,Apifox

五、Charles入门:简介,优势

简介:它是一个基于http/https协议的代理服务器,半免费

优点:

  • 1.跨平台:windows,mac,linux
  • 2.支持按域名或按接口两种方式查看报文
  • 3.对于弱网测试非常友好,能直接选择网络类型

5.1 Charles原理与功能:抓包机制与六大功能详解

抓包机制:

六大功能详解:

复制代码
Recording settings:过滤器设置SSL
 proxying settings:SSL 安全协议代理设置
 Throttling setting:弱网设置
 Breakpoints settings:断言设置
 Proxy settings:代理设置
 Access control settings:访问控制设置
相关推荐
漂流瓶jz6 小时前
Webpack如何实现万物皆可import?loader的使用/配置/手写实践
前端·javascript·webpack
ZC跨境爬虫7 小时前
跟着 MDN 学CSS day_41:显式轨道、隐式网格与区域命名放置
前端·javascript·css·ui·交互
修己xj8 小时前
告别手动存图!这款叫 Fatkun 的浏览器插件,简直是素材收集神器
前端
袋鼠云数栈8 小时前
从前端到基础设施,ACOS 如何打通企业全链路可观测
运维·前端·人工智能·数据治理·数据智能
AskHarries8 小时前
系统提示词、开发者指令和用户输入的优先级
java·前端·数据库
Moment9 小时前
长上下文会最终杀死 Rag 吗?
前端·javascript·后端
程序员小远9 小时前
Python自动化测试框架及工具详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
qcx239 小时前
【系统学AI】25 论文导读 ①:两篇改变 AI 的开山之作——Attention Is All You Need & ReAct
前端·人工智能·react.js·transformer
kyriewen10 小时前
大文件上传最全指南:分片、断点续传、秒传,一篇就够了
前端·javascript·面试
郑洁文11 小时前
基于Python的Web命令执行漏洞自动化检测系统
前端·python·网络安全·自动化