【发布时间】:2013-11-17 15:08:10
【问题描述】:
我正在发送几个 TCP SYN 数据包以获取 TCP RST 的回复。为了识别每个探针,我在 TCP 序列字段中包含一个计数器。我注意到以下几点:
- 当SYN探针中的序列号为0、1、2、3...时,RST消息有ack=1、2、3、4...,即ack=syn_seq+1强>:
12:17:27.181993 IP X.X.X.X.10104 > Y.Y.Y.10114:标志 [S],seq 0,获胜 8192,长度 0 12:17:27.182008 IP Y.Y.Y.Y.10114 > X.X.X.X.10104:标志 [R.], seq 0, ack 1, win 0, length 0 12:17:27.683148 IP X.X.X.X.10104 > Y.Y.Y.Y.10114: Flags [S], seq 1, win 8192, length 0 12:17:27.683156 IP Y.Y.Y.Y.10114 > X.X.X.X.10104:标志 [R.],seq 0,ack 2,win 0,长度 0 12:17:28.184140 IP X.X.X.X.10104 > Y.Y.Y.Y.10114:标志 [S],seq 2, win 8192,长度 0 12:17:28.184147 IP Y.Y.Y.Y.10114 > X.X.X.X.10104: Flags [R.], seq 0, ack 3, win 0, length 0 12:17:28.684993 IP X.X.X.X.10104 > Y.Y.Y.Y.10114: Flags [S], seq 3, win 8192, length 0 12:17:28.685000 IP Y.Y.Y.Y.10114 > X.X.X.X.10104:标志 [R.],seq 0, ack 4,赢0,长度0
- 另一方面,当我的 probes 以 seq > 1 开始 时,first rst 将具有 ack=syn_seq像往常一样 +1, 但是接下来的 rst 将有 ack=2,3,4... 而不管探针的序列值如何:
12:11:25.274636 IP X.X.X.X.59150 > Y.Y.Y.Y.59160:标志 [S],seq 299,赢8192,长度0 12:11:25.274649 IP Y.Y.Y.Y.59160 > X.X.X.X.59150:标志 [R.],seq 0,ack 300,win 0,长度 0 12:11:25.775218 IP X.X.X.X.59150 > Y.Y.Y.Y.59160:标志 [S],seq 300,赢8192,长度0 12:11:25.775226 IP Y.Y.Y.Y.59160 > X.X.X.X.59150:标志 [R.],seq 0,ack 2,win 0,长度 0 12:11:26.276324 IP X.X.X.X.59150 > Y.Y.Y.Y.59160:标志 [S],seq 301,赢8192,长度0 12:11:26.276332 IP Y.Y.Y.Y.59160 > X.X.X.X.59150:标志 [R.],seq 0,ack 3,win 0,长度 0 12:11:26.776940 IP X.X.X.X.59150 > Y.Y.Y.Y.59160:标志 [S],seq 302,赢8192,长度0 12:11:26.776948 IP Y.Y.Y.Y.59160 > X.X.X.X.59150:标志 [R.],seq 0,ack 4,win 0,长度 0
这是预期的行为吗?
【问题讨论】:
标签: tcp