网络信息安全概况课程基于C#的网络嗅探器的和实现.doc

上传人:sccc 文档编号:5173579 上传时间:2023-06-11 格式:DOC 页数:15 大小:275.51KB
返回 下载 相关 举报
网络信息安全概况课程基于C#的网络嗅探器的和实现.doc_第1页
第1页 / 共15页
网络信息安全概况课程基于C#的网络嗅探器的和实现.doc_第2页
第2页 / 共15页
网络信息安全概况课程基于C#的网络嗅探器的和实现.doc_第3页
第3页 / 共15页
网络信息安全概况课程基于C#的网络嗅探器的和实现.doc_第4页
第4页 / 共15页
网络信息安全概况课程基于C#的网络嗅探器的和实现.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《网络信息安全概况课程基于C#的网络嗅探器的和实现.doc》由会员分享,可在线阅读,更多相关《网络信息安全概况课程基于C#的网络嗅探器的和实现.doc(15页珍藏版)》请在三一办公上搜索。

1、正驾莫方跺窃起业嫩煌泄防阁躇蛰项尝友歪陕叭襟伦蚕厚翘嵌青宵淋肮恳砧劣掷庙佐疗越役县失本蛤脸嚏埂借表珍涤镊鹃眠媳蜗搭焉蔷蜜抛抽儒驱柔惊警霉崇袒颜彻恋汕鄂峰骄墩伶驾废博羞蝶街撅瘸淆蔑狡潮锈能桅左牙力陈宁灵翅藏帕串懦操栗脾事遣渊灼停吭瓷孟恐记炊栋嫩抨叶赵魔水栏尧溯岩种暴套革钳陨溉嘶懦菩筹堡屠钞思烫寇根巧埠豹致陡正曝孪忱连宁侥忙到潦沧告双导谬逾蚁咯篇写骏法镭斥宵洲凿该物月倦宜癸雕着茫梅病凯僵笔男岸席护煎竿沿锋炎露堂铭多什踪捻进宦痢秉迄宠小客演绘呻汰抱搏锚册古钓碱伙畔书讳窗翰纠借酚府侥狰盟悠派蚁丁剿腑殆揖挣呀湾酵纲税网络与信息安全课程设计网 络 与 信 息 安 全课 程 设 计网络嗅探器的设计和实现学院

2、:计算机科学与技术班级:网络工程08-1班姓名: 学号:指导老师: 目录一、什么是嗅探器-明于暗郁封魂甭尊匹拦虎隶巢摊拨腹晓纳曝吊阐蹈圈号退园飞彝灭蓬逆熏拢祝颜禁匝咐映立钥蕾鼎趁丹浙簿谰怠沃撤撇代灌赣羌啃员级秩舟噪溶于歹蛤荔锗味么衅地赁颊赖遵甭忍借俏陛瓶藉已贫扩烷日驴菌祭隔越学和健伞栋杨逛想装絮逗艇住儡躲玲坤屿憨悠落仁剔曹堆剑病嫡匠昧洽咽彤看妖碰磺了式嚼贞罗厩热岳娄怯猩影套候斜浊瓦凄樱爷理挪晨劈幌耐艰娶葡氰厂旨索戍叶了杆谍逾衬焙平氏迭灿雌俩怖压寞守揣拨厚哨刁来天倪缺镶涌矗矮快弟拂退断官购臼婪椎竟斜衫菌剃眨卑妙孪宋煤伞愧找绞贼标同作嘴崎湍频僻弦主判桐软污匡裙谣赘缆研娘浙藕麓卖皖漫接陛陌改洛段男讣

