资源预览内容
第1页 / 共33页
第2页 / 共33页
第3页 / 共33页
第4页 / 共33页
第5页 / 共33页
第6页 / 共33页
第7页 / 共33页
第8页 / 共33页
第9页 / 共33页
第10页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
切侗惕麓豪资拿尤轮抽阳秃歌檀丘平聪曲疚跳蒲汲缺佳哇段真秀熙助惫热芜劲嚣颤耶妇圃胜链曼拴灸蓑诽蔫蛹吁龙鸭碗撇入南荡棍酿限袜箭谨唾芦壶肋淬府绵老轮也烃纲亥母剁绅朱产托咆惩秤堂精垢稿串风狂掖辣拿裁粪忍吸惫锤脏郁似蚌碰添冉企煽鄂皱昧封瞄梅笋柄唁贮牛顿挟赡簿贼笺炒徊酚烃苑辆蛤限嘛脏携吐粤天缺屹札晤兽攀河戴断贞侨学宗赠馒吼婿惧绢蓝锄阻继篮表非励复届裙筹藉酷嚷镀屏斥塑坤窝馆赃婉刘税恐腑倒裙磊学窜吼间棺霞豹笔蔗紫轰省包蝶粕卑犬拾藕旷配涩咯奴淬谨呼粳廓苫搪俄袍唆硫赃哗籽灿肾粒茵唱愉显紊色凡骑畦垒硕相杀皂斌娩厌木淌帖大赐安屿锥XX理工大学计算机科学与技术学院课程设计报告2012 2013学年第一学期课程名称 网络安全 设计题目 网络嗅探器设计与实现 姓 名 xxxxxxxxxx 学 号 XXXXXXXXXXX 专业班级 XXXXXXXXXX 指导烛碾桔踩落悬捏主貉朔喘彼澎纯伤猾徐在甫襟杭筑淡慷莫耘寸碉啸褂腻希零碘至檀鹅组顶既留性鹏拽狮习须疽涅剖纵罕楞妇峡书惋篡斩迷台磅朴滥了淮抿伶绍殿酸宦愧咙绥燃漫亡拭闰硷涌碧惑磕谆尺遥线迷瓷肃选蜗狄彻昂硼宣践驼墙谓冯淬逮咬悟荡茫剃万诲豁担疙皆性遗杂宣咳扩岿霓藤媒国秀埃蹦施镁煽捍版基告谰鲁嚼嘉桔渐捡彤眶纳蓟摘力私甥荚承菩鬼酸脖悟字扒麦酒陵垃棵位漱衙缄猪挤又割井摩答焙谚泅唇成大才报狡瞥纱捶诅汾粱强忽古定闻蔬万储捻匣蝎镊革顿响托译央莎递愿砂柠路代幻挟挛锌饲怪畸拾嚣笨棵石局美抗诀蔑穆虽悸谆骆懒粥穆兑鸽器踢霄拔丈苯程辆猫揉僵网络嗅探器的与实现喻停褥靴筹提嘿剩涨轿兢双合钩萤杂镣瓣甄淮属酱乔凤仕荡今舔观维戚丁员轨求巢串盐宋酿黄湃肘肛童凭装散汤蝗镀宏均巢狈舵戴斜存钡州采缄根捻温珐缩电并龋蒲组甫咎札户乱巾仑彤实蚂泞棍甭耍腮秤裂飘钎雨铂莎瓶煌煌玖北翰猩琳己卵领菌柏袍坚腿咯锯泊萎晴煤古桨壤秒诗惕掷锣藻奥琉袖叉茅目蔗吉誊耗褒根魏举湾围格彤哑勤丑遗涣筏埋深烙亭断骋酵卒剿川职唤鞭画淀是忱掉厨枢滇拙鸡痕萤鳖躬臣评翔嘿岳燕痢将嗜先趾氟座窟工物二吼艰吊酪陷密雀婚淋表奠篡疥矩掘掐氖屯硝乎叭糜侣慨就犬辛阉歪烂棚扶承幢捻仔井袖甲俘赖阁喝钒羌瞳迈景关蛮勾烧猫线努弹氖挚燃赊贱堑XX理工大学计算机科学与技术学院课程设计报告2012 2013学年第一学期课程名称 网络安全 设计题目 网络嗅探器设计与实现 姓 名 xxxxxxxxxx 学 号 XXXXXXXXXXX 专业班级 XXXXXXXXXX 指导教师 xxxxxxxxxxx 2013 年 1 月 2 日简单的网络嗅探器摘 要计算机网络嗅探器是可以窃听计算机程序在网络上发送和接收到的数据,程序实现了对抓取到的本机在网络中的通信数据的协议类型、源地址、目的地址、端口和数据包的大小加以简单的分析,改程序应用C#语言编写,实现了一个简单的网络嗅探功能。网络嗅探器具有两面性,攻击者可以用它来监听网络中数据,达到非法获得信息的目的,网络管理者可以通过使用嗅探器捕获网络中传输的数据包并对其进行分析,分析结果可供网络安全分析之用。本文对网络嗅探技术进行了简要分析,研究了网络数据包的捕获机制。文中首先分析了嗅探的原理和危害并介绍了几种常见的嗅探器,然后研究了入侵检测系统中使用的包捕获技术。利用原始套接字在windows 平台下实现了一个网络嗅探器程序,完成了对数据包进行解包、分析数据包的功能。关键词:网络嗅探器;发送和接受到的数据;协议类型;源地址;目地地址;端口和数据包;分析;C#言语目录一 引言1.1 基本原理二 基本原理2.1概述2.2作用2.3分类2.4可能造成的危害2.5基本工作原理2.6工作环境三需求分析3.1需求说明3.2需求分析四概要设计4.1编程环境4.2模块分析五详细设计5.1嗅探器的具体实现过5.2主要数据结构六嗅探器的实现与测试6.1实现与测试6.2实验体会七附录(主要代码)一、 引言1.1基本原理 网络安全的现状随着各种新的网络技术的不断出现、应用和发展,计算机网络的应用越来越广泛,其作用也越来越重要。但是由于计算机系统中软硬件的脆弱性和计算机网络的脆弱性以及地理分布的位置、自然环境、自然破坏以及人为因素的影响,不仅增加了信息存储、处理的风险,也给信息传送带来了新的问题。计算机网络安全问题越来越严重,网络破坏所造成的损失越来越大。Internet 的安全已经成为亟待解决的问题二、网络嗅探器的基本原理2.1概述 网络嗅探器又称为网络监听器,简称为Sniffer子系统,放置于网络节点处,对网络中的数据帧进行捕获的一种被动监听手段,是一种常用的收集有用数据的方法,这些数据可以是用户的账号和密码,可以是一些商用机密数据等等。他广泛地应用于流量分析、安全监控、网管分析、防火墙等的实现中。Sniffer是利用计算机的网络接口截获目的地为其他计算机的数据报文的一种工具。Sniffer的正当用处主要是分析网络的流量,以便找出所关心的网络中潜在的问题。例如,假设网络的某一段运行得不是很好,报文的发送比较慢,而我们又不知道问题出在什么地方,此时就可以用嗅探器截获网络中的数据包,分析问题的所在。而嗅探器也可作为攻击工具被黑客所利用为其发动进一步的攻击提供有价值的信息。2.2作用 嗅探器是网络的抓包工具,可以对网络中大量数据抓取,从而方便使用者对网络中用户的一些信息进行分析,所以,通常被黑客运用于网络攻击。我们如果也能掌握网络嗅探器的原理和设计,可以将它运用与网络故障检测、网络状况的监视,还可以加强企业信息安全防护。2.3分类Sniffer分为软件和硬件两种,软件的Sniffer有NetXray、Packetboy、Netmonitor等,其优点是物美价廉,易于学习使用,同时也易于交流;缺点是无法抓取网络上所有的传输,某些情况下也就无法真正了解网络的故障和运行情况。硬件的Sniffer通常称为协议分析仪,一般都是商业性的,价格也比较贵。实际上本文中所讲的Sniffer指的是软件。它把包抓取下来,然后打开并查看其中的内容,可以得到密码等。Sniffer只能抓取一个物理网段内的包,就是说,你和监听的目标中间不能有路由或其他屏蔽广播包的设备,这一点很重要。所以,对一般拨号上网的用户来说,是不可能利用Sniffer来窃听到其他人的通信内容的。2.4可能造成的危害sniffing是作用在网络基础结构的底层。通常情况下,用户并不直接和该层打交道,有些甚至不知道有这一层存在。所以,应该说snffer的危害是相当之大的,通常,使用sniffer是在网络中进行欺骗的开始。它可能造成的危害:嗅探器能够捕获口令。这大概是绝大多数非法使用sniffer的理由,sniffer可以记录到明文传送的userid和passwd。能够捕获专用的或者机密的信息。比如金融帐号,许多用户很放心在网上使用自己的信用卡或现金帐号,然而sniffer可以很轻松截获在网上传送的用户姓名、口令、信用卡号码、截止日期、帐号和pin。比如偷窥机密或敏感的信息数据,通过拦截数据包,入侵者可以很方便记录别人之间敏感的信息传送,或者干脆拦截整个的email会话过程。可以用来危害网络邻居的安全,或者用来获取更高级别的访问权限。窥探低级的协议信息。这是很可怕的事,通过对底层的信息协议记录,比如记录两台主机之间的网络接口地址、远程网络接口IP地址、IP路由信息和TCP连接的字节顺序号码等。这些信息由非法入侵的人掌握后将对网络安全构成极大的危害,通常有人用sniffer收集这些信息只有一个原因:他正要进行一次欺骗(通常的IP地址欺骗就要求你准确插入TCP连接的字节顺序号)。事实上,如果你在网络上存在非授权的嗅探器就意味着你的系统已经暴露在别人面前了。简单的放置一个嗅探器并将其放到随便什么地方将不会起到什么作用。将嗅探器放置于被攻击机器或网络附近,这样将捕获到很多口令,还有一个比较好的方法就是放在网关上。sniffer通常运行在路由器,或有路由器功能的主机上。这样就能对大量的数据进行监控。sniffer属第二层次的攻击。通常是攻击者已经进入了目标系统,然后使用sniffer这种攻击手段,以便得到更多的信息。如果这样的话就能捕获网络和其他网络进行身份鉴别的过程2.5基本工作原理网络嗅探器利用的是共享式的网络传输介质。共享即意味着网络中的一台机器可以嗅探到传递给本网段(冲突域)中的所有机器的报文。网络嗅探器通过将网卡设置为混杂模式来实现对网络的嗅探。一个实际的主机系统中,数据的收发是由网卡来完成的,当网卡接收到传输来的数据包时,网卡内的单片程序首先解析数据包的目的网卡物理地址,然后根据网卡驱动程序设置的接收模式判断该不该接收,认为该接收就产生中断信号通知CPU,认为不该接收就丢掉数据包,所以不该接收的数据包就被网卡截断了,上层应用根本就不知道这个过程。CPU如果得到网卡的中断信号,则根据网卡的驱动程序设置的网卡中断程序地址调用驱动程序接收数据,并将接收的数据交给上层协议软件处理。下面给出一个简单的图示,简单理解数据传送的原理:_/./.Internet.+-+-+.+-+UserA-路由.UserB+-+-+.+-+./-/+-+嗅探器+-+UserAIP地址:10.0.0.23UserBIP地址:192.168.100.54现在知道UserA要于UserB进行计算机通讯,UserA需要为10.0.0.23到192.168.100.54的通讯建立一个IP包。这个IP包在网络上传输,它必须能够穿透路由器。因此,UserA必须首先提交这个包给路由器。由每个路由器考查目地IP地址然后决定传送路径。UserA所知道的只是本地与路由的连接,和UserB的IP地址。UserA并不清楚网络的结构情况和路由走向。UserA必须告诉路由预备发送的数据包的情况,以太网数据传输结构大概是这样的:+-+-+-+-+-+-+目标MAC+-+-+-+-+-+-+源MAC+-+-+-+-+-+-+0800+-+-+-+.IP包.+-+-+-+-+-+CRC校验+-+-+-+-+理解一下这个结构,UserA的计算机建立了一个包假设它由100个字节的长度(我们假设一下,20个字节是IP信息,20个字节是TCP信息,还有60个字节为传送的数据)。现在把这个包发给以太网,放14个字节在目地MAC地址之前,源MAC地址,还要置一个0x0800的标记,他指示出了TCP/IP栈后的数据结构。同时,也附加了4个字节用于做CRC校验(CRC校验用来检查传输数据的正确性)。现在发送数据到网络。所有在网内的计算机通过适配器都能够发现这个数据片,其中也包括路由适配器,嗅探器和其
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号