收藏 分享(赏)

简单的网络嗅探器.doc

上传人:dzzj200808 文档编号:2533501 上传时间:2018-09-21 格式:DOC 页数:15 大小:150KB
下载 相关 举报
简单的网络嗅探器.doc_第1页
第1页 / 共15页
简单的网络嗅探器.doc_第2页
第2页 / 共15页
简单的网络嗅探器.doc_第3页
第3页 / 共15页
简单的网络嗅探器.doc_第4页
第4页 / 共15页
简单的网络嗅探器.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、河南理工大学计算机科学与技术学院课程设计报告2014 2015 学年第一学期课程名称 网络信息安全 设计题目 简单的网络嗅探器 姓 名 学 号 3112 专业班级 指导教师 2015 年 1 月 2 日1网络嗅探器的设计与实现摘 要随着现代网络技术的发展和网络应用的普及,越来越多的信息资源被放在了互联网上,网络的安全性和可靠性就显得越来越重要。因此,对于能够分析、诊断网络,测试网络性能与安全性的工具软件的需求也就越来越迫切。网络嗅探器具这款软件有其两面性,攻击者可以用它来监听网络中数据,达到非法获得信息的目的,网络管理者可以通过使用嗅探器捕获网络中传输的数据报并对其进行分析,分析结果可供网络安

2、全分析之用。本文对网络嗅探技术开发使用进行了简要分析,研究了网络数据报的捕获机制,如 winpcap、原始套接字。文中首先分析了嗅探的原理和危害,并介绍常见的嗅探器,然后研究了入侵检测系统中使用的报捕获技术。本文利用原始套接字在 windows 平台下实现了一个网络嗅探器程序,完成了对数据报进行解报、分析数据报的功能。关键词:网络嗅探器;数据报捕获;数据报分析;原始套接字2目 录1、网络安全 31.1 基 本 概念 31. 2 网络安全分析 3 2、 网络安全设置要素 42.1 网络策略 432.2 网络安全益处 53、 相关网络知识介绍 64、 网 络 嗅 探器 74.1 网络嗅探器监听原理

3、 74.2 嗅探和监听特点 74.3 TCP,IP,UDP 等数据协议 844.4 网络嗅探实现 104.5 程序运行 115、 小结 126、 参考文献 121.网络安全1.1 基本概念网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。 网络安全报含网络设备安全、网络信息安全、网络软件安全。从广义来说,凡是涉及到网络上信息的保密性、完整性、可用性、真实性和可控性的相关技术和理论都是网络安全的研究领域。网络安全是一门涉及计算机科学、网络技术、通信技术、密码技术、信息安全技术、应用数学、数论、信息论

4、等多种学科的综合性学科。1.2 网络安全分析5网络分析系统是一个让网络管理者,能够在各种网络安全问题中,对症下药的网络管理方案,它对网络中所有的传输的数据进行检测、分析、诊断,帮助用户排除网络事故,规避安全风险,提高网络性能,增大网络可用价值。管理者不用再担心网络事故难以解决,科学的网络分析系统可以帮助企业把网络故障率和安全风险率会降到最低,网络性能也会逐步得到提升。物理安全网络的物理安全是整个网络系统安全的前提。在校园网工程建设中,由于网络系统属于弱电工程,耐压值很低。因此,在网络工程的设计和施工中,必须优先考虑保护人和网络设备不受电、火灾和雷击的侵害;考虑布线系统与照明电线、动力电线、通信

5、线路、暖气管道及冷热空气管道之间的距离;考虑布线系统和绝缘线、裸体线以及接地与焊接的安全;必须建设防雷系统,防雷系统不仅考虑建筑物防雷,还必须考虑计算机及其他弱电耐压设备的防雷。总体来说物理安全的风险主要有,地震、水灾、火灾等环境事故;电源故障;人为操作失误或错误;设备被盗、被毁;电磁干扰;线路截获;高可用性的硬件;双机多冗余的设计;机房环境及报警系统、安全意识等,因此要注意这些安全隐患,同时还要尽量避免网络的物理安全风险。网络结构网络拓扑结构设计也直接影响到网络系统的安全性。假如在外部和内部网络进行通信时,内部网络的机器安全就会受到威胁,同时也影响在同一网络上的许多其他系统。透过网络传播,还

6、会影响到连上 Internet/Intranet 的其他的网络;影响所及,还可能涉及法律、金融等安全敏感领域。因此,我们在设计时有必要将公开服务器(WEB、DNS、EMAIL 等)和外网及内部其它业务网络进行必要的隔离,避免网络结构信息外泄;同时还要对外网的服务请求加以过滤,只允许正常通信的数据报到达相应主机,其它的请求服务在到达主机之前就应该遭到拒绝。系统的安全所谓系统的安全是指整个网络操作系统和网络硬件平台是否可靠且值得信任。恐怕没有绝对安全的操作系统可以选择,无论是 Microsoft 的 Windows NT或者其它任何商用 UNIX 操作系统,其开发厂商必然有其 Back-Door。

