从零开始的软件测试学习之旅(六)测试网络基础知识

news2024/11/28 4:48:17

测试网络基础知识

    • HTTP和HTML
    • URL
    • DNS
    • 客户端和服务器
    • 请求方法和状态码
    • 面试高频
    • Fiddler抓包工具教学
    • 弱网

HTTP和HTML

概念 html: HyperText Markup Language 超文本标记语言
http: HyperText Transfer Protocol 超文本传输协议
超文本: 图片, 音频, 视频
关系:http 可以对 html 的内容进行网络传输

URL

概念: uniform resource locator 统一资源定位符
格式 协议://IP地址:端口号/资源路径http://127.0.0.1:8081/hello; http://localhost
默认监听端口是80, 默认端口号是可以省略的
常见的协议类型: http/ https/ ftp/ ssh/ IMAP/ POP3/ …

DNS

概念:是域名系统 (Domain Name System), 是因特网的一项核心服务作用 它可以将 域名 和 IP地址 相互关联起来

客户端和服务器

概念
客户端client 用户端, 用户使用的程序, 如 B/S 架构中的浏览器, C/S 架构中的手机app
服务器server 对外提供服务的, 解决资源或数据

web服务器:提供web访问
文件服务器:提供文件服务
数据库服务器:提供数据库存储

请求与响应

请求:request , 客户端向服务器索取数据的一种行为
响应:response, 服务器对客户端的请求作出的反应, 一般指返回数据(或者html文档)给客户端

请求
URL, 请求方法 浏览器信息, 支持语言等 请求参数
在这里插入图片描述

响应
http协议和版本, 状态码 web服务器信息, 响应内容的类型, 响应内容长度等 http响应的具体内容

在这里插入图片描述

请求方法和状态码

请求方法
GET:请求的参数放在 URL 中, 典型应用场景就是查询
POST:请求的参数放在请求体中, 更安全
状态码
1xx: 指示信息–表示请求已经接受, 继续处理
2xx: 成功–表示请求已经被成功接收, 理解, 接受
3xx:重定向–要完成请求必须进行更进一步的操作
4xx:客户端错误–请求有语法错误或请求无法实现
5xx:服务端错误–服务器为难实现合法的请求

面试高频

get与post区别

最直观的区别就是GET把参数包含在URL中, POST通过 request body (请求体) 传递参数

GET比POST更不安全, 因为参数直接暴露在URL中, 所以不能用来传递敏感信息
GET请求在URL中传递的参数的长度是有限制的, 而POST没有

GET请求适合用于获取数据,不适合传输敏感信息,而POST请求则适合用于提交数据,可以传输较大量的数据,安全性更高。

Fiddler抓包工具教学

fiddler 是一个 http 调试代理工具, 它能够记录并检查所有你的电脑和互联网之间的通信
注意: fiddler 是用 C# 编写的, 所以安装运行会依赖 Microsoft .Net Framework

原理:代理服务器从中接受过滤客户端的信息

未使用前

在这里插入图片描述

使用后

在这里插入图片描述

基础操作

1.抓取数据包 2.过滤数据包 3.删除数据包

抓取数据包

1.打开 fiddler
2. 配置 fiddler 和 浏览器代理
3. 通过浏览器发起请求
4. 查看捕捉的数据包
HTTPS抓包配置
fiddler 默认不开启 https 抓包, 需手动配置
1. Tools -> Options -> HTTPS
2. 选中"Decrpt HTTPS traffic", Fiddler就可以截获HTTPS请求, 第一次会弹出证书安装提示, 若没有弹出提示, 勾选 Actions -> Trust Root Certificate, 默认安装即可
3. 勾选 “Ignore servercertificate errors (unsafe)”
浏览器代理配置

在这里插入图片描述

fiddler默认不开启https抓包,需配置

在这里插入图片描述

在这里插入图片描述

过滤数据包

在这里插入图片描述

删除数据包

三种方式
1.工具栏中 X 按钮 -> remove all
2.底部命令行输入 clear 或者 cls
3.选中数据包 -> 点击键盘上的 DELETE 或者右键 Remove (按条件删除所选的/未选的/所有的)

