0


功能测试与抓包工具Fiddler(http与fiddler)

文章目录

功能测试与数据库

项目与数据库的关系

  • 浏览器<—>(请求/响应)Web服务器Apache<—>(转发/响应)PHP网站框架ThinkPHP<—>(请求/响应数据)数据库MySQL

功能测试与抓包工具

  • 抓包:(package capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包经常被用来进行数据截取等。
  • 功能测试用到抓包工具的场景: - 通过抓包工具截取观察网站的请求信息,帮助我们更深入的了解网站- 通过抓包工具截取、观察网站的请求与返回信息,帮助测试进行Bug定位与描述- 通过抓包工具拦截修改请求信息,绕过界面的限制,测试服务端的功能
  • 常用的抓包工具:Fiddler、Charles、F12开发人员工具等

HTML与HTTP 协议

  • URL:统一资源定位符
  • HTML:超文本标记语言
  • HTTP:超文本传输协议

URL

  • 示例:http://localhost/index.php?m=Home&c=Goods&a=goodsInfo&id=46
  • 格式: - 协议:客户端和服务器通讯的标准,http、https、ssh等- IP或域名- 端口号:协议默认的端口号是可以省略的 - http:默认端口80- https:默认端口443- ssh:默认端口22- 资源路径:资源存放的位置,资源可以是各种超文本信息,如音频、视频等- 参数 - 格式:用?与URL的主体部分分开- 参数格式参数名=参数值,有多个参数时用&拼接即可

HTML

HTML:HyperText Markup Language,超文本标记语言

  • 超文本:声音、视频、图片、超链接等
  • 标记:就是通过【<标记符>内容</标记符>】的格式让内容具有不同的表现形式,从而达到超文本的目的 - 如:<title>百度一下,你就知道</title>- 互联网上浏览的网页,本质上就是超文本标记语言

HTTP

HTTP:HyperText Transfer Protocol,超文本传输协议,是互联网上最常用的协议之一

HTTP请求与响应

基本概念

  • 客户端:用户发送请求,如浏览器、APP等
  • 服务器:处理客户端请求并返回数据,如apache,nginx等
  • 请求:客户端向服务器索要数据
  • 响应:服务器处理完以后,返回给客户端的数据与信息

HTTP请求

  • 请求内容- 请求行: - 位置是在第一行- 请求方式、请求地址- 协议及版本- 请求头: - 位置是在第一行之后,到空行之前- 用来描述客户端信息的相关参数,一般以键值对的形式存在,如描述浏览器类型等- 请求体:位置是在空行之后在这里插入图片描述
  • 请求方式(GET和POST)- get:用于查询,如搜索商品- post:用于提交数据,相对比较安全,如登录、注册

HTTP响应

  • 响应内容 - 响应行:位置是在第一行,包含协议及版本、响应状态码、响应消息- 响应头:位置是在第一行之后,到空行之前,告诉客户端服务器相关信息,如web服务器类型等- 响应体:位置是在空行之后,如登陆成功在这里插入图片描述
  • 响应状态码:由三位数字组成,第一位数字代表响应消息的级别 - 2XX:成功,如200- 3XX:重定向,如301- 4XX:客户端存在问题,如404- 5XX:服务器端有问题,如501
  • 面试题:GET和POST的区别 - 最直观的区别就是GET把参数包含在URL中,POST通过request body(请求体)传递参数- GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息- GET在浏览器回退时是无害的,而POST会再次提交请求- GET请求只能进行URL编码,而POST支持多种编码方式- GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留- GET请求在URL中传送的参数是有长度限制的,而POST没有(这个限制是由浏览器导致)- 多参数的数据类型,GET只接受ASCII字符,而POST没有限制- GET参数通过URL传递,POST放在Request body中

抓包工具

Fiddler原理:

  • 请求先发送给Fiddler,Fiddler接受请求后转发给服务器
  • 服务器处理请求后将响应数据返回给Fiddler,Fiddler再转发给客户端(浏览器)在这里插入图片描述

Fiddler使用

  • 删除请求 - 菜单删除在这里插入图片描述- 命令行删除:cls、clear在这里插入图片描述- 键盘:delete- 快捷键:Ctrl+X
  • 设置过滤
  1. 点击Filter页签,勾选“Use Filters”
  2. Hosts下方的第二个下拉框,选择“Show Only the following Hosts”
  3. 在下方输入框中输入要抓包的主机地址(多个地址用英文分号隔开,如:localhost;127.0.0.1)
  4. 点击右上角的“Actions”,选择“Run Filterset Now”
  5. 如果取消过滤,去掉Use Filters的勾选在这里插入图片描述
  • 设置断点在这里插入图片描述
  • 自动响应
  1. 进入AutoResponder
  2. 选择列表左侧请求,点击【Add Rule】添加mock请求(或点击【Add Rule】手动填写请求地址)
  3. 选择响应结果,模拟测试场景(此处支持打开本地文件,根据文件响应数据(例如json文件)进行mock)
  4. 点击右下角【save】,保存响应设置
  5. 勾选上方选项: (1)Enable rules :开启禁用自动重定向功能,勾选上时,激活规则 (2)Unmatched requests passthrough:未匹配的请求穿透,即勾选上时,不影响那些没满足我们处理条件的请求 (3)勾选了这个选项,在规则里面就可以设置是立即返回响应,还是隔多少毫秒返回响应在这里插入图片描述

HTTPS请求(扩展)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


本文转载自: https://blog.csdn.net/m0_47066335/article/details/124410844
版权归原作者 是凝璇呀 所有, 如有侵权,请联系我们删除。

“功能测试与抓包工具Fiddler(http与fiddler)”的评论:

还没有评论