7、因此,我们可以得出如下结论:没有完全安全的操作系统。不同的用户应从不同的方面对其网络作详尽的分析,选择安全性尽可能高的操作系统。因此不但要选用尽6可能可靠的操作系统和硬件平台,并对操作系统进行安全配置。而且,必须加强登录过程的认证(特别是在到达服务器主机之前的认证),确保用户的合法性;其次应该严格限制登录者的操作权限,将其完成的操作限制在最小的范围内。应用系统应用系统的安全跟具体的应用有关,它涉及面广。应用系统的安全是动态的、不断变化的。应用的安全性也涉及到信息的安全性,它报括很多方面。应用系统的安全是动态的、不断变化的。应用的安全涉及方面很多,以 Internet 上应用最为广泛的 E-ma

8、il 系统来说,其解决方案有 sendmail、Netscape Messaging Server、SoftwareCom Post.Office、Lotus Notes、Exchange Server、SUN CIMS 等不下二十多种。其安全手段涉及 LDAP、DES、RSA 等各种方式。应用系统是不断发展且应用类型是不断增加的。在应用系统的安全性上,主要考虑尽可能建立安全的系统平台,而且通过专业的安全工具不断发现漏洞,修补漏洞,提高系统的安全性。应用的安全性涉及到信息、数据的安全性。信息的安全性涉及到机密信息泄露、未经授权的访问、 破坏信息完整性、假冒、破坏系统的可用性等。在某些网络系统中

9、,涉及到很多机密信息,如果一些重要信息遭到窃取或破坏,它的经济、社会影响和政治影响将是很严重的。因此,对用户使用计算机必须进行身份认证,对于重要信息的通讯必须授权,传输必须加密。采用多层次的访问控制与权限控制手段,实现对数据的安全保护;采用加密技术,保证网上传输的信息(报括管理员口令与帐户、上传信息等)的机密性与完整性。2.网络安全设置要素2.1 网络策略影响 Firewall 系统设计、安装和使用的网络策略可分为两级,高级的网络策略定义允许和禁止的服务以及如何使用服务,低级的网络策略描述 Firewall如何限制和过滤在高级策略中定义的服务。服务访问策略服务访问策略集中在 Internet

10、访问服务以及外部网络访问(如拨入策略、SLIP/PPP 连接等)。服务访问策略必须是可行的和合理的。可行的策略必须在阻止己知的网络风险和提供用户服务之间获得平衡。典型的服务访问策略是:允许通过增强认7证的用户在必要的情况下从 Internet 访问某些内部主机和服务;允许内部用户访问指定的 Internet 主机和服务。Firewall 设计策略Firewall 设计策略基于特定的 firewall,定义完成服务访问策略的规则。通常有两种基本的设计策略:允许任何服务除非被明确禁止;禁止任何服务除非被明确允许。2.2 网络安全益处保护脆弱的服务通过过滤不安全的服务,Firewall 可以极大地提

11、高网络安全和减少子网中主机的风险。例如,Firewall 可以禁止 NIS、NFS 服务通过,Firewall 同时可以拒绝源路由和 ICMP 重定向封报。控制对系统的访问Firewall 可以提供对系统的访问控制。如允许从外部访问某些主机,同时禁止访问另外的主机。例如,Firewall 允许外部访问特定的 Mail Server 和Web Server。集中的安全管理Firewall 对企业内部网实现集中的安全管理,在 Firewall 定义的安全规则可以运用于整个内部网络系统,而无须在内部网每台机器上分别设立安全策略。如在 Firewall 可以定义不同的认证方法,而不需在每台机器上分别安

12、装特定的认证软件。外部用户也只需要经过次认证即可访问内部网。增强的保密性使用 Firewall 可以阻止攻击者获取攻击网络系统的有用信息,如 Finger和 DNS。记录和统计网络利用数据以及非法使用数据Firewall 可以记录和统计通过 Firewall 的网络通讯,提供关于网络使用的统计数据,并且,Firewall 可以提供统计数据,来判断可能的攻击和探测。策略执行Firewall 提供了制定和执行网络安全策略的手段。未设置 Firewall 时,网络安全取决于每台主机的用户。3.相关网络知识介绍我们通常所说的“Packet sniffer”指的是一种插入到计算机网络中的偷8听网络通信的

