网络安全课程设计完整版

  • 格式:docx
  • 大小:622.54 KB
  • 文档页数:15

下载文档原格式

  / 15
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

网络安全课程设计 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

课程名称: 物联网信息安全管理

设计题目: 基于 TCP协议的网络攻击

学院(直属系): 计算机学院

年级/专业/班: 物联网工程

学生姓名: 宋涌

指导教师: 魏正曦老师

摘要

本课程是物联网工程专业所开设的一门重要实践课程,主要要求掌握网络安全原理和技术在实践中的应用。本课程设计的目的是在理论学习的基础上,动手实践网络安全的相关理论,通过应用所学习的知识,来解决一些实际的网络安全应用问题。在此基础上,真正理解和掌握网络安全的基本原理,具备网络安全方面的分析和动手能力。在网络攻防实验环境中完成TCP/IP协议栈中TCP层重点协议的攻击实验。包括TCP RST攻击、TCP会话劫持和TCP SYN Flood攻击。

关键字:TCP RST攻击、TCP会话劫持和TCP SYN Flood攻击

课题分工

宋涌:TCP会话劫持,和编写课程设计

胡坤:TCP RST攻击,和参考资料查询

周礼佟:TCP SYN Flood攻击,和课程设计分工

一引言

源于 Unix 的网络协议 TC P/IP随着 Internet的飞迅发展 ,已被越来越多的人所使用.然而由于 TCP/IP协议族在设计时并没有过多的考虑网络安全问题 ,黑客事件不断发生 ,使如电子商务等 Internet应用存在着许多不安全因素 .欲防网络攻击 ,必应先知其攻击原理 ,才可正确实施安全策略. 下面是网络内部或外

部人员常用的几种网络攻击方式: ·密码猜测 ( Password Guessing): 主要通过穷举的办法来试探被攻击系统的密码 ,为下一步攻击做好准备 . ·窥探

( Sniffing): 主要通过劫获网络上的数据包来获得被攻击系统的认证信息或其它有价值的信息. ·电子欺骗 ( Spoofing): 通过假冒合法用户的身份来进行网络攻击 ,从而达到掩盖攻击者真实身份 ,嫁祸他人的目的 . ·信息剽窃

( Information Theft): 这是网络攻击的主要目的之一.攻击者通过获得访问被攻击主机的许可权而窃取主机上的重要信息 . ·让主机拒绝服务 (Denial of Service): 是网络攻击的主要目的之一. 这种攻击使主机或网络不能为合法用户

提供服务 .例如攻击者可以用 TC P的 SYN信号淹没的方法来实现这一攻

击 . ·信息破坏 ( Information Destruction): 这也是网络攻击的主要目的之一 .通过篡改或毁坏被攻击主机上的信息达到破坏的目的 . 以上这些攻击主要是利用 TCP /IP协议本身的漏洞而对 TCP/IP协议进行攻击实现的 ,下面分析了几种对 TC P/IP的攻击的实现方式

未来的高技术战争是信息网络战, 以网络中心信息为主的联合作战正在取代传统的平台中心战。TCP/ IP 协议使得世界上不同体系结构的计算机网络互连在一

起形成一个全球性的广域网络 Internet, 实现海、陆、空、天立体战埸信息共享。因此开展 TCP/IP 协议的分析和研究, 寻求其簿弱环节, 能否攻其一点, 而

瘫痪一片, 即以小的投入达到大的产出, 是有效实施计算机网络对抗的关键。在以 TCP/IP 为协议的通信计算机网络中, 通常将每台计算机称为主机, 在

Internet 中的每一台计算机可以访问 Internet 上的其它任意一台计算机, 好像它们在一个局域网内用双绞线或同轴电缆直接连接起来一样 (不同之处是速度比

局域网的慢)。TCP/IP 通信计算机网络结构如图所示。

我们把计算机网络之间相连的设备称为路由器。各主机之间可以通过数据链连接, 也可以通过路由器间接相连。 TCP/IP 协议使用“包” (packet)这个数据单位来发送信息, 图中用箭头指向描述了从主机 C 向主机 J 发送信息包的路径。

二实验原理

TCP是在IP网络层之上的传输层协议,用于提供port到port面向连接的可靠的

字节流传输。我来用土语解释下上面的几个关键字:

