比如一个 HTTP 的连接.我抓包台下
TCP 握手
local Server
local ---- seq = 3524304193, ack = 0, SYN -----> Server
local <--- seq = 466599082, ack = 3524304194, SYN, ACK ----- Server
local ---- seq = 3524304194, ack = 466599083, ACK -----> Server
http 命令
local ---- seq = 3524304194, ack = 466599083,PSH,ACK ------> Server // HTTP GET
local <--- seq = 466599083, ack = 3524304803, ACK ------ Server [无数据]
local <--- seq = 466599083, ack = 3504304803, ACK ------ Server 数据 <----- 把我的数据加在这里
local <--- seq = 466600495, ack = 3524304803, ACK ------ Server 数据
如图示:
如果我 sniffer 到它们的通讯如上图. 我在 local 向 server 发出 HTTP 命令后,我等待服务器的下一个回应.
服务器回应后. 我伪造一个从 local 发向 server 的包:
其中: seq = 3524304804, ack = 466599083 ,RST 命令的 这样可不可以让 Server 主动断开与 local 的连接呢?