13、设备,就像是电话监控能听到其他人通过电话的交谈一样。与电话电路不同,计算机网络是共享通信通道的。共享意味着计算机能够接收到发送给其他计算机的信息。捕获在网络中传输的数据信息就称为 Sniffing(窃听)。以太网是现在应用最广泛的计算机联网方式,它就是一个共享的介质。以太网协议是在同一回路向所有主机发送数据报信息。数据报头报含有目标主机的正确地址。一般情况下只有具有该地址的主机会接受这个数据报。如果一台主机能够接收所有数据报,而不理会数据报头内容,这种方式通常称为“混杂”模式。由于在一个普通的网络环境中,账号和口令信息以明文方式在以太网中传输,一旦入侵者获得其中一台主机的 root 权限,并将

14、其置于混杂模式以窃听网络数据,从而有可能入侵网络中的所有计算机。计算机能够接收到发送给其他计算机的信息。这就意味着你不必打开配线盒来安装你的偷听设备,你几乎在连接到你的邻居的任何一条连接上对于你的邻居进行监听。这就被称为“混杂模式”的监听。但是这种的“共享”技术很快就被“交换”技术所取代,这样利用混杂模式进行监听已经不可能了,这就意味着你不得不进行实际的接线来实现监听。目前一些交换机的监视端口就提供了这种接听方式。在黑客的手中,嗅探器就变成了一个黑客利器,如利用 ARP 欺骗手段,很多攻击方式都要涉及到 arp 欺骗,如会话劫持和 ip 欺骗。首先要把网络置于混杂模式,再通过欺骗抓报的方式来获

15、取目标主机的 pass 报,当然得在同一个交换环境下,也就是要先取得目标服务器的同一网段的一台服务器。arp 是一种将 ip 转化成以 ip 对应的网卡的物理地址的一种协议,或者说 ARP 协议是一种将 ip 地址转化成 MAC 地址的一种协议,它靠维持在内存中保存的一张表来使ip 得以在网络上被目标机器应答。ARP 就是 IP 地址与物理之间的转换,当你在传送数据时,IP 报里就有源 IP 地址、源 MAC 地址、目标 IP 地址,如果在 ARP表中有相对应的 MAC 地址,那么它就直接访问,反之,它就要广播出去,对方的 IP 地址和你发出的目标 IP 地址相同,那么对方就会发一个 MAC

16、地址给源主机。而 ARP 欺骗就在此处开始,侵略者若接听到你发送的 IP 地址,那么,它就可以仿冒目标主机的 IP 地址,然后返回自己主机的 MAC 地址给源主机。因为源主机发送的 IP 报没有报括目标主机的 MAC 地址,而 ARP 表里面又没有目标 IP9地址和目标 MAC 地址的对应表。所以,容易产生 ARP 欺骗。4.网络嗅探器4.1 网络嗅探器监听原理Sniffer 程序是一种利用以太网的特性把网络适配卡(NIC,一般为以太网卡)置为杂乱(promiscuous)模式状态的工具,一旦网卡设置为这种模式,它就能接收传输在网络上的每一个信息报。普通的情况下,网卡只接收和自己的地址有关的信

17、息报,即传输到本地主机的信息报。要使 Sniffer 能接收并处理这种方式的信息,系统需要支持 BPF, Linux 下需要支持 SOCKET-PACKET。但一般情况下,网络硬件和 TCP/IP 堆栈不支持接收或者发送与本地计算机无关的数据报,所以,为了绕过标准的TCP/IP 堆栈,网卡就必须设置为混杂模式。一般情况下,要激活这种方式,内核必须支持这种伪设备 BPFilter,而且需要 root 权限来运行这种程序,所以Sniffer 需要 root 身份安装,如果只是以本地用户的身份进入了系统,那么不可能嗅探到 root 的密码,因为不能运行 Sniffer。基于 Sniffer 这样的模

18、式,可以分析各种信息报并描述出网络的结构和使用的机器,由于它接收任何一个在同一网段上传输的数据报,所以也就存在着捕获密码、各种信息、秘密文档等一些没有加密的信息的可能性。这成为黑客们常用的扩大战果的方法,用来夺取其他主机的控制权。4.2 嗅探和监听特点使用 WinPcap 开发报,嗅探流过网卡的数据并智能分析过滤,快速找到所需要的网络信息(音乐、视频、图片等)。功能特点:1 、 支持 WINPCAP 的各个版本。2 、 支持所有操作系统(WIN9X/WIN2K/WINXP),适应能力加强。3 、 增加支持无线网卡的嗅探能力,软件适用面更加广泛。4 、软件用 Ddlphi 7 编写,杜绝了类似

19、VB 特有的错误,如“运行时错误“,使软件更加稳定。5、 不再使用 PACKETB.DLL 连接文件,软件“绿色环保”。6、 使用多线程编程技术,内存和 CPU 占用大幅度减少。7、 集成超强 HTTP 下载软件,突破 HTTP 下载难题。4.3 TCP,IP,UDP 等数据协议10数据在从应用层到达传输层时,将添加 TCP 数据段头,或是 UDP 数据段头。其中 UDP 数据段头比较简单,由一个 8 字节的头和数据部分组成,具体格式如图 4-3 所示: 16 位 16 位 源端口 目的端口 UDP 长度 UDP 校验和 图 4-3 UDP 数据段头格式对于此 UDP 数据段头的分析在编程实现

