TCP 连接:SYNACKRSTUTGPSHFIN
三次握手:发送端发送一个 SYN=1,ACK=0 标志的数据包给接收端,请求进行连接,这
是第一次握手;接收端收到请求并且允许连接的话,就会发送一个 SYN=1,ACK=1 标志
的数据包给发送端,告诉它,可以通讯了,并且让发送端发送一个确认数据包,这是第二
次握手;最后,发送端发送一个 SYN=0,ACK=1 的数据包给接收端,告诉它连接已被确
认,这就是第三次握手。之后,一个 TCP 连接建立,开始通讯。<
*SYN:同步标志
同步序列编号(SynchronizeSequenceNumbers)栏有效。该标志仅在三次握手建立 TCP
连接时有效。它提示 TCP 连接的服务端检查序列编号,该序列编号为 TCP 连接初始端(一
般是客户端)的初始序列编号。在这里,可以把 <TCP 序列编号看作是一个范围从 0 到
4,294,967,295 的 32 位计数器。通过 TCP 连接交换的数据中每一个字节都经过序列
编号。在 TCP 报头中的序列编号栏包括了 TCP 分段中第一个字节的序列编号。
*ACK:确认标志
确认编号(AcknowledgementNumber)栏有效。大多数情况下该标志位是置位的。TCP 报
头内的确认编号栏内包含的确认编号(w+1,Figure-1)为下一个预期的序列编号,同时提示
远端系统已经成功接收所有数据。
*RST:复位标志
复位标志有效。用于复位相应的 TCP 连接。
*URG:紧急标志
紧急(Theurgentpointer)标志有效。紧急标志置位,
*PSH:推标志
该标志置位时,接收端不将该数据进行队列处理,而是尽可能快将数据转由应用处理。在
处理<telnet或<rlogin等交互模式的连接时,该标志总是置位的。
*FIN:结束标志
带有该标志置位的数据包用来结束一个 TCP 回话,但对应端口仍处于开放状态,准备接收
后续数据。
.TCP 的几个状态对于我们分析所起的作用。在 TCP 层,有个 FLAGS 字段,这个字段有
以下几个标识:SYN,FIN,ACK,PSH,RST,URG.其中,对于我们日常的分析有用的就是
前面的五个字段。它们的含义是:SYN 表示建立连接,FIN 表示关闭连接,ACK 表示响应,
PSH 表示有<DATA 数据传输,RST 表示连接重置。其中,ACK 是可能与 SYN,FIN 等同
时使用的,比如 SYN 和 ACK 可能同时为 1,它表示的就是建立连接之后的响应,如果只
是单个的一个 SYN,它表示的只是建立连接。TCP 的几次握手就是通过这样的 ACK 表现
出来的。但 SYN 与 FIN 是不会同时为 1 的,因为前者表示的是建立连接,而后者表示的是
断开连接。RST 一般是在 FIN 之后才会出现为 1 的情况,表示的是连接重置。一般地,当
出现 FIN 包或 RST 包时,我们便认为客户端与服务器端断开了连接;而当出现 SYN 和
评论0
最新资源