大型论坛检测系统的开发与应用

上传人:油*** 文档编号:169391433 上传时间:2022-11-15 格式:DOCX 页数:26 大小:271.83KB
返回 下载 相关 举报
大型论坛检测系统的开发与应用_第1页
第1页 / 共26页
大型论坛检测系统的开发与应用_第2页
第2页 / 共26页
大型论坛检测系统的开发与应用_第3页
第3页 / 共26页
点击查看更多>>
资源描述
大型论坛检测系统的开发与应用摘要互联网发展迅速,网络论坛也随之发展起来。它在给人们带来了诸多方便的 同时也产生了诸如传播色情暴力、发表反动言论和泄漏技术机密等一系列严重的 问题。因此人们对网络论坛内容监测的需求已经迫在眉睫,而对它的深入分析和 研究就更具有极为重要的意义。本文介绍了网络基础知识、网络监测和过滤的原理以及数据从客户端传到服 务器端的方式。分析了互联网论坛监测系统的目的、系统的组成原理和系统的功 能模块。其主要模块包括包捕获模块、解码模块、模式匹配模块。它还提出了利 用以太网的广播特性,在共享式网络环境下使用 BPF 技术来获取传输中的信息。 系统在 Linux 操作系统下,调用 Libpcap 库函数来实现抓包,对包中的内容进行 分析,找出有害的信息,从而实现过滤功能。利用文中介绍的方法来构建监测系 统,能起到一定的监测作用。关键词 :论坛监测;抓包;过滤;伯克利数据包过滤器Design and Implementation of the InternetForum Detective SystemAbstractAs the internet has been developing rapidly, the internet forum has brought many convenient to the people. But at the same time, it also has been having a series of questions, such as spreads the pornography, declares the reactionary opinion, divulges the secret of technology, etc. Therefore the requirement of the Internet forum detective system has been stared in the face, and thorough analysis for the system has the extremely vital significance.The thesis introduces the base knowledge of network, the principle of the network detecting and filter. Pointed out a method of how the data transport from the customer to the server. The thesis has analyzed the goal of internet forum detective system, the principle of system composition and the function module. The important module includes the module of capture package, module of decode, module of matching. The system proposes the broadcast characteristic of Ethernet, using the BPF technology to gain the network information in the common network environment. The system has base on Linux operation system, transferring a libpcap storeroom function to grasp the package, analyzing the content of the package and finding the bad message in order to realize the function of filter. The thesis uses the method which was referred just now to construct the system detective, and it realizes some of its functions.Key words: The forum detecting; Libpcap; filter; BPF目录论文总页数:25页1 引 言 11.1课题背景 11.2 本课题研究的意义 11.3 本课题的研究方向 12 网络监测和过滤技术 12.1 网络监测技术简介 12.2 包捕获 22.2.1利用以太网的广播特性进行包捕获 32.3 包过滤 33 系统需求分析 43.1 互联网论坛监测的产生 43.2 论坛内容监测系统的总体目标 43.2.1 系统所需的环境配置 53.2.2系统的流程图 63.3 系统功能分析 64 论坛监测软件设计的总体方案 84.1 论坛监测软件主要功能 94.2 论坛监测系统功能模块的描述 105 论坛监测软件的实现 115.1 运行环境和操作系统选择 115.2 系统对软硬件配置的要求 125.3 预期成果 125.4 软件模块的实现 125.5 论坛监测软件的对象关系图 155.6 论坛监测的关键代码 166 结果测试,性能分析 166.1 测试指标: 166.2 测试环境 166.3 监测计算机处于局域网内部 166.3.1 用户机和目标论坛配置 176.3.2 网关的配置 176.3.3 测试方法与结果 176.4 监测计算机处于外部网络 176.4.1 用户机和目标论坛配置 186.4.2网关的配置 186.4.3 测试方法与结果 18结 论 19参考文献 191 引 言1.1 课题背景互联网发展迅速,网络论坛不仅逐渐成为企业内部的沟通桥梁,也是企业和 外部进行各类业务往来的重要管道。同时企业如何能够从海量的数据信息中获取 民众焦点和社会舆论动向已经成为管理部门日常工作的重中之重。1.2 本课题研究的意义通过设计流量控制,身份验证,屏蔽各种端口等方法对用户上网发信息到目 标论坛进行严格管理与控制,有效预防木马、病毒和用户进行反动,色情的信息 传递。1.3 本课题的研究方向综合运用以前所学的专业知识,设计开发一个互联网监测软件,本设计要求 实现能够自动获取目标论坛的发布内容,系统针对发帖作者、发帖时间、帖子 URL、帖子标题和帖子正文等关键字段开放基于单个字段或是组合选项的热点查 询等这些功能,具体包括以下内容:1. 在设计与开发中,重点如何解决客户发的信息能够捕获到的问题;2. 在设计与开发中,难点是对捕获的信息过滤的问题。本系统的开发首先分析互联网论坛监测系统软件的相关功能,结合本次毕业 设计的相关要求写出需求分析;其次,综合运用以前所学的相关知识(包括计算 机网络技术、相关协议、信息安全相关知识等),选择所熟悉的开发工具进行本 毕业设计的开发;在设计中以需求分析为基础,写出系统开发计划、实现流程及 相关问题的实现方法;同时,在开发设计与实现中,要保存好相关的设计文挡, 为后面的毕业论文的写作准备材料;最后,系统开发完毕后,进行调试和试运行, 做好调试和试运行的相关记录,也为后面的毕业论文的写作准备材料。2 网络监测和过滤技术伴随着互联网的迅速普及,良莠不齐的网络发布内容日渐泛滥。而随之带来 的安全和管理问题不得不受到用户的重视。从小型公司员工上网浪费工作时间和 公司资源,到商业间谍通过一封邮件将公司机密泄露,无不体现着网络监测的必 要性。而监测也仅仅是一种手段,必须和企业的管理机制挂钩,有了比较好的衔 接才能真正的实现事半功倍。在众多的网络安全技术中,监测过滤技术是一个广泛使用的技术。监视实时 通讯的信息并提取有害内容,而且在不影响网络性能的基础上提取信息体,并进 行高效的匹配从而建立有害信息库,为进一步拦截和做出统计分析做准备。2.1 网络监测技术简介绝大多数的现代操作系统都提供了对底层网络数据包捕获的机制,其最初的目的在于对网络通信情况进行监测,以对网络的一些异常情况进行调试处理。但 随着互连网的快速普及和网络攻击行为的频繁出现,保护网络的运行安全也成为 监测软件的另一个重要目的。目前的监测软件主要有两种类型。一种是通过侦测记录信息进行监测,类似 于木马程序,这种监测软件通过抓屏、记录键盘击键信息或窃取 IM 记录文件等 方式能够获取用户信息。另外一种通过捕获网络中的广播数据从而进行监测。监测特指“sniffer”(通常直译为嗅探或窥探),即利用计算机网络接口截 获目的地为其他计算机的数据报文。大体上来说,可以将监测程序分为两个组成 部分:内核空间部分:负责从网络中捕获以及过滤数据包。用户空间部分:负责处理用户界面、格式化、协议分析,此外如果核心层没有 进行过滤的话,还必须负责过滤部分工作。监测程序大体结构如下图1:2.2 包捕获图 1 监测程序结构不同的操作系统实现的底层包捕获机制可能是不一样的,但从形式上看大同小异。数据包常规的传输路径依次为网卡、设备驱动层、数据链路层、 IP 层、 传输层、最后到达应用程序。而包捕获机制是在数据链路层增加一个旁路处理 对发送和接收到的数据包做过滤/缓冲等相关处理,最后直接传递到应用程序。 值得注意的是,包捕获机制并不影响操作系统对数据包的网络栈处理。2.2.1利用以太网的广播特性进行包捕获以太网数据传输通过广播实现,通常在同一个共享局域网的所有网络接口都 有访问在物理媒体上传输的所有数据的能力,但是在系统正常工作时,应用程序 只能接收到本主机为目标主机的数据包,其他数据包过滤后将被丢弃不作处理。 该过滤机制可以作用在链路层、网络层和传输层这几个层次。链路层主要指网卡驱动程序判断所收到包的目标以太网地址,在系统正常 工作时,一个合法的网络接口应该只响应这样的两种数据帧:帧的目标区域具有和本地网络接口相匹配的硬件地址。帧的目标区域具有广播地址。在接收到上面两种情况的数据包时,网络接口通过CPU产生硬件中断,操作 系统进行中断处理后将帧中所包含的数据传送给网络层进一步处理。而其他情况 下数据帧将被丢弃不作处理。网络层判断目标IP地址是否为本机所绑定的IP地 址,如果不是本机所绑定IP地址,将丢弃这些IP数据报;如果符合本机1P地址则 交给传输层处理。传输层中的TCP或者UDP判断目标端口是否在本机已经打开,如果没有打开, 则抛弃这些包,否则将向应用层提交内容。要监测到流经网卡的不属于自己主机 的数据,必须绕过系统正常工作的处理机制,直接访问网络底层。首先将网卡工 作模式置于混杂(promiscuous)模式。当网络接口处于这种混杂模式时,该网络 接口具备“广播地址”,它对所有接收到的帧都产生硬件中断以提醒操作系统处 理流经该物理媒体上的每一个报文 (绝大多数的网络接口具备置成 promiscuous 方式的能力)。操作系统直接访问数据链路层,截获相关数据,由应用程序如IP 层,TCP层的协议对数据过滤处理,这样就可以监测到流经网卡的所有数据。监 测程序工作在网络环境中的底层,它会拦截所有的正在网络上传送的数据,并且 通过相应的软件处理,可以实时分析这些数据的内容,进而分析所处的网络状态 和整体布局。2.3 包过滤网络信息监测将获取所有的网络信息,但在实际应用中,其中存在若干用户 不关心的数据,或者称为垃圾数据。如果垃圾数据比重极大,将严重影响系统工 作效率。事实上,网络监测模块过滤功能的效率是该网络监测的关键,因为对于 网络上的每一数据包都会使用该模块处理,判断是否符合过滤条件。低效率的过 滤程序会导致数据包丢失、来不及分析处理等。用户可以按特定的子网主机以及 特定的协议端口如Htt p, FTP, E-ma il等进行过滤,只将用户关心的敏感数据向 上层提交,从而提高系统的工作效率。信息的简单过滤有如下几种。1. 协议过滤:根据传输层和网络层中的特性过滤,如选择。TCP数据而非UDP数据。2. 类型过滤:站过滤:根据MAC地址,筛选出某个工作站或服务器的数据。服务过滤:根据端口筛选特定类型服务。3. 内容的过滤:根据收到信息的内容,选择性的数据过滤。本系统采用内容过滤的方法来实现论坛监测。3 系统需求分析3.1 互联网论坛监测的产生互联网发展迅速,并在日益趋向跨国界、多语种、分布式和多接入的态势。同时企业如何能够从海量的数据信息中获取民众焦点和社会舆论动向已经成为 管理部门日常工作的重中之重。从小型公司员工上网浪费工作时间和公司资源, 到商业间谍通过一封邮件将公司机密泄露,无不体现着网络监测的必要性。所以一种能够实时监测网络流量和网络传输信息,又能够通过网络信息中把 色情和反动字眼的内容过滤的软件,是我们迫切需要的。因此互联网论坛内容监 测系统的产生就显得尤为重要。它是当今网络发展的必然产物,也是未来网络的 不可或缺的。3.2 论坛内容监测系统的总体目标论坛监测系统总体目标:通过设计流量控制,身份验证,屏蔽各种端口等方法对用户上网、收发邮件、聊天和电脑游戏进行严格管理与控制;有效预防黑客、 木马和病毒,进行反动,色情的信息。对用户上网行为的监测和管理事实上要配合一个复杂的网络系统体系去实 现,首先要定义出了网络用户的类型,普通用户、管理员等都应有不同的网络权 限去获得网络的资源。此外对用户的数据的监测就通过流控设备,了解所使用的 网络服务和各个服务的流量,对敏感的流量和服务有必要进行抓包分析。互联网论坛内容监测系统能够自动获取目标论坛的发布内容,系统针对发帖 作者、发帖时间、帖子URL、帖子标题和帖子正文等关键字段开放基于单个字段 或是组合选项的热点查询功能,并能自动生成数据报告,从而帮助系统使用者真 正实现对于社会热点的把握和社会动向的预期。3.2.1 系统所需的环境配置拓扑图如下图2:目标论坛 n图 2 系统功能图从上图可知,互联网论坛监测系统所需要包括的两个独立的平台:数据获取 /存储平台和数据报告生成平台。其实这两个平台都是起到方便客户查找的功能。数据获取和存储平台:接入互联网,对定点网站、论坛进行数据深入挖掘,基于发帖人、发帖时间、 主题及正文进行分类检索与统计,对目标站点的信息提取率达到 90%;专项针对 目标论坛的信息发布进行内容获取,对目标论坛分组,基于论坛组进行高效的轮 询式全文获取;采用纯文本方式存储,以最大限度节约空间。数据报告生成平台:以海量信息为基础,自动聚成目标论坛当前热点,并发布信息快照、生成数 据报告。系统还应该需要:定点网站深入挖掘网络终端浏览行为智能模拟目标站点信息提取率达到90%专项针对论坛发布内容获取目标论坛分组,基于论坛组的高效轮询式全文获取此功能主要能够很快的建立目标论坛网站的目录,并根据需要定点某个网 站。在这个定点网站中利用搜索,提取所需的信息。数据挖掘关注热点查询发帖人、发帖时间、主题及正文的分类检索与统计此功能进一步对某个网站进行信息的有针对性的很具体的搜索,达到信息的 快速获取。信息聚类生成数据报告以海量信息为基础自动聚成目标论坛当前热点热点发帖信息快照此功能是从论坛中的所有信息,自动筛选其热点信息供查找和阅读。3.2.2 系统的流程图 由以上对论坛监测的系统分析,要实现这些功能,关键技术就是实现抓包和 过滤,因此得到该系统从开始抓包到最后匹配丢弃的一个流程图。如下图 3 :图3 系统流程图3.3 系统功能分析1. 数据包捕获功能论坛内容监测要实现抓包,就离不开Libpcap调用抓包库函数。所以先介绍 Libpcap:Libpcap接口支持基于BSD数据包过滤器(BPF: BerkeleyPaeket Filter)的数 据过滤机制。Libpcap库只支持BPF接口的内核过滤。如果主机上没有BPF机制, 则所有的数据包都必须读取到用户空间后,再在Libpcap库中进行过滤处理,这 样就会增加额外的处理负担,导致性能的下降。系统由网络接口卡、P F和Libpcap组成。网卡部分监视共享网络中的所有包, BPF用过滤条件匹配监视到的包,若匹配成功则将之从网卡驱动的缓冲区复制到 核心区。核心缓冲区分为两部分:存储缓冲区和复制缓冲区。存储缓冲区用于容纳过 滤匹配成功后的数据包,复制缓冲区用于将包从核心缓冲区复制到用户缓冲区。 当存储缓冲区满而复制缓冲区空时,BPF将两者交换。这样的设计使用户程序不 需与网卡驱动程序交互。Libpcap完成了如下工作:向用户程序提供抽象接口根据用户要求生成过滤指令管理用户缓冲区(用户程序不可见)负责用户程序与内核的交互如图4所示:网络网络接口卡图 4 Libpcap 工作流程图2. 包过滤功能 根据目前社会存在的各种问题及语言习惯,建立有害信息库,通过包捕获功 能提取的IM软件传输的明文消息,将其与有害信息库中的关键词进行匹配,提取 含有有害信息数据。如法轮功,带有色情的信息和图片。包过滤就离不开Berkeley Packet Filter (BPF),即伯克利数据包过滤器, 它提供了一种新的流量监测结构,性能比其它工具有显著提高。BPF 工作原理:许多版本的 UNIX 都提供用户级别的网络监测功能,因为监测程序以用户级 别进程工作。数据包的拷贝必须跨越内核/用户保护界限,这就需要使用名为包 过滤器(packet filter)的内核代理程序。BPF主要由两大部分组成:网络分接头(Network Tap)和数据包过滤器(Packet Filter)。网络分接头从 网络设备驱动程序处收集数据包拷贝,并传递给正在监测的应用程序。过滤器决 定某一数据包是被接收还是拒绝,以及如果被接受,数据中的那些部分被拷贝给 应用程序。如下图5:3. 匹配报警功能 根据任务的实时性要求,报警、记录日志、图形显示等功能应建立在不影响 包捕获的基础上。当数据包匹配成功后,说明内容为有害的,因此该信息丢弃, 并发出报警声。4论坛监测软件设计的总体方案 互联网论坛监测系统使用的是用户/服务器的模式。做服务器端的多台机子 在一个局域网内,组成目标论坛,接收来自其他网络的客户机的信息。做客户端 的机子在另外的局域网内,发信息给目标论坛。服务器机子装上这个监测软件后, 可以捕获到客户端机子向这台机子发的信息(帖子)实现监测功能。同时如果发 的信息中含有发法轮功字眼等反动信息。该软件就自动删除该帖子实现过滤功 能。并同时发出警报声。客户端机子和服务器端机子分别在各自的路由器网关下 构成一个小型的内部局域网。他们分别有各自的出口网关。由此可得到它的拓扑图如下图6:4.1 论坛监测软件主要功能 对外部网络的监测: 根据具体网络大小和监测应用的范围有所不同而做些修改即可。通过监测机 对网络中所有主机的数据进行检测,收集网络中的数据,当发现正常的数据流时, 监测机不采取任何动作,当发现有敏感的数据时即可将其先隔离并保存下来,然 后报警,通过管理员的操作和检验后再对用户 pc 加以处理。这样的工作流程对 于中小型企业来说是比较适用,只需要一个监测软件即可,设备的投入也不大, 效果也比较好。数据获取:互联网论坛监测系统呈现简洁、归一化的操作界面,多线程获取网站发布 数据。在管理人员设定的遍历层数范围内,系统递归获取起始及随后页面中所有 超链接所对应的内容。系统在受限于上述遍历层数的同时,还能接受管理人员对于最大下载字节 数与每次请求间隔时间的设置,从而避免因其内容获取操作而造成目标论坛的工 作负载骤然增加。接入互联网,对定点网站、论坛进行数据深入挖掘,基于发帖人、发帖时 间、主题及正文进行分类检索与统计,对目标站点的信息提取率达到90%。专项 针对目标论坛的信息发布进行内容获取,对目标论坛分组,基于论坛组进行高效 的轮询式全文获取;采用纯文本方式存储,以最大限度节约空间。显示当前已经获取帖子的发帖人、发帖时间、帖子位置、帖子标题、帖子 URL 等基本信息。内容过滤功能:包括对不需要监视的对象、内容、行为进行过滤(忽略监视),可针对 3 种 对象(整个网络、分组、电脑)。全部监视/不监视、只监视部分应用。根据不用管理需要,可设置为某些 对象监视,某些对象不监视(比如管理员和老板没有必要被监视),某些用户应 用监视,某些应用不监视。由于网页监视很多广告垃圾而且比较消耗硬盘空间 等资源。如果有人在观看网站的帖子后,想发表评论,如果评论中包含色情和反动 的字眼就自动删除该帖子,并发出警报。网站过滤白名单和黑名单功能。可设置只监视具体的一些网站,也可以忽 略监视某些网站;比如一个公司里通常 SINA 这样的网站可能同时所有的人都有 去看,如果都监视的话将相当浪费资源又内容重复,实际上也无意义和必要。因 此采用过滤方法模糊控制模式去忽略对一些公共的东西过滤。比如输入 SINA, 将过滤全部包含 SINA 的所有 URL 访问,这叫做白名单过滤。对包含色情和反动 信息的过滤叫做黑名单过滤。流量监视与限制: 包括针对具体的对象,能够详细准确监视其发生的流量,并能够限制其占据 的流量带宽。数据备份和配置管理:包括允许定义数据保存时间或删除过时的数据。数据、配置和日志的查看、 打印、备份恢复功能。简单容易的数据备份方式和海量存储模式。支持监视内容 和配置文件的海量模式备份、恢复。4.2 论坛监测系统功能模块的描述对用户上网行为的监测和管理事实上要配合一个复杂的网络系统体系去实 现,首先要定义网络用户的类型,普通用户、管理员等都应有不同的网络权限去 获得网络的资源,因此就需要网管功能的软硬件了。此外对用户的数据的监测就 只能通过流控设备去实现,了解所使用的各个服务的流量,对敏感的流量和服务 有必要进行抓包分析。特别是对技术含量较高的企业有很大用途。本系统根据功能模块化分为后台和前台软件两部分。后台部分由主进程和主 线程完成。主进程通过主控模块实现。主线程通过包捕获模块、解码模块、模式 匹配模块和输出模块来完成。前台部分包括图形显示模块、命令模块。主控模块实现的功能包括所有模块的初始化、命令行解释、配置文件解释、 建立主线程、关闭主线程。包捕获模块是主线程的主程序,它将数据包捕获后的处理交给解码模块。解码模块,定义不同的数据结构取得IP地址、TCP层的端口号以及信息实体等数据, 在将这些数据填写到数据结构中供模式匹配模块来使用。解码模块把从网络上抓取的原始数据包,从下向上沿各个协议栈进行解码并 填充相应的数据结构,以便模式匹配模块处理。模式匹配模块应用KWP算法将匹配字库与捕获到的IM信息进行匹配,提取有 害信息,对有害信息进行定位。输出模块接收模式匹配模块匹配出的结果建立黑名单,根据输出类型分别分 发到图形显示模块、日志模块及提供黑名单给网关计算机以便于拦截计算机拦截 有害内容。命令模块将用户的信息传递给主控模块。图形显示模块显示目前的关键字和匹配成功的信息和信息的源IP地址、目的 IP地址、端口号、ID号。日志模块实现各种报文日志功能,也就是把各种类型的报文记录到各科类型 的日志中。系统功能模块图如下图7:图7 系统功能模块5 论坛监测软件的实现5.1 运行环境和操作系统选择通过分析,后台软件选用 Red Hat7.2(Linux 2.4内核)作为开发平台。主要 因为:1. Linux网络功能强大,其本身是依靠网络技术发展的。2. Linux 2.4内核对libpcap支持的比较好。并且可以得到libpcap的更新 版本。3. 目前的几种主流抓包软件都有支持Linux的版本,便于比较功能。4. Linux下的软件是开放式源代码产品,便于学习。5. 基于开放式源代码的特性,系统中不会存在后门,安全性好。由于Window 系统的图形开发功能强大,因此选择在Win2000professional上开发前 台软件。5.2 系统对软硬件配置的要求 服务器端建议用户的计算机使用以下配置(或更高): CPU:Intel 或兼容机硬盘:7200转/分,剩余空间100M内存:建议 512MB 或更多鼠标: 3D 光电鼠 键盘:标准104键Microsoft Windows NT Server 4.0 、Windows 2000 Server 、Microsoft Windows NT Server 企业版、Windows 2000 Advanced Server 及 Windows 2000 Data Center Server 或者更高软件版本。客户端推荐配置:客户端要求不高, IE5.01 以上或者兼容版本。5.3 预期成果本设计预期成果是完成互联网论坛监测的功能并能够实现通过身份验证,实现客户端访问服务器时,可以通过服务器上的监测系统,把客户端的信息捕获 到并实现过滤功能。提供本毕业设计开发的软件和毕业设计论文。5.4 软件模块的实现主控模块: 主进程功能通过主控模块完成,主控模块是系统的初始化进程。首先它负责解释命令行,它调用了 get op t函数,来进行命令行的解析。如果 命令行给出的参数不正确,会提示用户一个信息然后退出。如果命令行给出的参 数正确,将参数相应的数据放在一个全局的缓冲区内。参数内容即过滤规则供包 捕获模块使用。第二点建立socket,主控模块socket的处理主要是完成接收命令模块发送的 消息,根据数据包的类型标志位分别处理。第三处理用户命令。启动抓包:初始化抓包线程。停止抓包:关闭抓包线程。查看当前流量:打开系统中/pros/ne t/de v文件,从而获得网络接口的流 量数据,然后将数据后发送给前台软件进行显示。结束主程序:最后等待用户退出消息,结束该系统工作,完成应用退出时 的释放资源工作。包捕获模块: 包捕获模块是通过启动主线程来完成的。主线程启动后首先读取存放关键词 的文件,将需要捕获的关键词放在一个全局的缓冲区内。第二步建立socke t,主线程中的socke t主要是完成数据包的捕获和匹配后, 将信息按照定义的接口发送信息。第三步根据全局系统缓冲区中存放的命令参数,定义过滤规则,建立过滤器 指令链表头,该数据结构详细介绍在后面。过滤规则中包括数据链路层网络传输 类型、网络层IP地址范围以及传输层使用的端口号。第四步调用包捕获模块开始抓包。包捕获模块主要调用Libpcap完成用户层 次 的 数 据 包 截 获 工 作 。 Libpcap 库 所 提 供 的 主 要 功 能 函 数 有 pcap_open_live(),pcap_read(),pcap_compile(),pcap_setfilter(), pcap_close()。这5个接口函数的主要功能如下所述:1. pcap_ open_live(),用来获得一个数据截获描述符,该描述符用于查看在 网络上传输的数据包;2. pcap_read(),用于读取底层数据缓冲区中的数据包,并对捕获到的数据包用参数所设定的回调函数进行处理;3. pcap_compile(),用于生成过滤器指令链表;4. pcap_setfilter(),用于设定过滤器;5. pcap close(),关闭相关的文件井释放对应资源。打开数据包截获设备,定义t是指向数据包截获设备描述符结构pcap的全局 指针。该函数由查询当前系统可用的数据包截获设备,得到该设各描述符以及设 置过滤器规则组成。结构pcap是实现数据包截获机制的一个关键数据结构。Struct pcapint fd; 文件描述符,这里指数据包的描述符,即底层过滤器特殊文件描述符int snapshot; 快照,这里是所指定查看数据包的长度。int linktype; 底层数据链路层接口类型。int tzoff; 时区与格林尼治时区的偏移量。int offset; 对应于不同对齐方式的偏移量。struct pcap_sf ; 表示数据包转储文件的文件结构。struct pcap_md ; 表示数据包截获机制状态和相关设备状态的结构。int bufsize;数据包缓冲区大小。u -char *buffer;数据包缓冲区的首地址。u -char *bf;缓冲区指针。int cc;用于计数目的的整数。u_char *pkt;用于特定函数目的的地址指针。struct by program fcode; 为一指向过滤器程序代码的指针。 char errbuf PCAP_ERRBUF_SIZE;用于存放错误信息字符串的数组。过滤器程序用pcap_compile(), pcap_ setfilter()函数和bpf_ program数据结构来描述,该数据结构如下所示:Struct bpf_ programU_ int bf_ len; 这定这段指令程序的长度。Struct bpf_ insn *bf_ insns; 指向一个过滤器指令链表头的指针值。;程序的循环部分是读取打开的截获设备上的所有数据包,直到满足设置的最 大截获数目。如果失败返回,则显示出错信息。由于最大截获数目设置为-1,该 函数在无错误情况下,将进入永久循环过程中。解码模块:包捕获模块中,定义了从网络上抓取原始数据包后的处理函数。过程复杂, 因此划分出解码模块专门对捕获的原始数据包进行处理。BPF是工作在数据链路 层,按照以太网头结构取得数据包在该层中的信息。以太网头数据结构定义如下。 根据数据结构中以太网类型一项可以继续判断是IP传输。struct EtherHdrunsigned char ether_dst6: 目标网卡地址。unsigned char ether_src6; 源网卡地址。unsigned char ether_type6; 以太网类型。;去掉以太网头部信息可以得到IP层数据实体。IP层头部数据数据结构定 义如下。分析该数据结构,可以很容易取出该数据流的源IP地址、目的IP 地址、传输层协议类型。struct ipfunsigned int ip version:4;unsigned int ip_length:4;ipv4IP包头长度unsigned char ip tos;服务类型unsigned short ip_total_ lengthIP数据包的总长度unsigned short ip_flags;标志位unsigned char ip_ttl;生存期unsigned char ip_protocol;传输层协议类型unsigned short ip_checksum;IP头的校验和unsigned int ip_source;源IP地址unsigned int ip_dest;目的IP地址;当解码模块按照TCP/IP格式取得数据传输体中的实际数据时(数据实体),需 要按照一定的协议格式进行匹配处理。模式匹配模块模式匹配模块通过打开存取有害词库的文件提取并建立匹配字库。将匹配字 库与从解码模块提取的信息实体内容进行字符串比较,比较算法使用KMP算法。 模式匹配模块采用顺序匹配方式逐个匹配关键词,如果匹配成功退出该程序,如 果不成功继续匹配直到匹配完所有的关键词。匹配算法部分因为采用KMP算法, 所以编写生成NEXT数组函数和匹配函数组成。当匹配成功时调用处理模块完成报 警、记录日志拦截计算机功能。图形显示模块该模块完成前台软件的所有工作。主要两大部份,一部分提供命令接口供用 户使用,另一部分将数据存储,显示并进行报警。系统启动后,对网络进行初始 化,与后台软件建立联系。当用户选择命令发送时,可以有启动抓包、结束抓包、 传送流程三种选择。5.5 论坛监测软件的对象关系图以下是该系统从管理员发出命令到抓包,分析数据,过滤数据,以及最后的 发现有害数据报警的各个对象的关系图。如图 8 所示:管理员图 8 系统对象关系图5.6 论坛监测的关键代码 6结果测试,性能分析6.1 测试指标:1. 启动包捕获。2. 停止包捕获。3. 捕获到非法数据后有显示功能。4. 捕获到非法数据后有报警功能。5. 捕获到非法数据后有日志功能。6. 对黑名单用户的信息有显示、报瞥、日志功能7. 抓包和丢包率的测试。6.2 测试环境针对图所示监测计算机所处的位置,设计了两种测试环境。分别用来测试监 测计算机处于局域网络内部和局域网外部的监测效果。6.3 监测计算机处于局域网内部示意图如下图 9:图9 局域网内部监听拓扑图6.3.1 用户机和目标论坛配置 这里我们把监测计算机处于局域网内部的这种情况做实验,配置如下:用户机2网卡的IP地址设为192.168.1.10,网关地址设为192.168.1.1,DNS地址设为192.168.1.1,用ipconfig/all查看它的MAC地址为: 00.0A.EB.5D.96.AB。目标论坛网卡的IP地址设为192.168.1.11,网关地址设为192.168.1.1,DNS 地址设为192.168.1.1,用ipconfig/all查看它的MAC地址为: 01.00.5E.7F.FF.FA。6.3.2 网关的配置网关地址设为192.168.1.1,DNS地址设为192.168.1.16.3.3 测试方法与结果当用户机 2 给目标论坛发消息的时候,监测软件能够捕获到它的包,并以十六进制的形式显示出来。如图 10 所示:Packet No.:0000000117Time: 231349576ft msecLength: 175/175EthernetBest z01.QQ-EE-7F.FF.FASrc00.0A.EB.5D.96.fi=Type: Ox0800000008:0100EE7FFFFAQQ0AE咅5D96AB080045S9000018:00A100A10000011143CBA9FEDAE7EFFFc000020:FA9426976CS98DD84D2D53454152&.1wM-SEAR000030:4348202A20485454502F312E310D0A48CH * HTTP/1.1. .H000040:6F73743A3233392E3235352E3235352Eost:239.255.255.000050:3235303A31393030游0A53543A75726E250:1900.ST:urn000060:3A736368656D61732D75706E702D6F72:schemas-upnp-or000070:673A6465766963653A496E7465726E65g:deuice:Interne000080:74476174657761794465766963653A31tGateuayDeuice:1000090:0D0A4D616E3A22737364703A64697363.Man:ssdp:disc0000A0:6F766572220D0A4D583A330D0A0DOAouer.MX:3图 10 抓包信息的 16 进制6.4 监测计算机处于外部网络 如图 11所示是监测计算机处于局域网外部:6.4.1 用户机和目标论坛配置 这里我们把监测计算机处于外部网络的这种情况做实验,配置如下:用户机2网卡的IP地址设为192.168.1.10,网关地址设为192.168.1.1,DNS地址设为61.139.69.137,用ipconfig/all查看它的MAC地址00-0B-6A-62-DC-71。目标论坛网卡的IP地址设为172.9.14.11,网关地址设为172.9.14.1,并用 ipconfig/all查看它的MAC地址为:00-50-8D-64-01-7C。6.4.2 网关的配置添加网络路由功能,网卡IP地址设为172.9.14.1,网卡2的IP地址设为210.9.14.1,DNS地址61.139.69.137,设为目标论坛的网关的MAC地址: 00-73-05-07-29-97。6.4.3 测试方法与结果当用户机 2 给目标论坛发消息的时候,监测软件能够捕获到它的包,并以十 六进制的形式显示出来。因为这是外部网络,监听机放在目标论坛的网关路由器上,所以当用户机2 给目标论坛发信息的时候,它的 MAC 地址到达它自己的路由器后,就发生了转变。 所以抓到包的 MAC 地址是目标论坛的网关路由器地址做为源地址,目标论坛 MAC 地址做为目的地址。Packet No1 :T ime:29?22?2651msecEthernetDest:.5R.8D.64.01.?CSrc丽.?3.05.即.29.9?508D64?C葯073:05即299?鯛45関38丽朗丽FC51:?13D9D4DA1C9A8(如图u示63F4FF胸:瞒逻百45阴话越1C即8A示:丽01?9闕C0A8:商63D5FBA145H8関1024B2E5D5图 12 抓包信息的 16 进制结论随着互联网论坛使用的日益普及,由它引起的一系列问题也受到了人们的重 视。因此论坛监测系统的产生对信息进行监测和过滤变得非常重要。文章在首先 介绍了网络基础知识,然后过渡到网络监测和过滤技术,之后比较有深度对该软 件的产生做了详细的需求分析,在深入剖析该软件网络模块。通过用C编程, libpcap和BPF技术实现了在两种网络环境下实施监测,对传输有害信息的消息内 容匹配并报警不显示其内容。在论文的最后,根据系统的要求,对实现的功能进 行了测试。但是系统还有如下工作需要进一步研究:1. 对于目前国内流行的该软件,由于它是以密文方式传输的,抓包内容是 乱码。因此下一步可以针对消息的解密工作进行调研,分析其加密算法和有关协 议来破译传输的密文消息。2. 对于消息体,本文给出了显示记录等功能并提供了消息的广播输出功能, 下一步可以将该信息存放在数据库中,便于更好的统计和分析这些内容。3. 该系统抓包信息以十六进制形式显示。但是还不能把十六进制反编码成 信息本身。4. 对于关键字的过滤,可以拟定一两个特殊的关键字,把它们的十六进制 转化出来,然后在抓包信息里增加一个搜索功能,凡是和这个特殊的十六进制匹 配的包自动删除。参考文献1 谭思亮监测与隐藏M.北京:人民邮电出版社,2002。2 W.Richard Steven.TCP / IP详解(第一卷).第一版M.北京:机械工业出版社,1999。4 徐千洋.Linux函数库参考手册M.北京:中国青年出版社,2002。5 Richard Petersen. Linux参考大全M.北京:北京电子出版社,1999。6 陈向阳,方汉.Linux实用大全M.北京:科学出版社,1999。7 王景中,徐小青.计算机通信信息安全技术M.北京:清华大学出版社,2006。8 林均海,田沧海.C语言高级使用编程技巧M.北京:电子工业出版社,2002。10何弘,毛勇锋反黑客工具箱M.西安:西安出版社,2000。文档来源:591 论文网
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 毕设全套


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!