zoukankan      html  css  js  c++  java
  • TCP标志位学习资料收集

    TCP首部有6个标志比特。

    SYN是其中之一,它是个同步序号,当TCP连接建立时会把SYN置1。

    一般请求端会发送一个报文,其中包含这样的字段SYN 1415531521:1415531521(0)。

    然后服务端收到后会返回一个ack 1415531522,ack表示确认收到。
    SYN,ACK是标志位。

    SEQ,AN是数据包序号。

    SYN=1, ACK=0, SEQ=200 的意思是:发送的为一个SYN请求,发送端的初始数据包序号为200

    SYN=1, ACK=1, SEQ=4800, AN=201 的意思是:接收端的确认信息,且接收端的初始数据包。序号为4800。

    SYN,ACK是标志位

    SEQ,AN是数据包序号

    SYN=1, ACK=0, SEQ=200 的意思是:发送的为一个SYN请求,发送端的初始数据包序号为200

    • 利用SYN缺陷发动SYN洪水攻击
      TCP连接的第一个包,非常小的一种数据包(用于发出请求)。SYN 攻击包括大量此类的包,由于这些包看上去来自实际不存在的站点,因此无法有效进行处理。每个机器的欺骗包都要花几秒钟进行尝试方可放弃提供正常响应。
    • SYN攻击属于DDoS攻击(DDOs攻击简单地说就是**占着茅坑不****)的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。SYN攻击除了能影响主机外,还可以危害路由器、防火墙等网络系统,事实上SYN攻击并不管目标是什么系统,只要这些系统打开TCP服务就可以实施。服务器接收到连接请求(syn= j),将此信息加入未连接队列,并发送请求包给客户(syn=k,ack=j+1),此时进入SYN_RECV状态。当服务器未收到客户端的确认包时,重发请求包,一直到超时,才将此条目从未连接队列删除。配合IP欺骗,SYN攻击能达到很好的效果,通常,客户端在短时间内伪造大量不存在的IP地址,向服务器不断地发送syn包,服务器回复确认包,并等待客户的确认,由于源地址是不存在的,服务器需要不断的重发直至超时,这些伪造的SYN包将长时间占用未连接队列,正常的SYN请求被丢弃,目标系统运行缓慢,严重者引起网络堵塞甚至系统瘫痪。
    • 判断是否出现SYN Flood

    TcpMaxPortsExhausted域值
    TCPMaxHalfOpen 域值
    TCPMaxHalfOpenRetried域值

    • SYN Flood攻击防范
      一类是通过防火墙、路由器等过滤网关防护,利用防范DDOs的那一套就行

    • 通过隐藏真实IP方式可以实现,前提是要先找一个高防的盾机,再把IP隐藏起来,盾机要是都被打崩了,那就凉了。(最有效方法)

    • 加固TCP/IP协议栈
      通过设置注册表项SynAttackProtect如果出现 SYN 攻击,连接响应的超时时间将更短

  • 相关阅读:
    10. Regular Expression Matching
    9. Palindrome Number
    6. ZigZag Conversion
    5. Longest Palindromic Substring
    4. Median of Two Sorted Arrays
    3. Longest Substring Without Repeating Characters
    2. Add Two Numbers
    链式表的按序号查找
    可持久化线段树——区间更新hdu4348
    主席树——树链上第k大spoj COT
  • 原文地址:https://www.cnblogs.com/AmosAlbert/p/12832232.html
Copyright © 2011-2022 走看看