- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络嗅探器策划与实现
网络嗅探器的设计与实现 摘要:由于计算机网络的开放性、互联性特征,网络安全及网络评估的重要性日益凸显。该设计在windows平台下实现了一个sniff网络嗅探器,该嗅探器能在多个软件平台上运行,通过对软件运行结果的分析可以获知网络流量使用情况、网络资源使用率以及网络安全规则的执行等情况
关键词:网络嗅探器;sniff;数据包捕获;
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)24-0036-02
Abstract: Due to the openness and connectivity of network, the importance of network security and evaluation are becoming more and more important. The design and implementation of the network sniffer is in Windows platform .The sniffer software can run on multiple platforms. Analyzing the results of software, we can know the usage of network traffic, the usage of network resources and the implementation of network security rules,etc.
Key words: network sniffer; sniff; the packet capture
1 背景
随着信息技术的发展,计算机网络的广泛应用,随之带来的安全问题也日益凸显。让我们不得不重视。无论是公司、政府机构还是学校,都有需要保护数据的完整性及可用性。然而计算机网络的连接多式多样、五花八门、终端分布不均匀性,使网络特别容易受到黑客、恶意软件等的攻击,数据的完整性、保密性和可用性要如何在这样的环境的得以保护,我们不得不采取全面的安全措施来全方位应对各种网络威胁。网络嗅探器可以在对网络安全管理的过程中,实现对网络数据进行测量和监视,通过利用软件或者硬件嗅探器捕获数据包对数据内容进行分析处理
嗅探器的分析结果可以获知网络流量使用情况、网络资源使用率以及网络安全规则的执行情况等,作为网络评估、网络故障诊断和网络优化所使用,这样就可以知道网络的实际使用情况,找出网络存在的漏洞和影响网络性能的某些因素。比如ARP攻击,在一个广播式网络中ARP攻击很可能造成整个网段的瘫痪,要及时知道这些情况,我们可以通过网络嗅探器抓包分析来获取。再者网络的安全策略的执行情况,是否有受到攻击,来自哪里的攻击,网络嗅探器可以在对网络安全管理的过程中,实现对网络数据进行测量和监视,通过利用软件或者硬件嗅探器捕获数据包对数据内容进行分析处理
2 sniff嗅探技术基本原理
Sniff嗅探技术基于计算机网络技术。嗅探的实现依赖计算机的网络协议模型,其中运用最多的是TCP/IP协议模型。TCP/IP协议由加利福尼亚大学在UNIX操作系统下开发实现的。套接字(Socket)是计算机系统为了实现应用程序与TCP/IP协议交互所开发的协议,Socket实质提供的是能是进程通信的端点,双方先各自创建一个通信端点来完成通信,一个完整的socket就类似一个完整信息的信封,写了信件的类型,自己的地址,对方的地址,自己的名字。本软件设计正是基于套接字的设计
嗅探器作为一种网络应用程序,Socket起到了对编写网络应用程序的一种简化,它特供了一个高层接口,使得编程人员不需要精通底层的细节。但是通常的套接字程序具有它的局限性即它无法接收到不属于自己而经过的数据包,此时网络接口会对数据包做判断,丢弃不属于自己的数据包,而嗅探器的设计要求能够接收到所有数据,这就意味着需要把网卡设置成一种特殊的混杂模式
如何通过原始套接字(raw socket)把网卡设置成混杂模式,与我们通常使用的数据流套接字TCP和数据包套接字UDP有很大的区别。在创建了原始套接字后,IP头操作选项可以通过setsockopt()函数来实现,然后再通过bind()函数将原始套接字绑定到本地网卡,通过WSAIoctl ()来进行设置,让网卡能够接收到所有的数据。然后再用recv()函数来实现对UDP套接字和TCP套接字的获取,到这里实际上已经是可以对网络进行嗅探了。由于原始套接字的特殊性,它包含了数据传输过程中的IP头、 TCP头等信息但是这与流、数据报套接字不同,我们可以通过对数据中的原始协议进行分析得出网络相关信息。数据包被捕获后就可以根据前面对IP数据
原创力文档


文档评论(0)