<网络安全>《47 网络攻防专业课<第十二课 - TCPIP网络协议攻击与防范之攻击手段>》

本文主要是介绍<网络安全>《47 网络攻防专业课<第十二课 - TCPIP网络协议攻击与防范之攻击手段>》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 建立TCP连接

三次握手

在这里插入图片描述

2 SYN Flood泛洪攻击

服务拒绝(DOS,Denial of Service)攻击时,攻击者想法占用被攻击者的资源,例如:带宽、CPU、内存等,使得被攻击者无法响应正常用户的请求。

SYN泛洪(Flood)是一种广为人知的攻击,对现代网络不太有效。攻击者向被攻击者发起大量的SYN包(第一次握手包),并且伪装源IP地址。被攻击者会发送SYN-ACK(第二次握手包)到假造的IP地址,因此永不可能收到ACK(第三次握手包)。这样被攻击者将会等待ACK(第三次握手包)的达到,从而占用内存和CPU的负载。通常把没有完全建立起来的连接称为半开连接,大量半开连接的存在将使得正常用户无法和被攻击者建立正常的TCP连接,从而无法提供正常的服务。

3 SYN泛洪DDOS攻击

如果是单台计算机采用SYN泛洪攻击对服务器进行攻击,效果应该不很明显,但是如果采用人海战术、轮番轰炸,在多台计算机同时对服务器进行攻击,则至少会造成网络拥塞,这种攻击就是分布式拒绝服务攻击(DDOS,Distributed Denial of Service)。

3.1 SYN泛洪攻击防范

(1)实际上现在的大多操作系统已经实现了抵御SYN泛洪攻击的功能,据验证只要Windows XP系统装上SP3、Windows 7装上SP1、Windows Server 2003和2008装上SP1,应该都能抵抗SYN防洪攻击。即升级即可。
(2)或者添加/修改注册表“HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters”下的值
(3)最有效的,应该是增加防火墙来保护服务器,让防火墙过滤攻击

4 TCP Reset攻击及防范

TCP协议头部有一个标志位称为“RST”位,正常的数据包中该位为0,一旦该位设置为1,则接收该数据包的主机将立即断开TCP会话。

TCP Reset攻击中,攻击者可以伪造TCP连接其中的一方给另一方发送带有RST位的包来断开TCP连接,但是要确保这个数据包的源IP地址、源端口号、目的IP地址、目的端口号、序列号等特征符合已有TCP连接的特征,这就要求攻击者要能够监视通信双方之间的TCP连接。

如果在集线器(Hub)构建起来的网络中,攻击者很容易就能监视通信双方之间的TCP连接,但如果是在交换机(Switch)构建起来的网络中,攻击者需要采用中间人攻击或者交换机的端口镜像等措施。

攻击者(Hacker)采用Back Track5 平台,要把远程桌面Client 和远程桌面Server 端的TCP 连接断开。

4.1 防范TCP Reset攻击

防范TCPReset攻击的措施相对简单:(1)不要使用集线器构建网络(2)要避免被中间人攻击

5 UDP泛洪攻击及防范

5.1 UDP泛洪攻击介绍

UDP是一种面向无连接的协议,而且使用UDP的应用程序通常会产生较大的数据流量。在UDP防洪攻击中,攻击者向被攻击者的端口随机发送一个UDP报文。当被攻击者接收到这个UDP报文时,它要确定哪个应用程序在这个目的端口上监听。如果没有应用程序在这个端口进行监听,它将产生一个ICMP目的不可达的信息返回给这个伪造的源地址。

如果向被攻击者的多个端口发送足够多的UDP报文,系统将会崩溃。UDP防洪攻击也是一种低技术含量、野蛮的、人海战术的攻击手段,但是这种手段也常常造成网络拥塞和服务器负载加大。

5.2 UDP泛洪攻击的防范

UDP泛洪攻击防范的最好方法是:增加防火墙,防火墙只允许指定的目的端口数据包通过。

6 ICMP Smurf攻击与防范

6.1 ICMP Smurf攻击介绍

这种攻击方法结合使用了IP欺骗和ICMPEcho,使大量数据包充斥被攻击者的网络,引起被攻击者拒绝为正常用户进行服务。攻击者伪造大量的ICMP Echo Request包,包的源IP地址为被攻击者的IP地址,而目的地址为被攻击者所在网段的广播地址。
这种攻击的前提是,最后一跳的路由器接收到这个发送给IP广播地址(192.168.65.255)的包后,会进行转发并进行广播。