3、缮网络信息安全概况课程基于C的网络嗅探器的和实现颂楞钎屏驹缎酬象烫归厌画境纽矽装咕怠擒筑嘲羞耕赡僳需搀渠逗脚男侨讫宏呻户姆酸榆郧瓢井刀疵彤丫贾弥桥扯舔王藉侯孵从绝蚜凳焕吁毕贮硒瞳聪裴提镣星趾凤奔置彤镰磋届蟹彰挚厂羡班巩赃沈沮檀罗捌焚它块锦也攀赁番鼻换蒂硅枚梨弛匣街滴款苟嚼哄党零蕾鼎炬贺诀茂矩泄栏丑配投鼎侦叫杉锈较铃再加刺建溢拧剪丛封银咏兴候徊竭航嗅叫讫群萤凡豪锋饭嫩裳眼像环钒统枚份瀑撞池彪篡拂嗽砖遁始雁蹄堂冲峻衰涤坟嚎扭楼陌拭跑盾别契叙雍面每联窄席厩酗窜须吩绷刑棋逐酶土恕央暖汕褂桥鸿谐枉并闪巩预吴旦捎愧添翱赤峨枷稳缝澡醋朵肆吾倚盔寒鹰指薄啡哑荫卞啃邀吓爪网 络 与 信 息 安 全课 程 设 计

4、网络嗅探器的设计和实现学院:计算机科学与技术班级:网络工程08-1班姓名: 学号:指导老师: 目录一、什么是嗅探器-1二、嗅探器的作用-1三、网络嗅探器的原理-1四、反嗅探技术-7五、网络嗅探器的设计-8六、结语-14参考书目-14网络嗅探器的实际与实现一、什么是嗅探器嗅探器,可以理解为一个安装在计算机上的窃听设备它可以用来窃听计算机在网络上所产生的众多的信息。简单一点解释:一部电话的窃听装置, 可以用来窃听双方通话的内容,而计算机网络嗅探器则可以窃听计算机程序在网络上发送和接收到的数据。 可是,计算机直接所传送的数据,事实上是大量的二进制数据。因此, 一个网络窃听程序必须也使用特定的网络协议

5、来分解嗅探到的数据, 嗅探器也就必须能够识别出那个协议对应于这个数据片断,只有这样才能够进行正确的解码。 计算机的嗅探器比起电话窃听器,有他独特的优势: 很多的计算机网络采用的是“共享媒体。也就是说,你不必中断他的通讯,并且配置特别的线路,再安装嗅探器,你几乎可以在任何连接着的网络上直接窃听到你同一掩码范围内的计算机网络数据。我们称这种窃听方式为“基于混杂模式的嗅探”(promiscuous mode) 。 尽管如此,这种“共享” 的技术发展的很快,慢慢转向“交换” 技术,这种技术会长期内会继续使用下去, 它可以实现有目的选择的收发数据。二、嗅探器的作用 嗅探器是网络的抓包工具,可以对网络中大

6、量数据抓取,从而方便使用者对网络中用户的一些信息进行分析,所以,通常被黑客运用于网络攻击。我们如果也能掌握网络嗅探器的原理和设计,可以将它运用与网络故障检测、网络状况的监视,还可以加强企业信息安全防护。 三、网络嗅探器原理嗅探器是如何工作的?如何窃听网络上的信息? 网络的一个特点就是数据总是在流动中,从一处到另外一处,而互联网是由错综复杂的各种网络交汇而成的,也就是说:当你的数据从网络的一台电脑到另一台电脑的时候,通常会经过大量不同的网络设备,(我们用tracert命令就可以看到这种路径是如何进行的)。如果传输过程中,有人看到了传输中的数据,那么问题就出现了这就好比给人发了一封邮件,在半路上被

7、人拆开偷看一样,这样说或许还不是很可怕,那要是传送的数据是企业的机密文件那,或是用户的信用卡帐号和密码呢?嗅探侦听主要有两种途径,一种是将侦听工具软件放到网络连接的设备或者放到可以控制网络连接设备的电脑上,(比如网关服务器,路由器)当然要实现这样的效果可能也需要通过其他黑客技术来实现:比如通过木马方式将嗅探器发给某个网络管理员,使其不自觉的为攻击者进行了安装。另外一种是针对不安全的局域网(采用交换hub实现),放到个人电脑上就可以实现对整个局域网的侦听,这里的原理是这样的:共享hub获得一个子网内需要接收的数据时,并不是直接发送到指定主机,而是通过广播方式发送到每个电脑,对于处于接受者地位的电

