- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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网络数据FTP服务器的
关键词:;数据;netfilt
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
netfilter可以实现的基本控制功能
①.包过滤
包过滤的控制模块不会对数据包进行修改,只对数据包进行过滤。它通过钩子函数NF_IP_LOCAL_IN、NF_IP_FORWARD及NF_IP_LOCAL_OUT接入netfilter框架。对于任何一个数据报只有一个地方对其进行过滤。Iptables相对ipchains是一个巨大的改进,因为在ipchains中一个被转发的数据报会遍历三条链。包过滤框架示意图如下:
图4 控制管理包过滤模块框架示意图②.NAT
网络地址转换通过NF_IP_PRE_ROUTING、NF_IP_POST_ROUTING及NF_IP_LOCAL_OUT三个钩子函数接入netfilter框架。网络地址转换只对新连接的第一个数据包进行转换,随后的数据包将根据第一个数据包的结果进行同样的转换处理,其分为源地址转换和目的地址转换。NF_IP_PRE_ROUTING实现对转发的数据包的源地址进行地址转换,NF_IP_POST_ROUTING对转发的数据包的目的地址进行地址转换,对于本地数据报的目的地址的转换则由NF_IP_LOCAL_OUT来实现。地址转换框架图如下:
图 地址转换框架示意图
③.数据
包处理通过钩子函数NF_IP_PRE_ROUTING和NF_IP_LOCAL_OUT接入netfilter框架。包处理可以实现对数据报的修改或给数据报附上一些带外数据。
包过滤框架示意图如下:
图 包处理框架示意图
④.连线跟踪
连线跟踪(Connection Tracking)是包过滤、地址转换的基础,但其又作为一个独立的模块在运行,有了连线跟踪,动态包过滤及地址转换才能得以实现。连线
文档评论(0)