在TCP三次握手中,服务器为了响应一个收到的SYN,分配并初始化连接变量和缓存,然后服务器发送一个SYNACK进行响应,并等待来自客户的ACK报文段,如果客户不发送ACK来完成该三次握手,最终,服务器将终止该半开连接并回收资源。

  SYN洪泛攻击过程(拒绝服务攻击)

在第三次握手完成之前,SYN洪泛攻击 发送大量的SYN报文段,而不是完成第三次握手的步骤,随着SYN逐步到来,服务器不断为这些半开连接分配资源,但这写资源从未使用,导致服务器的连接资源消耗殆尽。

  SYN洪泛攻击的防御

       1.当当服务器接受到一个SYN洪泛攻击报文段时,它并不知道该报文段是来自一个合法的用户,还是一个SYN洪泛攻击的一部分,因此服务器不会为该报文段生成一个半开连接,相反,服务器生成一个初始TCP序列号,该序列号是SYN报文段的源和目的IP地址与端口号以及仅有该服务器知道的秘密数的一个复杂函数(散列函数),这种精心制作的初始序列号被称为"cookie".服务器则发送具有这种特殊序列号的SYNACK分组,但服务器并不记忆该cookie或任何对应于SYN的其他状态信息。

2.如果客户是合法的,则它将返回一个ACK报文段,当服务器收到该ACK,需要验证该ACK是与前面发送的某些SYN相对应的,但服务器并没有维护有关SYN报文段的记忆,它是借助于cookie来做到的,对于一个合法的ACK,在确认字段中的值等于在SYNACK报文段中的源和目的IP地址与端口号以及秘密数运行相同的散列函数,如果该函数的结构加1余客户端的SYNACK中的确认(cookie)值相同,服务器认为该ACK对应于较早的SYN报文段,因此它是合法的,服务器会生成一个具有套接字的全开的连接。

  DDOS攻击(分布式拒绝服务)

  http://netsecurity.51cto.com/art/200903/114969.htm

       

最新文章

  1. ORA-04091: table is mutating, trigger/function may not see it
  2. 删除数据库数据,自增id清理
  3. 动态input file多文件上传到后台没反应的解决方法!!!
  4. Java位操作全面总结
  5. MySQL(3)-索引
  6. osgEarth基础入门(转载)
  7. vue + socket.io实现一个简易聊天室
  8. bootstrap 导航栏鼠标悬停显示下拉菜单
  9. CentOS最小化系统,怎么安装图形界面
  10. weui开发笔记
  11. aaronyang的百度地图API之LBS云[把数据丰富显示1/3]
  12. linux iostat 性能指标说明(转)
  13. 使用PowerMockito 对静态类进行mock
  14. Wannafly14挑战赛 C(tarjan缩点)题解
  15. java中static使用之静态方法注意点
  16. redis sentinel集群
  17. WS快捷键
  18. QStackedWidget 与 QStackedLayout 的用法区别
  19. 关于QtCharts中的映射器与模型的使用
  20. Autofac IoC容器基本实战【2】

热门文章

  1. 050-PHP除法运算
  2. Golang go-gin 注册路由
  3. Tornado中的Cookie设置
  4. 【LeetCode】509. 斐波那契数
  5. HDU 5281 BestCoder Round #47 1002:Senior's Gun
  6. POJ 3673:Cow Multiplication
  7. python3.7使用etree遇到的问题
  8. Jquery获取html标签,包含该标签本身
  9. SQL注入类型
  10. java Kafka 简单应用实例