Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用HTTP请求html文件,为什么TCP序列号不连续?_Http_Networking_Tcp - Fatal编程技术网

使用HTTP请求html文件,为什么TCP序列号不连续?

使用HTTP请求html文件,为什么TCP序列号不连续?,http,networking,tcp,Http,Networking,Tcp,我使用wireshark在访问HTTP html时嗅探TCP数据包。下面简要描述前四个TCP数据包。我想知道为什么在第四个数据包中,序列号是1而不是2?我认为现在第三个数据包中的序列号是1,第四个应该是2 Src to Dst: 192.168.1.104 128.119.245.12 TCP Port: 52721 → 80 [SYN] Seq=0 Src to Dst: 128.119.245.12 192.168.1.104 TCP Port: 80 → 52

我使用wireshark在访问HTTP html时嗅探TCP数据包。下面简要描述前四个TCP数据包。我想知道为什么在第四个数据包中,序列号是1而不是2?我认为现在第三个数据包中的序列号是1,第四个应该是2

Src to Dst: 192.168.1.104   128.119.245.12  TCP     Port: 52721 → 80 [SYN] Seq=0 
Src to Dst: 128.119.245.12  192.168.1.104   TCP     Port: 80 → 52721 [SYN, ACK] Seq=0 Ack=1 
Src to Dst: 192.168.1.104   128.119.245.12  TCP     Port: 52721 → 80 [ACK] Seq=1 Ack=1 
Src to Dst: 192.168.1.104   128.119.245.12  HTTP    Port: 52721 GET /wireshark-labs/TCP-wireshark-file1.html HTTP/1.1    Seq=1 Ack=1 

序列号不计算数据包;它们计算字节数,加上SYN和FIN标志,每个序列号空间都有一个“勾号”,即使它们没有出现在数据中

  • .104发送序列号为0的SYN标志
  • .12确认SYN,并发送其自己的SYN,序列号也为0
  • .104从.12确认SYN。它不发送任何数据,因此其序列号保持为1
  • .104从序号1开始发送数据
  • 实际上,序列号有一个随机偏移量,使其更难预测,但Wireshark会在显示数据包之前减去这个偏移量