常见抓包方法教程(抓包技术的原理是什么)

Fiddler 简介

Fiddler 是位于客户端和服务器端的 HTTP 代理目前最常用的 http 抓包工具之一功能非常强大,是 Web 调试的利器

关注+转发+私信【软件测试】领取Fiddler安装包和配套学习资料

  • 监控浏览器所有的 HTTP/HTTPS 流量
  • 查看、分析请求内容细节
  • 伪造客户端请求和服务器响应
  • 测试网站的性能解密 HTTPS 的 Web 会话
  • 全局、局部断点功能
  • 第三方插件

场景使用场景

  • 接口调试、接口测试、线上环境调试、Web 性能分析
  • 判断前后端 bug、开发环境 hosts 配置、mock、弱网断网测试

B/S 架构

编写程序部署到 Web 服务器Web 服务器运行在服务器上,绑定 ip 地址并监听某端口,接收和处理 http 请求客户端通过 http 协议获取服务器上的网页、文档等

工作原理

HTTP

Hyper Text Transfer Protocol(超文本传输协议)用于从万维网服务器传输超文本到本地浏览器的传送协议HTTP 协议是基于 TCP 的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是用来向客户端传输 HTML 页面的内容。默认端口是 80http 是基于请求与响应模式的、无状态的、应用层的协议

完整的 HTTP 协议

完整的 http 协议包含请求和响应两块内容

HTTP 请求报文

HTTP 请求报文主要由请求行、请求头部、空一行、请求正文(请求体)4 部分组成

如下是 fiddler 某个会话的请求报文

请求方法( Request Method)

请求方法 备注
GET 请求资源
POST 提交资源
Head 获取响应头
PUT 替换资源
DELETE 删除资源
OPTIONS 允许客户端查看服务器的性能
TRACE 回显服务器收到的请求,用于测试或诊断

URL

Uniform Resource Locator:统一资源定位符,用于描述网上的资源格式:schema://host[:port#]/path/…/[?query-string]

scheme:协议,如 http,https,ftp 等host:域名或者 IP 地址port:端口path:资源路径query-string:发送的参数

如:https://www.baidu.com/s?wd=柠檬班

请求头(Request Header)

请求头 描述
Host 主机 ip 地址或域名
User-Agent 客户端相关信息,如果操作系统、浏览器等信息
Accept 指定客户端接收信息类型,如:image/jpg,text/html,application/json
Accept-Charset 客户端接受的字符集,如 gb2312、iso-8859-1
Accept-Encoding 可接受的内容编码,如 gzip
Accept-Language 接受的语言,如 Accept-Language:zh-cn
Authorization 客户端提供给服务端,进行权限认证的信息
Cookie 携带的 cookie 信息
Referer 当前文档的 URL,即从哪个链接过来的
Content-Type 请求体内容类型,如 Content-Type:application/x-www-form-urlencoded
Content-Length 数据长度
Cache-Control 缓存机制,如 Cache-Control:no-cache
Pragma 防止页面被缓存,和 Cache-Control:no-cache 作用一样

HTTP 响应报文

HTTP 响应报文主要由状态行、消息报头、空一行、响应正文 4 部分组成

如下是 fiddler 某个会话的响应报文

状态码(Status Code)

用以表示网页服务器 HTTP 响应状态的 3 位数字代码

状态码 描述
1XX 提示信息,请求被成功接收
2XX 成功,请求被成功处理 200
3XX 重定向相关 304
4XX 客户端错误 404
5XX 服务器端错误 500

响应头(Response Header)

响应头 描述
Server HTTP 服务器的软件信息
Date 响应报文的时间
Expires 指定缓存过期时间
Set-Cookie 设置 Cookie
Last-Modified 资源最后修改时间
Content-Type 响应的类型和字符集,如:Content-Type: text/html; charset=utf-8
Content-Length 内容长度
Connection 如 Keep-Alive,表示保持 tcp 连接不关闭,不会永久保持连接,服务器可设置
Location 指明重定向的位置,新的 URL 地址,如 304 的情况

GET 请求

格式 http://host:port/path?xx=aa&yy=bb如:http://120.78.128.25:8080/futureloan/mvc/api/member/register?mobilephone=13555555528&pwd=123456说明:

  • http/https:协议类型
  • host:服务器主机 ip 地址或域名
  • port:端口号,如果是 80 可以省略,其它端口必须指明
  • path:访问资源的路径
  • ?:分隔符,用于区别 path 和参数
  • xx=aa、yy=bb:请求参数列表
  • &:多个参数的连接符号

发布于 2021-12-07 19:47:37
收藏
分享
海报
0 条评论
51
上一篇:不忠电影讲解(电影不忠剧情详解) 下一篇:信用证的业务流程(什么是信用证支付)
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码