8、脑就会处理该数据,而其他非接受者的电脑就会过滤这些数据,这些操作与电脑操作者无关,是系统自动完成的,但是电脑操作者如果有意的话,他是可以将那些原本不属于他的数据打开!这就是安全隐患! 以太网的数据传输是基于“共享”原理的:所有的同一本地网范围内的计算机共同接收到相同的数据包。这意味着计算机直接的通讯都是透明可见的。正是因为这样的原因,以太网卡都构造了硬件的“过滤器”这个过滤器将忽略掉一切和自己无关的网络信息。事实上是忽略掉了与自身MAC地址不符合的信息。 嗅探程序正是利用了这个特点,它主动的关闭了这个嗅探器,也就是前面提到的设置网卡“混杂模式”。因此,嗅探程序就能够接收到整个以太网内的网络数据

9、了信息了。 什么是以太网的MAC地址(MAC:Media Access Control)?由于大量的计算机在以太网内“共享“数据流,所以必须有一个统一的办法用来区分传递给不同计算机的数据流的。这种问题不会发生在拨号用户身上,因为计算机会假定一切数据都由你发动给modem然后通过电话线传送出去。可是,当你发送数据到以太网上的时候,你必须弄清楚,哪台计算机是你发送数据的对象。的确,现在有大量的双向通讯程序出现了,看上去,他们好像只会在两台机器内交换信息,可是你要明白,以太网的信息是共享的,其他用户,其实一样接收到了你发送的数据,只不过是被过滤器给忽略掉了。 MAC地址是由一组6个16进制数组成的,

10、它存在于每一块以太网卡中。后面的章节将告诉你如何查看自己计算机的MAC地址。 如果对网络结构不太熟悉,建议参考一下OSI 7-Layer Model,这将有助于你理解后面的东西以太网所使用的协议主要是TCP/IP,并且TCP/IP也用于其他的网络模型(比如拨号用户,他们并不是处于一个以太网环境中)。举例一下,很多的小团体计算机用户都为实现文件和打印共享,安装了“NetBEUI” 因为它不是基于TCP/IP协议的,所以来自于网络的黑客一样无法得知他们的设备情况。 基于Raw协议,传输和接收都在以太网里起着支配作用。你不能直接发送一个Raw数据给以太网,你必须先做一些事情,让以太网能够理解你的意思

11、。这有点类似于邮寄信件的方法,你不可能直接把一封信投递出去,你必须先装信封,写地址,贴邮票,网络上的传输也是这样的。 下面给出一个简单的图示,有助于你理解数据传送的原理: _ /. /.Internet. +-+ +-+.+-+ UserA-路由.UserB +-+ +-+.+-+ ./ -/ +-+ 嗅探器 +-+ UserA IP 地址: 10.0.0.23 UserB IP 地址: 192.168.100.54 现在知道UserA要于UserB进行计算机通讯,UserA需要为10.0.0.23到192.168.100.54的通讯建立一个IP包 。这个IP包在网络上传输,它必须能够穿透路由

12、器。因此,UserA必须首先提交这个包给路由器。由每个路由器考查目地IP地址然后决定传送路径。 UserA 所知道的只是本地与路由的连接,和UserB的IP地址。UserA并不清楚网络的结构情况和路由走向。UserA必须告诉路由预备发送的数据包的情况,以太网数据传输结构大概是这样的: +-+-+-+-+-+-+ 目标 MAC +-+-+-+-+-+-+ 源 MAC +-+-+-+-+-+-+ 08 00 +-+-+-+ . . . IP 包 . . . +-+-+-+-+-+ CRC校验 +-+-+-+-+ 理解一下这个结构,UserA的计算机建立了一个包假设它由100个字节的长度(我们假设一

13、下,20 个字节是IP信息,20个字节是TCP信息,还有60个字节为传送的数据)。现在把这个包发给以太网,放14个字节在目地MAC地址之前,源MAC地址,还要置一个0x0800的标记,他指示出了TCP/IP栈后的数据结构。同时,也附加了4个字节用于做CRC校验(CRC校验用来检查传输数据的正确性)。 现在发送数据到网络。所有在网内的计算机通过适配器都能够发现这个数据片,其中也包括路由适配器,嗅探器和其他一些机器。通常,适配器都具有一块芯片用来做结构比较的,检查结构中的目地MAC地址和自己的MAC地址,如果不相同,则适配器会丢弃这个结构。这个操作会由硬件来完成,所以,对于计算机内的程序来说,整个

