非法TCP报文攻击

 

http://www.ruijie.com.cn/htmls/3-23/RG-S3760EP/Cap58.htm

 

在TCP报文的报头中,有几个标志字段:

1.  SYN:连接建立标志,TCP SYN报文就是把这个标志设置为1,来请求建立连接。

2.  ACK:回应标志,在一个TCP连接中,除了第一个报文(TCP SYN)外,所有报文都设置该字段作为对上一个报文的响应。

3.  FIN: 结束标志,当一台主机接收到一个设置了FIN标志的TCP报文后,会拆除这个TCP连接。

4.  RST:复位标志,当IP协议栈接收到一个目标端口不存在的TCP报文的时候,会回应一个RST标志设置的报文。

5.  PSH:通知协议栈尽快把TCP数据提交给上层程序处理。

非法TCP报文攻击是通过非法设置标志字段致使主机处理的资源消耗甚至系统崩溃,例如以下几种经常设置的非法TCP报文:

1.        SYN 比特和FIN比特同时设置的TCP报文

正常情况下,SYN标志(连接请求标志)和FIN标志(连接拆除标志)不能同时出现在一个TCP报文中,而且RFC也没有规定IP协议栈如何处理这样的畸形报文。因此各个操作系统的协议栈在收到这样的报文后的处理方式也不相同,攻击者就可以利用这个特征,通过发送SYN和FIN同时设置的报文,来判断操作系统的类型,然后针对该操作系统,进行进一步的攻击。

2.        没有设置任何标志的TCP报文

正常情况下,任何TCP报文都会设置SYN,FIN,ACK,RST,PSH五个标志中的至少一个标志,第一个TCP报文(TCP连接请求报文)设置SYN标志,后续报文都设置ACK标志。有的协议栈基于这样的假设,没有针对不设置任何标志的TCP报文的处理过程,因此这样的协议栈如果收到了这样的报文可能会崩溃。攻击者利用了这个特点,对目标主机进行攻击。

3.        设置了FIN标志却没有设置ACK标志的TCP报文

正常情况下,除了第一报文(SYN报文)外,所有的报文都设置ACK标志,包括TCP连接拆除报文(FIN 标志设置的报文)。但有的攻击者却可能向目标主机发送设置了FIN标志却没有设置ACK标志的TCP报文,这样可能导致目标主机崩溃。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
网络安全实验--洪泛攻击 网络安全实验--洪泛攻击全文共4页,当前为第1页。网络安全实验--洪泛攻击全文共4页,当前为第1页。实验目的和要求 网络安全实验--洪泛攻击全文共4页,当前为第1页。 网络安全实验--洪泛攻击全文共4页,当前为第1页。 理解带宽攻击原理 理解资源消耗攻击原理 掌握洪泛攻击网络行为特征 实验内容和原理 1.SYN Flood攻击 Dos(Denial of Service)拒绝服务攻击是指在特定攻击发生后,被攻击的对象不能及时提供应有的服务。从广义上说,任何导致服务器不能正常提供服务的攻击都是拒绝服务攻击。 SYN Flood是当前最流行的拒绝服务攻击之一,这是一种利用TCP协议缺陷,发送大量的伪造的TCP连接请求,从而使得被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。 TCP协议是基于连接的,也就是说,为了在服务端和客户端之间传送TCP数据,必须先建立一个虚拟电路,也就是TCP连接。 建立TCP连接的标准过程是这样的: 第一步,请求端(客户端)发送一个包含SYN标志的TCP报文,SYN即同步(Synchronize),同步报文会指明客户端使用的端口以及TCP连接的初始序号; 第二步,服务器在收到客户端的SYN报文 ,将返回一个SYN+ACK的报文,表示客户端的请求被接受,同时TCP序号被加1,ACK即确认(Acknowledgement); 第三步,客户端也返回一个确认报文ACK给服务器端,同样TCP序列号被加1,到此一个TCP连接完成。 以上的连接过程在TCP协议中被称为三次握手。 问题就出在TCP连接的三次握手中,假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为SYN超时,一般来说这个时间是分钟的数量级(大约为30秒-2分钟);一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况,服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源。实际上如果服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃——即使服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小),此时从正常客户的角度看来,服务器失去响应,这种情况我们称作:服务器端受到了SYN Flood攻击(SYN洪水攻击)。 2.ICMP Flood攻击 正常情况下,为了对网络进行诊断,一些诊断程序,比如Ping等,会发出ICMP请求报文(ICMP Request),计算机接收到ICMP请求后,会回应一个ICMP应答报文。而这个过程是需要CPU处理的,有的情况下还可能消耗掉大量的资源,比如处理分片的时候。这样如果攻击者向目标计算机发送大量的ICMP Request报文(产生ICMP洪水),则目标计算机会忙于处理这些请求报文,而无法继续处理其它的网络数据报文,这也是一种拒绝服务攻网络安全实验--洪泛攻击全文共4页,当前为第2页。网络安全实验--洪泛攻击全文共4页,当前为第2页。击(DOS)。 网络安全实验--洪泛攻击全文共4页,当前为第2页。 网络安全实验--洪泛攻击全文共4页,当前为第2页。 对于诸如此类洪泛攻击,可以利用设置防火墙和关闭不必要的端口来加以防范。设置防火墙可以直接拒绝接受非法的或不可信任的用户的连接,而关闭不必要的端口可以减少半连接的可能性,从而有效的抑制洪泛攻击所带来的危害。下面给出一些具体实施办法: 监控计算资源的使用。例如建立资源分配模型图,统计敏感的计算资源使用情况。 修补漏洞。例如给操作系统或应用软件包升级。 关掉不必要的TCP/IP服务。关掉系统中不需要的服务,以防止攻击者利用。 过滤网络异常包。例如通过防火墙配置阻断来自Internet的恶意请求。 三、主要仪器设备 Windows操作系统,企业网络结构,Nmap 洪泛工具 网络协议分析器。 操作方法与实验步骤 本练习主机A、B为一组,C、D为一组,E、F为一组。实验角色说明如下: 实验主机 实验角色 主机A、C、E 攻击者(扫描主机) 主机B、D、F 靶机(被扫描主机) 首先使用"快照X"恢复Windows系统环境。 一.SYN洪水攻击 1. 捕获洪水数据 (1)攻击者单击实验平台工具栏中的"协议分析器"按钮,启动协议分析器。单击工具栏"定义过滤器"按钮,在弹出的"定义过滤器"窗口中设置如下过滤条件: 在"网络地址"属性页中输入"any<->同组主机IP地址"; 在"协议过滤"属性页中选中"协议树"
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值