第 25 篇:抓包实战:分析一次 HTTP 请求

第 25 篇:抓包实战:分析一次 HTTP 请求

抓包实战系列第 5 篇。

上一篇我们讲了过滤器:如何从海量数据包里筛出真正相关的线索。今天开始做一次完整实战:分析一次 HTTP 请求。从 DNS、TCP 三次握手、HTTP 请求、HTTP 响应,到连接关闭,我们把一次网页访问拆开看。


开场:一次 HTTP 请求,真的只有 HTTP 吗?

很多人说:

我访问了一个 HTTP 接口。

听起来好像只发生了一件事:

客户端发 HTTP 请求,服务端回 HTTP 响应。

但抓包一看,你会发现它背后是一串动作:

  1. 可能先做 DNS 解析。
  2. 建立 TCP 连接。
  3. 发送 HTTP 请求。
  4. 服务端返回 HTTP 响应。
  5. 连接继续复用,或者关闭。

如果是 HTTPS,中间还会多 TLS 握手。

这一篇先用 HTTP 明文来练手。

因为 HTTP 明文能直接看到请求行、Header 和响应内容,更适合理解抓包分析流程。

先给结论:

一次 HTTP 请求在抓包里通常表现为:DNS 解析、TCP 三次握手、HTTP 请求、HTTP 响应、TCP 连接关闭或复