TCP 协议详解(二)-- TCP首部详解与抓包分析实践

前言

TCP(Transmisson Control Protocol)又叫传输控制协议作为传输层最重要的协议,对于信息的可靠传输有着重要的意义,针对这一协议的攻击也数不胜数,这里就对这一协议以及相关内容进行详细的总结,将从以下几个方面进行介绍。
本文以韩立刚老师的《计算机网络》网课为基础,感兴趣的话可以私信我要资料

1. TCP首部介绍(端口、序号、确认号、数据偏移)

先通过图看一下
TCP 协议详解(二)-- TCP首部详解与抓包分析实践
如图,大致上,TCP首部包括20字节的固定首部部分和选项(长度可变)部分,然后TCP首部和TCP的数据部分组成组成TCP报文段,这是在传输层,TCP报文段在网络层就成为了网络层的IP数据部分,然后再加上IP首部就组成了ip数据包。
这一章聚焦TCP首部部分。
由图可知,TCP首部的主体部分是20个字节的固定首部,里面规定记录了多数信息,选项和填充里的信息是两台计算机需要协商的其他内容,后面会讲到。本章主要讲固定部分。
固定部分共分为5行,每行4个字节,逐行进行介绍

1. 源端口和目标端口
端口对应着进程,TCP传输的数据要从A计算机的一个进程传输到B计算机的一个的话,除了在网络层通过指定IP地址来唯一的确定目标计算机,还需要通过在传输层的TCP首部中说明自己携带的信息来自于自己的哪个端口,又需要到达目标计算机的哪一个端口,从而被目标计算机的特定进程所使用,从而与网络层的IP地址一起构成完整的套接字。

2. 抓包分析TCP首部

3. TCP首部标记位介绍