一、码位(tcp的标志位)提示种类解析–常用
类别 | 含义 |
---|---|
SYN(synchronous) | 建立连接 |
ACK(acknowledgement) | 响应 |
PSH(push) | DATA数据传输 |
FIN(finish) | 关闭连接 |
RST(reset) | 重置 |
URG(urgent) | 紧急 |
Sequence Number) | 序列号 |
Acknowledgement Number | 确认号 |
二、三次握手
第一次:客户端向服务器端发送syn报文(标志位为1)以及初始序列号为X(保存在Sequence Number字段中)-------SYN=1,Seq=X
第二次:服务器接收并应答,向客户端发送ACK应答。当SYN标志和ACK标志为1的时候,将确认序号(Acknowledgement Number)设置为客户的ISN加1------SYN=1,ACK=X+1,Seq=Y
第三次:客户端接收并应答,再次发送确认包(ACK),并且使SYN标志位为0,ACK标志为1,把服务器发过来的ACK序列字段+1,然后发送给对方------ACK=Y+1,Seq=Z
三次握手之后就开始传输数据
三、SYN攻击
在三次握手的过程中,第二次服务器发送SYN-ACK之后到再次接收客户端的应答这段时间的连接称为半连接,这个过程就会存在SYN攻击。Syn攻击攻击的是客户端,短时间内造成大量不存在的IP地址,向服务器不断的重复直至超时,这些伪造的SYN将长时间占用为连接的队列,照成正常的SYN被丢弃,会造成目标系统的运行的缓慢,严重的话会使系统瘫痪。
预防的措施:SynAttackProtect保护机制、SYN cookies技术、增加最大半连接和缩短超时时间等,但是不能完全的防止这种攻击。
关于四次挥手,我会再下一篇博客中提到。