摘要:
抓包工具fiddler抓取http请求和响应的数据包、进行弱网测试、绕过页面限制进行测试
一、网络相关知识
请求
含义:客户端向服务器发送消息
请求行(请求方法 URL 协议/协议版本号)
url:
组成 URL(网址)=协议://主机地址(IP地址或域名):端口号/路径?参数名=参数值&参数名=参数值
面试题:介绍一下http和https的区别
共同点:
都是协议,都可以用来传输数据
不同点:
http不加密,不安全;https加密协议(公网使用).
http端口号是80,https端口号是443
面试题:请求方法(get和post的区别)
相同点:
都可以向服务器发起请求,并且携带参数
不同点:
get:参数放在浏览器的地址栏,可以看到不安全.参数长度有限制(浏览器的地址栏有长度限制),没有请求体.get是获取数据.GET请求会被浏览器主动缓存
post:参数放在请求体,需要抓包才可以看到.参数长度无限制.post是修改数据.post请求不会被浏览器主动缓存,除非手动设置
请求头
键值对的形式展示
客户端的属性信息
请求体(请求参数)
name=value
如果有多个参数,用&连接
在url中用?隔开路径
响应
含义:服务器向客户端返回数据的过程
响应行
协议/协议版本号 响应状态码 状态描述
面试题:响应状态码
2XX : 成功
3XX : 重定向
4XX : 客户端错误
5XX : 服务器错误
响应头
服务器的属性信息
响应体:
服务器返回的结果(图片\HTML\JSON\txt等等)
JSON:{'name1':'value1'}
二、抓包工具
应用场景:
定位前后端Bug
如果抓不到请求,显然是前端问题。
如果有请求但是没响应,那就是后端的问题;
如果有请求也有响应,需要查看响应信息如果返回报错了,则需要具体分析报错内容。
弱网测试
绕过界面限制直接测试服务器
过滤设置
弱网测试
常见问题:
上传文件时进度卡住不动
登录不上或者登录后立即掉线
响应过程中页面控件可点击,导致崩溃
搜索不响应,多次点击后结果显示总在刷新被替换
设置延迟
第一步:Rules----Customize Rules----Ctrl+F调起搜索-----Find what 输入300
第二步:开启网络延迟: Rules---Performance---Simulate Modem Speeds
设置断点
设置断点(请求之前)
是为了查看有没有设置防止篡改数据的策略
设置断点(响应之后)
代理服务器问题解决:先点击Responsesbody is encoded. 然后再修改响应数据,最后点击Run to Completion