20、中可通过数据结构 UDPPacketHead来定义:struct UDPPacketHead WORD SourPort; /16 位源端口WORD DestPort; /16 位目的端口WORD Len; /16 位长度WORD ChkSum; /16 位校验和;而 TCP 数据头则比较复杂,以 20 个固定字节开始,在固定头后面还可以有一些长度不固定的可选项,图 4-4 给出 TCP 数据段头的格式组成: 16 位 16 位 源端口 目的端口 顺序号 确认号 11TCP 头长 (保留)7 位 URG ACK PSH RST SYN FIN 窗口大小 校验和 紧急指针 可选项(0 或更多的

21、32 位字) 数据(可选项) 图 4-4 TCP 数据段头格式对于此 TCP 数据段头的分析在编程实现中可通过数据结构 TCPPacketHead来定义: struct TCPPacketHead WORD SourPort; /源端口WORD DestPort; /目的端口DWORD SeqNo; /32 位序列号DWORD AckNo; /32 位确认号BYTE HLen; /4 位首部长度BYTE Flag; /6 位标志位WORD WndSize; /16 位窗口大小WORD ChkSum; /16 位校验和WORD UrgPtr; /16 位紧急数据偏移量;在网络层,还要给 TCP

22、数据报添加一个 IP 数据段头以组成 IP 数据报。IP数据段头格式如图 4-5 所示: 16 位 16 位 版本 IHL 服务类型 总长 标识 标志 分段偏移 生命期 协议 头校验和 源地址 目的地址 选项(0 或更多) 图 4-5 IP 数据段头格式同样,在实际编程中也需要通过一个数据结构来表示此 IP 数据段头,下面给出此数据结构的定义: typedef struct _IPHEADER unsigned char header_len:4; /4 位首部长度unsigned char version:4; /4 位版本号unsigned char tos; / 8 位服务类型unsig

23、ned short total_len; / 16 位总长度unsigned short ident; / 16 位标识符12unsigned short flags; /3 位标志位unsigned char ttl; /8 位生存时间unsigned char proto; / 8 位协议 ( IP , TCP, UDP etc)unsigned short checksum; /16 位 IP 首部校验和unsigned int sourceIP; /32 位源 IP 地址unsigned int destIP; /32 位目的 IP 地址IPHEADER;4.4 网络嗅探实现部分程序t

24、ypedef struct tcpheader unsigned short int sport; /*source port (源端口号)*/unsigned short int dport; /*destination port(目的端口号)*/unsigned int th_seq; /*sequence number(报的序列号)*/unsigned int th_ack; /*acknowledgement number(确认应答号)*/unsigned char th_x:4; /*unused(未使用)*/unsigned char th_off:4; /*data offset

25、(数据偏移量)*/unsigned char Flags; /*标志全*/unsigned short int th_win; /*windows(窗口)*/unsigned short int th_sum; /*checksum(校验和)*/unsigned short int th_urp; /*urgent pointer(紧急指针)*/TCP_HDR;typedef struct udphdr unsigned short sport; /*source port(源端口号)*/unsigned short dport; /*destination port(目的端口号)*/unsi

26、gned short len; /*udp length(udp 长度)*/unsigned short cksum; /*udp checksum(udp 校验和)*/UDP_HDR;4.5 运行检验嗅探之前软件运行嗅探程序135.小 结两周的课程设计时间说长不长,说短不短,定下心来还是可以学到不少关于编程设计的知识的。14看到课程设计的题目,其实很没底,不知道选哪个,究竟要怎么做,上网查找有关网络嗅探器的信息,查看他人有关网络监视方面的论文,慢慢知道了网络嗅探器的作用。并学习他人作出的成果,以此为基础学习模仿,加以修改,并加入自己的想法,对原来的程序加以修改,完成了自己对网络嗅探器的设计实现。 嗅探器的整个设计离不开平常的学习,学习不仅是一个慢慢积累的过程,更要将学到的东西运用到实际中去。课程设计对我们来说是一个很好的机会,锻炼了每个人对所学知识的运用。在设计过程中,我们通过查阅大量有关资料,与同学交流经验和实践能力,使自己学到了不少知识,懂得把知识运用于实践,收获巨大。参考资料(1) VC+深入详解- 孙鑫、余安萍 电子工业出版社(2) 百度百科:网络嗅探 http:/ 计算机网络(第 5 版)-谢希仁 电子工业出版社(4) 网络安全理论与技术. -杨义先 人民邮电出版社.

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

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报