首页 > 其他 > 详细

网络相关

时间:2019-08-20 17:18:58      阅读:97      评论:0      收藏:0      [点我收藏+]

一、tcp三次握手

技术分享图片

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认。

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态。

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器端进入ESTABLISHED状态,完成三次握手。

 

SYN攻击:客户端在短时间内伪造大量的不存在的IP地址,并向服务器端不断发送syn包,server回复确认包,并等待client的确认,由于源地址是不存在的,因此server需要不断重发直至超时,这些伪造的SYN包将产时间占用未连接队列,导致正常的SYN请求因为队列满而被丢弃,从而引起网络堵塞甚至系统瘫痪。

 

检测syn攻击:当server有大量半连接状态且源ip地址是随机的,就可以断定遭受了syn攻击。netstat -nap | grep SYN_RECV

 

二、四次握手

断开一个TCP连接时,需要客户端和服务器总共发送4个包以确认连接的断开。

技术分享图片

 

第一次:客户端主动发起断开连接,关闭客户端到服务器的数据流动,客户端发送FIN包,进入FIN_WAIT状态。

第二次:服务器收到fin包,给客户端发送ack包,服务器进入CLOSE_WAIT状态。

第三次:服务器主动断开连接,发送fin,进入LAST_ACK状态。

第四次:客户端进入TIME_WAIT状态,接着发送一个ACK给服务器,server进入CLOSED状态,完成四次挥手。

 

网络相关

原文:https://www.cnblogs.com/summer962395785/p/11384079.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!