port到port:IP层只管数据包从一个IP到另一个IP的传输,IP层之上的TCP层加上端口后,就是面向进程了,每个port都可以对应到用户进程。

可靠:TCP会负责维护实际上子虚乌有的连接概念,包括收包后的确认包、丢包后

的重发等来保证可靠性。由于带宽和不同机器处理能力的不同,TCP要能控制流

量。

字节流:TCP会把应用进程传来的字节流数据切割成许多个数据包,在网络上发

送。IP包是会失去顺序或者产生重复的,TCP协议要能还原到字节流本来面目。TCP(Transmission Control Protocol 传输控制协议)是一种面向连接(连接导向)的、可靠的、基于IP的传输层协议。TCP在IP报文的协议号是6。TCP是一个超

级麻烦的协议,而它又是互联网的基础,也是每个程序员必备的基本功。首先来看看OSI的七层模型:

图 OSI的七层模型

我们需要知道TCP工作在网络OSI的七层模型中的第四层——Transport层,IP在第三层——Network层,ARP 在第二层——Data Link层;在第二层上的数据,我们把它叫Frame,在第三层上的数据叫Packet,第四层的数据叫Segment。同时,我们需要简单的知道,数据从应用层发下来,会在每一层都会加上头部信息,进行封装,然后再发送到数据接收端。这个基本的流程你需要知道,就是每个数据都会经过数据的封装和解封装的过程。在OSI七层模型中,每一层的作用和对应的协议如下:

图 OSI七层模型中,每一层的作用和对应的协议

TCP是一个协议,那这个协议是如何定义的,它的数据格式是什么样子的呢?要进行更深层次的剖析,就需要了解,甚至是熟记TCP协议中每个字段的含义。

图 OSI含义

上面就是TCP协议头部的格式,由于它太重要了,是理解其它内容的基础,下面就将每个字段的信息都详细的说明一下。

Source Port和Destination Port:分别占用16位,表示源端口号和目的端口号;用于区别主机中的不同进程,而IP地址是用来区分不同的主机的,源端口号和目的端口号配合上IP首部中的源IP地址和目的IP地址就能唯一的确定一个TCP连接;

Sequence Number:用来标识从TCP发端向TCP收端发送的数据字节流,它表示在这个报文段中的的第一个数据字节在数据流中的序号;主要用来解决网络报乱序的问题;

Acknowledgment Number:32位确认序列号包含发送确认的一端所期望收到的下一个序号,因此,确认序号应当是上次已成功收到数据字节序号加1。不过,只有当标志位中的ACK标志(下面介绍)为1时该确认序列号的字段才有效。主要用来解决不丢包的问题;

Offset:给出首部中32 bit字的数目,需要这个值是因为任选字段的长度是可变的。这个字段占4bit(最多能表示15个32bit的的字,即4*15=60个字节的首部长度),因此TCP最多有60字节的首部。然而,没有任选字段,正常的长度是20字节;

TCP Flags:TCP首部中有6个标志比特,它们中的多个可同时被设置为1,主要是用于操控TCP的状态机的,依次为URG,ACK,PSH,RST,SYN,FIN。每个标志位的意思如下:

URG:此标志表示TCP包的紧急指针域(后面马上就要说到)有效,用来保证TCP连接不被中断,并且督促中间层设备要尽快处理这些数据;

ACK:此标志表示应答域有效,就是说前面所说的TCP应答号将会包含在TCP数据包中;有两个取值:0和1,为1的时候表示应答域有效,反之为0;

PSH:这个标志位表示Push操作。所谓Push操作就是指在数据包到达接收端以后,立即传送给应用程序,而不是在缓冲区中排队;

RST:这个标志表示连接复位请求。用来复位那些产生错误的连接,也被用来拒绝错误和非法的数据包;

SYN:表示同步序号,用来建立连接。SYN标志位和ACK标志位搭配使用,当连接请求的时候,SYN=1, ACK=0;连接被响应的时候,SYN=1,ACK=1;这个标志的数据包经常被用来进行端口扫描。扫描者发送一个只有SYN的数据包,如果对方主机响应了一个数据包回来,就表明这台主机存在这个端口;但是由于这种扫描方式只是进行TCP三次握手的第一次握手,因此这种扫描的成功表示被扫描的机器不很安全,一台安全的主机将会强制要求一个连接严格的进行TCP的三次握手;

相关主题