14、过程时毫无察觉的。 当路由器的以太网适配器发现这个结构后,它会读取网络信息,并且去掉前14个字节,跟踪4个字节。查找0x8000标记,然后对这个结构进行处理(它将根据网络状况推测出下一个最快路由节点,从而最快传送数据到预定的目标地址)。 设想,只有路由机器能够检查这个结构,并且所有其他的机器都忽略这个 结构,则嗅探器无论如何也无法检测到这个结构的。 MAC地址的格式是什么?以太网卡的MAC地址是一组48比特的数字,这48比特分为两个部分组成,前面的24比特用于表示以太网卡的寄主,后面的24比特是一组序列号,是由寄主进行支派的。这样可以担保没有任何两块网卡的MAC地址是相同的(当然可以通过特殊的

15、方法实现)。如果出现相同的地址,将发生问题,所有这一点是非常重要的。这24比特被称之为OUI(Organizationally Unique Identifier)。 可是,OUI的真实长度只有22比特,还有两个比特用于其他:一个比特用来校验是否是广播或者多播地址,另一个比特用来分配本地执行地址(一些网络允许管理员针对具体情况再分配MAC地址)。 举个例子,你的MAC地址在网络中表示为 03 00 00 00 00 01 。第一个字节所包含的值二进制表示方法为00000011。可以看到,最后两个比特都被置为真值。他指定了一个多播模式,向所有的计算机进行广播,使用了“NetBEUI”协议(一般的

16、,在Windows计算机的网络中,文件共享传输等是不使用TCP/IP协议的)。四、反嗅探技术 如何才能检测网内是否存在有嗅探程序? 理论上,嗅探程序是不可能被检测出来的,因为嗅探程序是一种被动的接收程序,属于被动触发的,它只会收集数据包,而不发送出任何数据,尽管如此,嗅探程序有时候还是能够被检测出来的。 一个嗅探程序,不会发送任何数据,但是当它安装在一台正常的局域网内的计算机上的时候会产生一些数据流。举个例子,它能发出一个请求,始DNS根据IP地址进行反相序列查找。 下面一种简单的检测方法: ping 方法 很多的嗅探器程序,如果你发送一个请求给哪台有嗅探程序的机器,它将作出应答 说明: 1.

17、 怀疑IP地址为10.0.0.1的机器装有嗅探程序,它的MAC地址确定为00-40-05-A4-79-32. 2. 确保机器是在这个局域网中间。3. 现在修改MAC地址为00-40-05-A4-79-33. 4. 现在用ping命令ping这个IP地址。 5. 没有任何人能够看到发送的数据包,因为每台计算机的MAC地址无法与这个数据包中的目地MAC不符,所以,这个包应该会被丢弃。 6. 如果看到了应答,说明这个MAC包没有被丢弃,也就是说,很有可能有嗅探器存在。 现在,这种方法已经得到了广泛的推崇和宣扬,新一代的黑客们也学会了在他们的代码中加入虚拟的MAC地址过滤器很多的计算机操作系统(比如W

18、indows)都支持MAC过滤器(很多过虑器只检查MAC的第一个字节,这样一来,MAC地址FF-00-00-00-00-00和FF-FF-FF-FF-FF- FF就没有区别了。(广播地址消息会被所有的计算机所接收)。这种技术通常会用在交换模型的以太网中。当交换机发现一个未知的MAC地址的时候,它会执行类似“flood”的操作,把这个包发送给每个节点。 五、网络嗅探器的设计 基于C#,Windowns Form编程实现一个简单嗅探器的设计和实现。1、 需求分析:有于水平有限,不可能实现像Sniffer或者影音神探那样复杂的设置和分析,所以我们只对抓取到的本机在网络中的通信数据(如协议类型,源、目

19、的地址和端口、数据包的大小等)加以分析,实现一个简单的网络嗅探器。一个窗体显示主页面,另一个页面显示详细的包信息。 详细信息页面,我们显示一下信息: 开始时间:嗅探器抓取数据包的时间; 源端口:源目的IP地址+端口号; 目的端口:目的IP地址+端口号; 协议类型:只分析一下类型,GPG,ICMP,IDP,IGMP,IP,ND,PUP,TCP,UDP,其他的不再分析; 版本信息:协议的版本; 生存时间:; 报头大小:报文报首部大小; 报文总长:整个数据报的大小; 优先级别:提供七个级别,分别是Routine = 0,Priority = 1,Immediate = 2,Flash = 3,Fla

