AI动态
AI基础
AI大模型
AI智能体
AI应用
AI编程
AI安全
AI学院
网安动态
安全运维
网站防护
软件安全
渗透测试
拒绝服务
漏洞挖掘
安全学院
区块动态
区块基础
智能合约
DeFi金融
区块开发
区块安全
区块学院
最新发表
最新回复
我的帖子
资讯
电脑
手机
运维
编程
教程
导读
设计中心
2016-7-19 12:19 1798 0
每个 TCP 都包含源端口和目的端口,这两个值加上 IP 部首当中的源 IP 和目的 IP 地址唯一确定到一个 TCP 链接。
一个 IP 地址和一个端口号也称为一个插口( socket )。
序号标识从 TCP 发端到 TCP 收端的数据字节流,序号是 32 位的无符号数,到达了 2^32 - 1 后从 0 开始。
确认序号应当是上次已成功收到数据字节序号加 1。只有 ACK 为 1 时候确认号才有效。
首部长度给出TCP首部的字节数目。需要这个值是因为任选字段的长度是可变的。保留:6bit, 均为0。
TCP首部中有6个标志位。
窗口大小来进行TCP的流量控制。窗口大小为字节数,起始于确认序号字段指明的值,这个值是接受端期望接受的字节。
检验和覆盖了整个的TCP报文段:TCP首部和TCP数据。这是一个强制性的字段,一定由发端进行计算和存储,并由收端进行检验。
紧急指针是一个正的偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号。TCP的紧急方式是发送端向另一端发送紧急数据的一种方式。
第一次握手:客户端向服务器发送连接请求包,标志位SYN(同步序号)置为1,序号为X
第二次握手:服务器收到客户端发过来报文,由SYN=1知道客户端要求建立联机。向客户端发送一个SYN和ACK都置为1的TCP报文,设置初始序号 Y,将确认序号(ack)设置为客户的序列号加1,即 X+1。
第三次握手:客户端收到服务器发来的包后检查确认序号(ack)是否正确,即第一次 发送的序号加1(X+1)。以及标志位ACK是否为1。若正确,客户端再次发送确认包,ACK标志位为1,SYN标志位为0。确认序号(ack) Y+1,发送序号为X+1=1。客户端收到后确认序号值与ACK=1则连接建立成功,可以传送数据了。
第一次挥手:客户端给服务器发送TCP包,用来关闭客户端到服务器的数据传送。将标志位FIN和ACK置为1,序号为X,确认序号(ack)为Z。
第二次挥手:服务器收到FIN后,发回一个ACK(标志位ACK=1),确认序号为收到的序号加1,即(ack)X+1。序号为收到的确认序号Z。
第三次挥手:服务器关闭与客户端的连接,发送一个FIN。标志位FIN和ACK置为1,序号为Y ,确认序号为X+1。
第四次挥手:客户端收到服务器发送的FIN之后,发回ACK确认(标志位ACK=1),确认序号为收到的序号加1,即Y+1。序号为收到的确认序号X+1。
匿名
评论
黑名单|存档|手机版|网站地图|免责条款|法律声明|隐私保护|HACKBASE
GMT+8, 2026-7-16 21:50
Powered by Discuz!