典型应用场景

场景和作用
1.抓包:辅助定位bug
2.改包:涉及接口测试/ 安全测试
3.弱网:专项测试
4.前端性能分析:分析前端性能

抓包

在这里插入图片描述

改包

步骤
1.浏览器发起请求
2.fiddler记录请求, 并把请求拖到 composer , 进行修改
3.在 composer 中, 点击 Excute , 发送模拟请求
4.在 fiddler 中查看响应

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

拦截并修改

在这里插入图片描述

在这里插入图片描述

演示视频如下

请求保存到本地

1.保存请求, fiddler回话列表, 某一个请求右键 -> Save -> Request -> Entire Request
用法1: 查看
用法2: 放到composer中, 重新请求

2.[用法2]使用请求, 把保存的请求的内容复制到 composer , 修改或直接执行

模拟响应

步骤
1.浏览器发起请求, fiddler 抓包
2.使用 fiddler 的 AutoResponder 修改响应的规则, 自动模拟响应
3.(可能需要清除浏览器缓存), 并再次使用浏览器发起请求
4.浏览器查看响应

在这里插入图片描述

弱网

1.Rules -> Customize Rules… 点击
2.进入到编辑脚本中, 修改限速, 保存
修改每KB的上传延迟, 默认 300ms
修改每KB的下载延迟, 默认 150ms

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

3.启动限速 Rules -> Performance -> Simulate Modem Speeds 点击
4.发起请求, 并查看响应效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1650299.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用友GRP A++Cloud 政府财务云 任意文件读取漏洞复现

0x01 产品简介 用友GRP A++Cloud 政府财务云系统具有多项核心功能,旨在满足各类组织的财务管理需求。首先,它提供了财务核算功能,能够全面管理企业的总账、固定资产、现金、应付应收等模块,实时掌握企业的财务状况,并通过科目管理、凭证处理、报表分析等功能为决策提供有…

php使用服务器端和客户端加密狗环境部署及使用记录(服务器端windows环境下部署、linux环境宝塔面板部署、客户端部署加密狗)

php使用服务器端和客户端加密狗环境部署及使用记录 ViKey加密狗环境部署1.windows环境下部署开发文档验证代码提示Fatal error: Class COM not found in 2.linux环境下部署(宝塔面板)开发文档验证代码提示Fatal error: Uncaught Error: Call to undefine…

Redis 入坑基本指南

