网站大量收购闲置独家精品文档,联系QQ:2885784924

VC++实现网络嗅探器.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC++编程实现网络嗅探器 整理:Miller.Luo 从事网络安全的技术人员和相当一部分准黑客(指那些使用现成的黑客软件进行攻击而 不是根据需要去自己编写代码的人)都一定不会对网络嗅探器(sniffer )感到陌生,网络嗅 探器无论是在网络安全还是在黑客攻击方面均扮演了很重要的角色。通过使用网络嗅探器可 以把网卡设置于混杂模式,并可实现对网络上传输的数据包的捕获与分析。此分析结果可供 网络安全分析之用,但如为黑客所利用也可以为其发动进一步的攻击提供有价值的信息。可 见,嗅探器实际是一把双刃剑。 虽然网络嗅探器技术被黑客利用后会对网络安全构成一定 的威胁,但嗅探器本身的危害并不是很大,主要是用来为其他黑客软件提供网络情报,真正 的攻击主要是由其他黑软来完成的。而在网络安全方面,网络嗅探手段可以有效地探测在网 络上传输的数据包信息,通过对这些信息的分析利用是有助于网络安全维护的。权衡利弊, V 有必要对网络嗅探器的实现原理进行介绍。 C h + 嗅探器设计原理 + t 技 t 术 嗅探器作为一种网络通讯程序,也是通过对网卡的编程来实现网络通讯的,对网卡的编 支 程也是使用通常的套接字(socket)方式来进行。但是,通常的套接字程序只能响应与自己 p 持 硬件地址相匹配的或是以广播形式发出的数据帧,对于其他形式的数据帧比如已到达网络接 : / : 口但却不是发给此地址的数据帧,网络接口在验证投递地址并非自身地址之后将不引起响 / s 应,也就是说应用程序无法收取到达的数据包。而网络嗅探器的目的恰恰在于从网卡接收所 h 有经过它的数据包,这些数据包即可以是发给它的也可以是发往别处的。显然,要达到此目 o 的就不能再让网卡按通常的正常模式工作,而必须将其设置为混杂模式。 p 具体到编程实现上,这种对网卡混杂模式的设置是通过原始套接字(raw socket )来实 6 现的,这也有别于通常经常使用的数据流套接字和数据报套接字。在创建了原始套接字后, 1 5 需要通过setsockopt()函数来设置IP 头操作选项,然后再通过bind() 函数将原始套接字绑定 8 2 到本地网卡。为了让原始套接字能接受所有的数据,还需要通过 ioctlsocket()来进行设置, 4 6 而且还可以指定是否亲自处理IP 头。至此,实际就可以开始对网络数据包进行嗅探了,对 2 . 数据包的获取仍象流式套接字或数据报套接字那样通过recv() 函数来完成。但是与其他两种 t 套接字不同的是,原始套接字此时捕获到的数据包并不仅仅是单纯的数据信息,而是包含有 a I

文档评论(0)

汪汪队 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档