好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

原创基于ARM处理器和LINUX系统的嵌入式网络过滤装置.doc

3页
  • 卖家[上传人]:hh****pk
  • 文档编号:342347087
  • 上传时间:2022-12-25
  • 文档格式:DOC
  • 文档大小:86.11KB
  • 文本预览
  • 下载提示
  • 常见问题
    • 摘要:本文以网上不良网页信息过滤为日的,阐述了基于ARM处理器的嵌入式过滤系统设 计原理,给出了硬件设计结构,分析了不同网络拓扑情况下所应采取的解决方案,利用LINUX 协议栈进行数据包捕获过滤软件设计,提出了软件流程,并给出了结论中国论文网关键词:嵌入式过滤捕获1、 前言近年来计算机网络技术的发展使得互联网得到了广泛的应用,使用互联网的人越来越多, 其海量信息资源也给人们带来了方便然而,使用互联网也会面临着风险,尤其是随着网络 以极高的速度发展同时,网络安全技术发展与之并不同步包含以破坏、窃取为目的的"网 络攻击”和以不良信息为载体的“网络毒害”是两个最突出的方面为了更好的保护网络安 全和使用者自身利益,使用强有力的网络防火墙类装置是十分必要的早期的防火墙基本上 是基于数据包过滤手段,可以起到一定的防护作用然而,采用包过滤手段的防火墙对于基 于内容的攻击无效,而在客户机端直接运行基于内容的应用层软件会影响网络速度,因此, 开发合理的网络过滤系统是解决这类问题的关键嵌入式技术是近年来发展起来的一门新兴 技术,采用嵌入式技术解决方案的系统具有实时性好、运行效率高等优点嵌入式网络协议 栈的完善使得采用嵌入式网络系统构建嵌入式过滤装置成为可能。

      本文介绍采用S3C2440 ARM 嵌入式处理器和LINUX操作系统构建嵌入式网络过滤装置的解决方案需要防护的计算机与Internet的连接方式较多,但具体到被防护的单体计算机不外乎以 下几种连接方式:(1)通过路由器连接;(2)通过交换机连接;(3)通过集线器连接通过路由 器连接和交换机连接方式的计算机,由于每个端口都有单独的冲突域,所以过滤装置只能接 收到发往本机的网络数据而通过集线器相连的计算机,由于有共同的冲突域,则一个过滤 装置可以监听到全部冲突域内的网络数据由此,确定系统可以以两种模式工作一种为防 护方式,即嵌入式过滤装置连接在Internet和用户计算机中间,主要用于连接方式(1)和(2) 的计算机另外一种为监视方式,主要针对连接方式(3)的计算机,嵌入式过滤装置挂接在集 线器端口防护方式主要完成以下几项内容:1)指定MAC地址过滤;2)指定IP地址过滤;3) 数据包敏感内容过滤监视方式则根据原则监听指定的MAC地址、指定的IP地址或网段IP 地址、记录敏感数据包来源和去向2、 过滤系统原理通过上述分析可知,在工作模式1中系统要完成的主要是,包分析和重建过程工作模 式2中系统主要完成的是数据包的嗅探和分析记录过程。

      图1嵌入式网络过滤系统框图从图1中可以看出,嵌入式过滤系统位于用户计算机和互联网中间,二者交换的数据要 经过过滤系统,从互联网来的含有攻击性信息和不良信息通过嵌入式过滤系统过滤后传输给 用户计算机过滤系统的系统参数和敏感关键字数据等从串行通信口进行装订通过此端口 可以及时的更新过滤关键字和策略系统工作于模式1时,当存在某些过滤数据库中制定的 某些必须限制的地址或敏感关键字数据包发送到用户计算机时,过滤系统自动将此类包丢弃, 这样可以保证在一定范围内符合使用者要求对于无威胁的数据包,由于已被过滤系统读取, 因此,过滤系统需要重新构造此数据包,发送给被防护计算机,不影响其正常工作对于工 作于模式2的系统,则只进行嗅探分析和记录,并不直接截获数据包上述丁作模式1的流 程图见图2图2工作模式1的流程实际上,上述简述的过滤过程中,对于地址和敏感信息的过滤处于网络协议中的不同层 次要进行地址过滤的MAC地址、IP地址分别处于数据链路层和网络层,而敏感信息内容则 处于传输层的TCP和UDP包中因此,对于不同类型的过滤内容要分开处理获取的顺序为: 原始数据帧一IP包(同时获得IP、MAC地址)一TCP和UDP包。

      获取了上述数据后,即可实 现对存在于MAC和IP地址黑名单中的数据包进行屏蔽,也可以对TCP和UDP包的数据内容进 行分析处理3、 过滤系统的实现嵌入式网络过滤系统的实现可分为硬件和软件两部分硬件系统框图如图1所示图3 给出了基于S3C2440 ARM处理器的过滤系统框图图3基于ARM S3C2440的过滤系统硬件框图从图3中可以看出,过滤系统包含四个组成部分,其中:ARM处理器是系统的核心,承 担着事务管理、数据处理等任务存储模块主要包括FLASH存储器和SDRAM,其中FLASH用 来存储程序,SDRAM则提供程序运行所需的内存空间以太网接口部分包含两个标准网络接 口,其中一个网口接收网络数据包交由CPU处理,再通过另外一个网口传送给PC机串口调 试电路包括串口电路和JTAG调试电路UART串口是用户界面与ARM平台沟通的通道;通过 JTAG接口可以向系统进行FLASH烧写和调试等丁作LINUX系统移植到ARM处理器核心系统工作已经较为成熟,可以较为容易的实现系统的 自举和应用程序的运行而过滤系统的工作基础是底层数据帧的无差别接收,因此,在系统 内核裁剪过程中要进行相应的设置在默认情况下编译LINUX核心,系统的协议栈是不支持 原始数据包捕获,即PACKET_SOCKET这一模式的,因此需要再重新编译系统核心,使之支持 原始数据包捕获和网卡混杂模式功能。

      使网卡进入混杂模式可以通过编程实现,也可以将如 下命令写入用户批处理中ifconfig ethO promise在程序当中,需要使用如下语句设置SOCKET格式来完成上述功能int sockfd;sockfd 二 socket (PF_PACKET, S0CK_RAW, htons(ETH_P_IP));上述语句用于在网卡进入混杂模式后,接收全部网络数据帧然后通过如下语句实现数 据帧的接收捕获rxbyte = reevfrom(sockfd, Buffer, 4096, 0, 0, 0):获得原始数据帧后,即可通过对帧数据的扫描实现数据包的获取数据帧前的14个字节 包含的是源MAC地址和目的MAC地址,14字节之后才是真正的ip数据包数据包中对过滤 较为重要的是32位的源IP地址、32位的目的IP地址以及数据段内容等数据本系统仅设 计对IP V4格式的数据帧进行支持获取得到的MAC地址和IP地址通过与串行口装订的数据 进行对比扫描,如果为非法地址则丢弃数据包如果是合法数据包,就去的数据段进行内容 的扫描如果内容中包含不良信息或装订中规定的非法关键字,则丢弃数据包如果均未发 现异常,则说明该数据包是合法数据包,应该使其通过验证。

      由于分析数据包的时候将原始 数据包分解了,所以要将其构造好重发到PC机上如图4所示为以发送TCP包为例的数据包 发送程序设计流程图图4 TCP数据包重构发送流程重新构造和发出数据包的原理是按照TCP协议栈格式,配合数据包大小、个数和发送速 率等参数,计算生成数据包并发送在每两次发送的间隙进算延时,重复上述过程,直到整 个数据缓冲区发送结束通过上述过程,可以实现对不同连接形式网络的网络数据过滤和记录过程,大大提高了 系统的安全性4、 结语ARM9处理器配合LINUX操作系统,可以构建嵌入式的网络过滤装置,ARM核心为事物密 集型,可以处理数据采集发送存储等工作,LINUX操作系统有着较强的网络功能,可以从底 层设备获取相应的数据帧并进行处理采用此原理构建的网络过滤装置具有灵活性好、体积 小、处理能力强和使用方便等特点,适合有一定保密需求的单位或为家庭创造良好网络环境 之用转载请注明来源原文地址:。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.