引言 本指南将帮助您了解如何安装、配置和基本使用 Redis。Redis 是一款开源的高性能键值存储系统,可用于缓存、数据库、消息中间件等多种用途。 1. 安装 Redis a. 下载 Redis: 可以从 Redis 官方网站(https://redis.io)下载最…

CRM定义是什么?

CRM,即客户关系管理,是一种综合性的管理策略,旨在通过一系列技术手段和业务流程,建立、维护和优化企业与客户之间的关系。它不仅仅是一种技术工具,更是一种以客户为中心商业哲学,是现代企业提升竞争力、实现…

Pycharm远程同步的mapping与sync

用Pycharm进行项目远程部署的时候会遇到两个同步文件,一个是点击 tools—>deployment—>configration——>mapping 一个是链接虚拟环境的时候会有一个sync,那么这两种同步有什么区别呢? 区别就是,2包括1,要用…

rag-embeddings基础流程

什么是检索增强的生成模型 LLM 固有的局限性 LLM 的知识不是实时的LLM 可能不知道你私有的领域/业务知识 检索增强生成 RAG(Retrieval Augmented Generation)顾名思义,通过检索的方法来增强生成模型的能力。 类比:你可以把这个…

[笔记] Win11 Microsoft Store App 离线下载

微软应用商店无法下载或下载缓慢解决方法 在一些环境下 Microsoft Store 下载速度缓慢,或者需要账号登录才能安装的场景,可以通过找到对应的离线安装包的形式进行安装。 Micorsoft Store 中的离线安装包一般后缀为 AppxBundle 和 Appx。以 Ubuntu 为例…

【数据结构】C/C++ 带头双向循环链表保姆级教程(图例详解!!)

目录 一、前言 二、链表的分类 🥝单链表 🥝双链表 🥝循环链表 🥝带头双向循环链表 🍍头节点(哨兵位)的作用 ✨定义: ✨作用: 🍇总结 三、带头双向循环链表 …

Backblaze发布2024 Q1硬盘故障质量报告-2

截至2024年第一季度末,我们正在跟踪279,572块正在运行的硬盘。硬盘型号在2024年第一季度末必须拥有500块或更多的硬盘,并在整个使用寿命期间累积超过100,000个硬盘工作日,达到这个条件的所有型号盘的故障率趋势表现如下: 除了三种…

美国纽扣电池UL4200A及16CFR1262标准亚马逊要求

2023年9月21日,美国消费品安全委员会CPSC(Consumer Product Safety Commission) 决定采用UL 4200A-2023(包含纽扣电池或硬币电池的产品安全标准)作为包含纽扣电池或硬币电池的消费品的强制性消费品安全规则,相关要求同时被编入到1…

asp.net成绩查询系统

说明文档 运行前附加数据库.mdf(或sql生成数据库) 主要技术: 基于asp.net架构和sql server数据库 功能模块: asp.net成绩查询系统 学生功能有查看成绩和修改账号密码等 后台管理员可以进行用户管理 管理员添加管理员查询注…

解决VScode -正在本地下载 VS Code 服务器

不知道怎么回事再次连接服务器的时候一直卡在这里了,查看输出信息发现一直卡在下载处,报错信息如图1,输出信息如图2。 1.报错信息 图1 报错信息 图2 输出信息 2.尝试 【已解决】设置SSH主机:VS Code-正在本地下载 VS Code 服务器…

数据库系统理论——绪论

文章目录 前言一、数据库四个基本概念1、数据2、数据库3、数据库管理系统(DBMS)4、数据库系统(DBS) 二、数据模型1、概念数据模型2、逻辑数据模型3、物理数据模型 三、三级模式1、图片解析2、二级映像 前言 最近很长时间没更新学…

Linux信号捕捉

要处理信号, 我们进程就得知道自己是否收到了信号, 收到了哪些信号, 所以进程需要再合适的时候去查一查自己的pending位图 block 位图 和 hander表, 什么时候进行检测呢? 当我们的进程从内核态返回到用户态的时候&…

基于springboot+vue+Mysql的教师人事档案管理系统

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…

layui 数据表格 拖动 列、行 位置 重新排序 等

先贴官网 layui官网 ; 再贴一个要使用的 插件官网 : layui-soul-table 示例文档 ; 这个插件功能很多 看到那个下载 后悔没早点知道啊 还自己写了 一个下载 可以到官网看看 很多实用的 需要引入的 js layui.config({base: rootPath…

LTE的EARFCN和band之间的对应关系

一、通过EARFCN查询对应band 工作中经常遇到只知道EARFCN而需要计算band的情况,因此查了相关协议,找到了他们之间的对应关系,可以直接查表,非常方便。 具体见: 3GPP TS 36.101 5.7.3 Carrier frequency and EAR…

PCIE协议-1

1. PCIe结构拓扑 一个结构由点对点的链路组成,这些链路将一组组件互相连接 - 图1-2展示了一个结构拓扑示例。该图展示了一个称为层级结构的单一结构实例,由一个根复合体(Root Complex, RC)、多个端点(I/O设备&#xf…

计算机考研|今年这么多高校改考408,该怎么择校呢?

25年改考408院校名单 考研第一重要的事情并不是分要多高,而是要能考得上! 尤其是408,绝对是选择大于努力的典范。方向不对,努力作废! 就看我22年的分数线吧,最炸的就属上海交大了,大旱区结果…

java-函数式编程-语法

目录 1、函数表现形式 分类 lambda表达式 参数类型可以全写,也可以全不写,但不能一部分写,一部分不写lambda 的省略策略:凡是可推导,都可以省略 方法引用 练习-判断语法正确性 练习-写出与方法引用等价的lambda表达式…