Linux下的简单网络管理控制系统的设计与开发
来源:wenku163.com 资料编号:WK1638207 资料等级:★★★★★ %E8%B5%84%E6%96%99%E7%BC%96%E5%8F%B7%EF%BC%9AWK1638207
资料介绍
Linux下的简单网络管理控制系统的设计与开发
摘 要
随着网络的逐步普及,网络的管理和控制的重要性已经越来越突出,它关系着网络的进一步发展和普及,甚至关系着网络的生存。为了促进网络的发展,在现有的技术条件下,可以开发出成熟的网络控制系统对网络进行管理和控制。可以通过对网络的管理和控制为本地网络和外部网络之间建立一道屏障,从而控制和管理进出网络的数据。网络管理控制系统的核心是制定一套完整的网络控制指令集和设计控制管理的功能模块。本系统在Linux-2.4.20-8内核下完成网络管理控制系统的设计,使用控制管理命令实现对网络数据的管理。控制和管理模块的设计使用了netfilter数据控制过滤机制来实现对网络的管理。模块可以实现对固定端口,网页访问以及不同数据协议类型的数据进行管理和控制。从实际应用中可以得出结论在Linux-2.4.20-8的内核下可以成功的使用netfilter网络数据控制机制过滤和管理进出系统的网络数据。本文首先介绍网络管理控制系统的一些基本概念以及一些在Linux下的C语言编译环境,其次介绍Linux netfilter控制模块在内核中的实现,在此着重介绍了netfilter在IPv4中的结构以及在Linux 2.4.x内核中实现,最后介绍了网络数据管理的策略、模块编程以及如何设计网络管理控制的功能模块。在了解这些技术的基础之上,成功的在Linux-2.4.20-8内核下开发出一套简单的网络管理控制模块。这些模块通过程序发出的控制指令进行动态的插入和卸载。这些模块分别实现了对ICMP网络数据,HTTP站点,FTP服务器的管理控制。
关键词:内核模块;数据包;netfilter
Design and Development of Simple Internet Management and Controlling System under Linux
Abstract
With the permeation of Internet,the importance of Internet management and controlling becomes more prominent, It is related to the further development and permeation even the existence of Internet. To promote the development of Internet, it is possible to develop a mature Internet controlling system which can be managed and controlled under the current technical conditions. It can build a natural defense between internal and external network through managing and controlling the data of Internet. It is the core of this system that builds an overall Internet controlling agreement and realizes the model function of controlling and management. This system realizes the management and controlling of Internet data successfully by doing its design whose modules mainly based on the data controlling and filtering mechanism of Netfilter, under Linux. The modules have success in realizing the data managements. From practice, it concludes that data controlling mechanism of Netfilter can succeed in managing and filtering the whole data under Linux. This thesis introduces some basic concepts of MCS and edition environment of C language under Linux, firstly. Then it introduced realization of controlling module of Linux, Netfilter in Kernel, which highlight the structure of Netfilter in IPv4 and realization of Linux. Lastly it mentioned the strategy of MCS modules edition and how to design the function modules of MCS. So one simple modules of MCS of which doing dynamic insertion and suddenly unloading through controlling agreement sent by programs is designed successfully under Linux, following these skills. These modules also realize the management and controlling of ICMP data, HTTP websites and FTP Servers, respectively.
Key words: Kernel Module;Packet;Netfilter
目 录
论文总页数:29页
1 引言 1
1.1 课题背景 1
1.2 国内外研究现状 1
1.3 课题意义 1
1.4 本课题研究方法 1
2 Linux开发环境介绍 2
2.1 Linux简介 2
2.2 Linux下的C语言开发环境 2
2.3 常用的网络数据控制工具介绍 3
3 Linux网络管理控制核心技术 5
3.1 SOCKET网络编程 5
3.1.1 Linux网络编程 5
3.1.2基本套接字函数 5
3.2 基于TCP协议的通讯 7
3.2.1 TCP传输协议简介 7
3.2.2控制字符的制定 7
4 NETFILTER-网络控制模块设计基础 8
4.1 netfilter介绍 8
4.2 netfilter中的重要返回值 8
4.3 netfilter在IPv4中的框架 9
4.4 netfilter核心模块 10
4.5 netfilter可以实现的基本控制功能 11
5 测试Linux网络管理系统的设计实现 13
5.1 系统设计整体框架 13
5.2 用SOCKET实现控制端和管理端的通讯 14
5.2.1管理端的设计与实现 15
5.2.2控制端的设计与实现 16
5.3 用netfilter设计控制功能模块 18
5.3.1设计控制ICMP数据报的模块 18
5.3.2用netflter设计管理控制FTP服务器的模块 20
5.3.3设计控制HTTP网站访问的模块 22
5.4 用GCC编译生成模块 23
5.5 管理控制系统测试 23
5.6 程序设计中遇到的问题和解决方法 24
5.6.1解决模块编译的环境问题 24
5.6.2解决程序异常退出问题 25
5.6.3解决模块自动加载问题 26
结 论 26
参考文献 27
致 谢 28
声 明 29
1 引言
1.1 课题背景
Linux做为当今使用最为广泛的操作系统,在各个领域都具有非常重要的用途,随着网络技术的飞速发展,网络数据管理和控制系统方面设计人才的需求不断增加。特别是随着我国经济的不断发展,网络管理控制系统开发方面的人才的需求也越来越大。通过这个课题可以使我们熟悉Linux下的netfilter网络数据控制过滤机制,可以使我们学会指定网络控制协议和开发网络管理控制模块的方法。通过Linux下的简单网络管理控制系统的设计和开发,可以提高实际的编程能力,特别是网络数据通讯管理这部分的编程能力。
1.2 国内外研究现状
Linux作为一种开源的操作系统,在国内外享有较高的声誉,其重要地位是其他操作系统所不可取代的。正是由于Linux操作系统的开源性,在国内外各大研究机构对其进行了不断的开发和完善,逐步形成了今天的Linux操作系统,其功能非常强大,运行非常稳定。国内外均成立了专门的研究机构对其进行开发和研究。而近年来由于网络技术的兴起,Linux系统也发展为一种可以进行资源共享和交互的网络平台。在资源共享的同时,网络的安全已经成为科研机构研究的重点,并且推出了一系列的网络管理控制系统,特别是实现对网络数据的管理和控制。其中以网络数据管理和控制过滤器IPTABLES最为出名。可以说就目前国内外研究的情况来看Liunx方面的网络管理控制系统的开发技术已经相当成熟,并且正在不断的进行完善。
1.3 课题意义
随着网络技术的飞速发展,在越来越多的领域要用到网络控制管理。Linux操作系统是一个开源操作系统,对网络管理控制程序的设计提供了良好的实验开发平台,同时市场对Linux下的研发人员需求也很大。通过对Linux网络通讯管理控制系统的开发,可以提高学生对网络通讯知识的了解和实际网络编程的能力,同时通过网络管理控制模块功能的设计,可以熟悉Linux下的网络数据的过滤机制,学会运用netfilter实现对网络数据的管理和控制。因此,该课题具有较好的实用价值。
1.4 本课题研究方法
在Linux-2.4.20-8操作系统平台下使用C语言开发环境。通过使用netfilter网络数据包管理控制机制进行网络控制模块功能的开发和编译,并且运用C语言编程开发出可以发出控制协议的管理控制平台进行相应的管理和控制模块的运行。其次研究网络通讯中的传输协议,以及数据报的传输过程,以及一些可以控制和管理网络数据的传输端口,制定出一套网络管理控制协议,即一套完整的控制字节。最终在Linux操作系统环境下实现完成该网络管理控制程序,并且用netfilter实现控制功能模块的设计。 |