TCP三次握手建立连接

前置:https://blog.csdn.net/jaihk662/article/details/80539626


TCP连接的建立

采用三次握手建立连接

  1. 一方(server)被动地等待一个进来的连接请求
  2. 另一方(the client)通过发送连接请求,设置一些参数
  3. 服务器方回发确认应答
  4. 应答到达请求方,请求方最后确认,连接建立

详细过程:


  1. 第一次握手:Host1首先发送一个连接请求数据段,这个特殊的数据段叫SYN(请求同步),包含了一个初始序列号X,它是随机产生的,控制位SYN等于1,ACK等于0
  2. 第二次握手:Host2收到了Host1的SYN后会回发一个连接应答,也叫SYN,里面包含了一个初始序列号Y,这个初始序列号是Host2随机产生的,控制位SYN等于1,ACK也等于1,同时它的确认号等于X+1,表示对host1的X号字节的确认 
  3. 第三次握手:当连接应答到达Host1,Host1发送最后的确认,序列号等于X+1,确认号等于Y+1,控制位SYN等于0,ACK等于1,这是第三次握手信息,当第三次握手信息到达对方的时候,这个连接就建立起来了

在这个过程中,双方交换了一个最重要的参数:初始序列号,这个可以用来跟踪后续交换的每一个字节,也就是说后续的字节的编号就是以这个初始序列号作为基础的


重复连接请求CR



重复CR与重复ACK



SYN泛洪导致DoS攻击(伪造源IP)

数据传输开始后可能有两个原因导致阻塞

  • 快的机器向慢的机器发送数据
  • 多台机器同时向一台机器发送数据


假设有个攻击者想攻击一台Web server,他的方法如下:

控制一些机器,并在上面安装一些agent,这个agent可以向被攻击的服务器不断地发送第一次握手信息,但是在这个SYN里面它使用了一个伪造的,并不存在的源IP地址

→这样当第一次握手信息到达被攻击服务器的时候,服务器会对它进行处理回发第二次握手信息,并且等待第三次握手信息的到来,然而因为第二次握手信息无法到达发送者,所以这个第三次握手信息服务器一辈子都等不来,这样被攻击者会挂起很多的进程在这里等待,最终因为资源耗尽而瘫痪,无法提供正常的服务


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值