样本只提供该系统的基本情况介绍,若需要完整的设计和论文,建议您购买本系统,凡是购买本站系统的,本站均会在该系统的基础上,根据您的要求,修改成一个切实适合您的系统)
本系统开发工具:Visual Studio 2005+SQL2000
本设计包含内容:源代码+可执行程序(计算机毕业设计)+计算机毕业论文+开题报告+答辩稿
目 录
目 录 1
防火墙技术的研究与应用 2
第一章 防火墙的介绍 4
1.1 网络级防火墙 5
1.2 应用级防火墙 5
1.3 防火墙的安全问题 5
1.4 防火墙的优势和弱点 5
1.5 防火墙的技术实现 6
1.6 黑客攻击技术分析 8
1.6.1 UDP攻击 8
1.6.2 TCP/SYN攻击 8
1.6.3 ICMP/PING 攻击 8
1.6.4 ICMP/SMURF 攻击 8
1.6.5 TARGA3 攻击 (IP 堆栈突破) 9
第二章 状态检测技术 10
第三章 截获网络封包的基础知识 11
3.1 了解TCP/IP协议 11
3.2 截获网络封包的方法 11
3.3 Winsock介绍 12
第四章 Windows图形界面下的软件实现 14
4.1 Windows界面设计 14
4.2 托盘技术的实现 16
4.3 Windows界面下获取socket 17
4.4 IP包信息输出 19
4.5 对非法数据包的处理 20
4.6 日志的写入 21
4.7 日志的查询 22
4.8 Windows图形界面下的UDP攻击检测 24
第五章 与天网防火墙的对比分析 26
5.1 天网的不足 26
5.2 本软件的优点与不足 26
第六章 结论 27
参考文献 28
【摘要】:
本文通过详细分析拒绝服务攻击中的SYN和UDP攻击特点,制定相应的解决方案。主要实现过程是把网卡置于混杂模式,从而能够截获网络封包,再运用状态检测技术对数据包进行检测、记录和分析,来判断对方是否在实施攻击。其中,实现检测的关键在于建立一个状态检测机制,能够自动对非法数据包进行处理。如果用户怀疑有人在实施非法攻击,可查看日志确认,确保向上层递交的是合法的数据包。
本程序是用VC++设计,能够检测SYN和UDP攻击,还可查询日志,能对UDP包的大小和接收端口加以限制,以便更好的保护本机系统。
【关键词】:SYN攻击;UDP攻击;端口;数据包
【Abstract】:
This article refuses through the multianalysis to serve in attack SYN and the UDP attack characteristic, formulates the corresponding solution.The main realized process is puts the network card in the combination pattern, intercept the network wrapped gift, and using the condition detection technology to detect ,recording and analysis the data packet, to judges whether the other is attack. Among them, the key of realized detection is based on establish a condition examination mechanism that can automatically carry on processing to the illegal data packet. If the user suspected some people in the implementation illegal attack, they can examine the diary confirmed and ensure the upper formation submits is the legitimate data packet.
This procedure is designs with VC++, Can examine SYN and the UDP attack, but also may inquire the diary. Can limits to a UDP packageof size and the receive port, in order to better protection this aircraft system.
【Key words】: Stateful Inspection;SYN attack;UDP attack;Port;Data packets.
截获网络封包的方法有多种,包括传输层过滤驱动程序、NDIS中间驱动程序和Winsock2 SPI。前两种方法是在核心层实现,要求对底层协议较熟悉,实现起来也很复杂。SPI是在会话层,处于核心层之外,因此用Winsock2 SPI实现起来就相对简单些。为了方便对OSI7层协议在Windows中的应用和实现方式有一个直观的认识,下面给出一个7层协议与Windows结构的概略映射图,如图3.2所示。
NDIS是Windows的网络驱动接口规范,它的职能重心是提供网络层接口。NDIS是Windows的外交官,一方面通过网卡驱动程序向网卡传达Windows的意思,另一方面也将从网卡驱动程序得到的网卡信息传达给上级TDI。
TDI是传输驱动接口,它不仅是一个简单的传送带,它还要对信息进行检索、分类并重新组织。TCP协议的封包处理就是在这一层进行的。
SPI是服务提供者接口,上面两层都处于核心层,其程序都是驱动程序,表现为 .vxd或 .sys 。SPI属于应用层范畴,它的程序为动态链接库(DLL)形式。SPI负责连接核心层驱动程序和高层应用程序,它的上级为API。
API是应用程序接口,这对Windows程序员来说是非常熟悉的,它为应用程序提供接口,负责SPI与应用程序之间的数据传输。
有了上面的基础知识,就不难决定用哪种方法来截获IP数据包了。从刚才的介绍中我们了解到,与API最接近的是SPI,它不需要了解驱动程序,只需要调用SPI提供的函数就可实现我们想要的功能。实际上,在VC里面都有与SPI相对应的API函数。因此,采用Winsock2 API来实现IP包的获取是一条捷径。
我们知道,网络通信必须要用到socket. socket又称为套接字,是支持TCP/IP协议网络通信的基本操作单元。可以将套接字看作不同主机间进程进行双向通信的端点。一个套接口就是通信的一端,在这一端上可以找到与其对应的一个名字。套接口存在于通信域中,通信域是为了处理一般的线程通过套接口通信而引进的一种抽象概念。套接口通常与同一个域中的套接口交换数据。Windows Socket规范支持单一的通信域,即Internet域。
根据网络通信的特性,Winsock1.1把套接字分为两类:流式套接字和数据报套接字。
(1) 流式套接字
流式套接字提供双向、有序的、无重复并且无记录边界的数据流服务,它适用于处理大量数据。流式套接字是面向连接的,通信双方在进行数据交换之前,必须建立一条路径。它在建立socket时所用到的标志是SOCKmyeducs.cnSTREAM。
(2) 数据报套接字
数据报套接字支持双向的数据流,它是无连接的,并不保证接收端是否能正确接收,因此数据报并不可靠。也就是说,一个从数据报套接字接受信息的进程有可能发现信息重复,或者和发出时的顺序不同的情况。它在建立socket时所用到的标志是SOCKmyeducs.cnDGRAM。
(3) 原始套接字
光有这两种套接字是远远不够的,Winsock2的出现使Winsock1.1的许多方面得到了扩展。Winsock1.1的源程序可以被简单的移植到Winsock2系统上运行,只需要包含新的头文件——Winsock2.h和连接Wsock32.lib库。
这里之所以要介绍Winsock2,是因为它含有一种重要的套接字类型——原始套接字。原始套接字支持多种协议,通过它,程序员可以对网络低层的传输机制进行控制。原始套接字与流式套接字和数据报套接字的最大不同在于套接字的创建,它是用SOCKmyeducs.cnRAW这一标志创建的。
创建完socket,就可以在网络上进行数据通信了。
朱燕辉 朱燕冰.Windows防火墙与网络封包截获技术.北京:电子工业出版社.2002.7.第一版:5~24.
汪哓平 钟军等.Visual C++网络通信协议分析与应用实现.北京:人民邮电出版社.2003.2.第一版:22~69.571~599.
冯峰 王雪梅等.Visual C++开发高级界面实例.北京:人民邮电出版社.2000.11.第一版:76~81.
谭浩强.C程序设计.北京:清华大学出版社.1999.12.第二版:377~387.
谢希仁.计算机网络.大连:大连理工大学出版社.2000.6.第三版:159~171.195~208.
Keith E.Strassberg,Richard J.Gondek,Gary Rollie etal.防火墙技术大全.李昂 刘芳萍 杨旭等译.北京:机械工业出版社.2003.3.第一版:5~23.
Dan Forsberg. SYN Flood Dos Attack Experiments. Report paper for course Tik-110.452 TKK/TLM.45271R. 31.03.1998.
http://www.niksula.cs.hut.fi/~dforsber/synflood/result.html.
William Stallings. OPERATING SYSTEMS Internals and Design Principles. 北京:清华大学出版社·PRENTICE HALL.1998.6.102~117.
Microsoft 公司.Visual C++6.0类库参考手册(上、下).希望图书创作室译.北京:希望电脑公司出品.1999.2.
Steve E Deering.Host Extentions for IP Multicasting[S].RFC1112.
T Hardjono,B Cain,I Monga.Intra-Domain Group Key Management Protocol[C].LETF Draft.1998.
杨文龙 姚淑珍 吴芸.软件工程.北京:电子工业出版社.1999.5.第二版:43~58.
严华峰.Visual C++课程设计案例精编.北京:中国水利水电出版社.2002.4.第一版:56~77.
清汉计算机工作室.Visual C++6.0数据库与网络开发.北京:机械工业出版社.2000.4.第一版:108~127.
[15] V.V.Pteetham的《Internet安全与防火墙》—http://www.maihaoshu.com/book/256199.htm.
[16] Matthew Strebe的高效构筑与管理防火墙—电子工业出版社,2005.9.18出版.
[17] (美)keith《防火墙技术大全》—机械工业出版社,2006.12.6出版.
[18] Marcus Goncalves的防火墙技术指南—http://www.maihaoshu.com/book/142541.htm
[19] (美)Anne Carasik-Henmi的《防火墙核心技术精解》—中国水利水电出版社,2006.8.12出版.
[20 刘占全写的有关网络管理与防火墙技术—http://www.maihaoshu.com/book/312102.htm