6.2 ICMP Smurf攻击的防范

防范Smurf攻击的措施就是在路由器上关闭直播功能,实际上这是默认值。命令如下:

R1(config)#interface FastEthernet 0/0
R1(config-if)#no ip directed-broadcast  //以上命令关闭直播功能R1(config)#interface FastEthernet 1/0
R1(config-if)#no ip directed-broadcast

7 ICMP重定向攻击与防范

7.1 ICMP重定向攻击

ICMP重定向报文是ICMP控制报文中的一种。在特定的情况下,当路由器检测到一台计算机使用非优化路由的时候,它会向该计算机发送一个ICMP重定向报文,使得计算机改变路由。计算机的网关指向R1(192.168.1.253),当路由器R1收到计算机ARP请求包后,它首先用ARP应答包响应计算机的ARP请求(通知计算机:路由器R1自己接口的MAC地址)。然后路由器R1发送一个ICMP重定向消息给计算机,通知计算机新的网关是:192.168.1.254。在这里插入图片描述
ICMP重定向攻击中,攻击者冒充网关发送伪造的ICMP重定向消息,把网关重定向到攻击者,这样用户计算机就把数据发到了攻击者计算机上,攻击者再把数据发到Internet上,这样就实现了中间人攻击,这种攻击只能实现单向的中间人,即:从用户计算机到Internet方向上的中间人攻击。

7.2 ICMP重定向攻击防范

防范ICMP重定向攻击的方法较为简单:改注册表,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters下将EnableICMPRedirects值设为0即可,即:不接收ICMP重定向数据包。

实际上,在WindowsXPSP3系统上这是默认值,而在Windows7却并非如此。

这篇关于<网络安全>《47 网络攻防专业课<第十二课 - TCPIP网络协议攻击与防范之攻击手段>》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/738298

相关文章

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

poj 3181 网络流,建图。

题意: 农夫约翰为他的牛准备了F种食物和D种饮料。 每头牛都有各自喜欢的食物和饮料,而每种食物和饮料都只能分配给一头牛。 问最多能有多少头牛可以同时得到喜欢的食物和饮料。 解析: 由于要同时得到喜欢的食物和饮料,所以网络流建图的时候要把牛拆点了。 如下建图: s -> 食物 -> 牛1 -> 牛2 -> 饮料 -> t 所以分配一下点: s  =  0, 牛1= 1~

poj 3068 有流量限制的最小费用网络流

题意: m条有向边连接了n个仓库,每条边都有一定费用。 将两种危险品从0运到n-1,除了起点和终点外,危险品不能放在一起,也不能走相同的路径。 求最小的费用是多少。 解析: 抽象出一个源点s一个汇点t,源点与0相连,费用为0,容量为2。 汇点与n - 1相连,费用为0,容量为2。 每条边之间也相连,费用为每条边的费用,容量为1。 建图完毕之后,求一条流量为2的最小费用流就行了

poj 2112 网络流+二分

题意: k台挤奶机,c头牛,每台挤奶机可以挤m头牛。 现在给出每只牛到挤奶机的距离矩阵,求最小化牛的最大路程。 解析: 最大值最小化,最小值最大化,用二分来做。 先求出两点之间的最短距离。 然后二分匹配牛到挤奶机的最大路程,匹配中的判断是在这个最大路程下,是否牛的数量达到c只。 如何求牛的数量呢,用网络流来做。 从源点到牛引一条容量为1的边,然后挤奶机到汇点引一条容量为m的边

Codeforces Beta Round #47 C凸包 (最终写法)

题意慢慢看。 typedef long long LL ;int cmp(double x){if(fabs(x) < 1e-8) return 0 ;return x > 0 ? 1 : -1 ;}struct point{double x , y ;point(){}point(double _x , double _y):x(_x) , y(_y){}point op

VC网络协议

// PCControlDlg.cpp : 实现文件//#include "stdafx.h"#include "PCControl.h"#include "PCControlDlg.h"#include "afxdialogex.h"#ifdef _DEBUG#define new DEBUG_NEW#endif// 用于应用程序“关于”菜单项的 CAboutDlg 对话框#ifde