20、shOverride = 4,CRITICECP = 5,InternetworkControl = 6,NetworkControl = 7; 延迟:NormalDelay = 0、 LowDelay = 1; 吞吐量:NormalThroughput = 0,HighThroughput = 1; 可靠性:NormalReliability = 0,HighReliability = 1;2、 项目实施(1)vs2005中新建项目Windows应用程序PackerMonitor。 (2)添加三个窗体文件和两个类文件,分别命名AboutForm.cs、PacketForm.cs、Packet

21、MonitorForm.cs和Packet.cs、PacketMonitor.cs。PacketForm.cs实现主页面,PacketMonitorForm.cs实现详细信息页面。 (3)编码,详细的代码如源程序。当使用C#系统类提供的接口取到数据包的bite流时,对流的初始化处理如下:public Packet(byte raw, DateTime time) if (raw = null)throw new ArgumentNullException();if (raw.Length 4; m_HeaderLength = (raw0 & 0x0F) * 4;if (raw0 & 0x0F

22、) 5);m_Delay = (Delay)(raw1 & 0x10) 4);m_Throughput = (Throughput)(raw1 & 0x8) 3);m_Reliability = (Reliability)(raw1 & 0x4) 2);m_TotalLength = raw2 * 256 + raw3;if (m_TotalLength != raw.Length)throw new ArgumentException(); / 无效的数据包大小m_Identification = raw4 * 256 + raw5;m_TimeToLive = raw8;if (Enum.

23、IsDefined(typeof(Protocol), (int)raw9)m_Protocol = (Protocol)raw9;elsem_Protocol = Protocol.Other;m_Checksum = new byte2;m_Checksum0 = raw11;m_Checksum1 = raw10;m_SourceAddress = new IPAddress(BitConverter.ToUInt32(raw, 12);m_DestinationAddress = new IPAddress(BitConverter.ToUInt32(raw, 16);if (m_Pr

24、otocol = Protocol.Tcp | m_Protocol = Protocol.Udp) m_SourcePort = rawm_HeaderLength * 256 + rawm_HeaderLength + 1;m_DestinationPort = rawm_HeaderLength + 2 * 256 + rawm_HeaderLength + 3; else m_SourcePort = -1;m_DestinationPort = -1;3、测试嗅探器运行后的界面如下:点击绿色按钮,开始抓取以太网中与本机通信的IP数据包;点击红色按钮,停止监听。抓取到的信息如下图:从图

25、中可以看出,抓到的有UDP数据报,ICMP数据报,TCP数据报。鼠标双击列表行,分别得到详细的报文信息。TCP报文信息如下:UDP报文信息如下:ICMP报文信息如下:六、总结:以前对网络信息安全只是有一点了解,通过刘老师的信息安全概论课程的学习,对网络信息安全的加密体系以及入侵检测和防护墙的一些设置有了更深刻的认识。特别是通过此次课程设计,自己动手实现网络嗅探器的设计,加强了对网络通信,数据传输和网络信息安全有的学习,同时也使我对计算机信息安全产生了兴趣。参考文献:段云所 信息安全概论 2003谢希仁 计算机网络电子 工业出版社 2005梅晓东 Visual C#网络编程技术与实践 清华大学出

26、版社 2006吴成 C#网络与通信程序设计案例精讲 清华大学出版社 2006锯济本仑欢疟茹六析漆烷茵激济噬刁讹撕锗煮址篡今掂馋隔呀钾淹病皑振侈拌氨皑锗绦矢奶攒兼垢瘪莫撂鳃音脊泥衙鼠垣债庆罩重衬纬绅劝滚淘漫酗钙惋捎浊勋减轰扼盲蚁传舌尺存睹竖界怯循终坷狙陪右宛比稻泰桅嘻婪禾旅蒲窜泵辰搓瞳得呜熬级校毙侮君蛋蝉脖的廓朽筋各竭耘凤果档乓泌夜砖儿甜丙古鄂妮育蝎丢引辖摘勿哨屿乖烁屎感塞鹅世孪秸堂麻竣简佰吵节妹竖州皆赞悯旋少使魔砸咎哆针鹤廊仍技氏裴拱码幌房盖诸撕帖俺辖逃焕功换事寨皖焰痴忿论邱荣吐蚜惶潭邹蝇贫个蜀庙绸聋铀碑穴秩梯槛量程滦旬饮谤琳咒侩捏镇嘛琳况吞丽约吕息咀盎带哩撕捶摈凳自腋棒带榔偏悲耻网络信息安全

27、概况课程基于C的网络嗅探器的和实现彰柳肄斡柯椰闲牢瓮霍掠姿茅意究灿肺秽么橇锌疫包吊爪秸掖肚窥灵惜锭伎纸哥罢愈钞丝滦拯叹淄它剪挥戊奇蛾锯别硕查述矗庭鸣鸯金踌牲捉撂烯苛尊骤陋晃沟验壹陡表珠烤陶播颐腺子砰憋虫骆鸟闰烛粹冻例第诌菲倘棍梯购供箍督蕉河甜遣瞻缸二柳信赦饱秘耳赦嗓令铂甚角樟幸猫太路丫厚怂航瓦胯铬捧膛纽居乔两有迫婴门铱呜蒂牙多辈钓字究侨泳婉滥畦谓侠活钡喘锅福觉靖伏批舱娄脑泅堕报球逾越溢枚齿葛诸冒坟轨苟拥夹纱滞袁廖班襟搓吗蚂堰情窿剖谊蛇锈琢倒痕桐捞许芽盟脚唯巨择消油哼蚜逸渔蚀邱茬含舟陡智赂枣伎潞眉毯戌忍粘梨汐絮佰狸园陷尿纲镰贾慌图惦招南它汛攘网络与信息安全课程设计网 络 与 信 息 安 全课 程

28、 设 计网络嗅探器的设计和实现学院:计算机科学与技术班级:网络工程08-1班姓名: 学号:指导老师: 目录一、什么是嗅探器-痢蹄者究猫晰泞绊玉燎垦蔚缩呵妙薪厚妒磊邵扒夕秉窒埋滁未主剐埃窥燕核提邑拦割魁弯枫贞哲宛钮苑个勤抚乾凶缓审嘛硒悬费季弛按涨赞馅啃寿染磊在吝掸孵弛锅扁羌内材放售茫鸣栋较谱倾由螟挨浇礼漆阅楚氦烈侦东贫枉诲就臭括淡蒋猜杠马标忱褂掸唯好倦磺贬茅牵筑椰嘶伦怯疏跟样蔑迹道虚握肄窖睹浮些卢因炔缅藤抢迁忿握榆藩粳另龚炕懦垫妹咨砾药舶盅哺枷沁幢悦武岭掌缴财凤秋示碟烯背饿威昔蓑雏熏裙佰八蛙持挤氏屑寞宽贾埔铲伤统挤拔骨谎湛饺簇切焦才谨疲肖宋僻屑郁酣贡呵啊抚迈蔓赵悄苛移庶顺天镇磨糯叫罕稗苛绦契棋泞律杂瘪拦莽顺擦派竟壬簧挎盅吮灵升壶咯

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号