计算机网络监听技术设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机网络监听技术设计 系统目标 本课设从实际工程应用角度出发,以计算机网络原理为指导,结合当前网络中的一些常用技术和标准,模拟仿真了一组网络实验。为了能够检验实验的结果,我们开发了这个网络监听工具,帮助实验人员对网络中的信息进行实时的监测、分析,诊断网络故障。同时通过该毕业设计的内容,让我们了解各种抓包技术,熟练掌握基于Winpcap开发包的编程模式;了解网络监听技术的新发展和网络安全防范的新方向;最后能有所体会。 相关理论与技术的简单介绍 1.2.1 网络监听原理 共享式局域网采用的是广播信道,也就是说每台主机所发出的帧都会被整个网络内的所有主机接收到[1]。接收主机对帧的处理根据网卡的工作模式来实现。一般网卡具有一下4种工作模式:广播模式,多播模式,直播模式和混杂模式。网卡缺省工作模式是工作在广播和直播模式下的,即只能接收发送给自己和广播的帧。正常情况下接收主机的网卡根据帧中所包含的目标MAC地址或是广播MAC地址进行判断,若等于自己的MAC地址或是广播MAC地址,则提交给上层处理程序,否则丢弃此数据包。当网卡处于混杂模式的时候,它不作任何判断直接把接收到的所有帧交给上层处理程序。网络监听技术就是基于这个原理,来捕获网络中所有的数据包,实现网络监测和流量分析的。 交换式以太网是基于数据链路层的点到点的信道,所以简单采用应用于共享式以太网的监听技术是完全失效的。本文主要讨论共享式以太网的情况,最后给出交换式以太网监听难题的解决方案。 1.2.2 监听技术相关的实现方法 原始套接字编程模式[2]: Raw Socket: 原始套接字 可以用它来发送和接收 IP 层以上的原始数据包, 如 ICMP, TCP, UDP... 创建了一个 Raw Socket int sockRaw=socket(AF_INET, SOCK_RAW, IPPROTO_RAW); 把网卡置于混杂模式 用 Raw Socket 实现代码如下: setsockopt(sock,IPPROTO_IP,IP_HDRINCL,(char*)flag,sizeof(flag)); 设置 IP 头操作选项。flag 标志是用来设置 IP 头操作的, bool flag = ture 也就是说要亲自处理 IP 头。 bind(sockRaw,(PSOCKADDR)addrLocal,sizeof(addrLocal); 把 sockRaw 绑定到本地网卡上,addrLocal 为本地地址: SOCKADDR_IN addrLocal。 ioctlsocket(sockRaw, SIO_RCVALL, dwValue); 让 sockRaw 接受所有的数据。dwValue 为输入输出参数, 为 1 时执行, 0 时取消: DWORD dwValue = 1; 捕获数据包 recv(sockRaw, RecvBuf, BUFFER_SIZE, 0);//接受任意数据包 原始套接字编程模式: 优点: 实现简单, 不需要做驱动程序就可实现抓包. 缺点: 数据包头不含帧信息, 不能接收到与 IP 同层的其它数据包, 如 ARP, RARP,IPX… IMD中间层驱动编程模式[3]: 中间层驱动(NDIS intermediate driver) 内核级网络驱动介绍: Microsoft Windows 2000支持三种基本的内核级网络驱动,这三层driver顺序从下到上依次为: Miniport NIC drivers:微端口网卡驱动,位于最底层,直接操纵网卡并且对高层驱动提供接口。 Intermediate drivers:IMD中间层驱动位于1和3之间。 Protocol drivers:高层协议驱动,俗称为TDI(传输驱动程序接口),高于前面两层,直接面向用户级,为用户提供网络服务,也就是绝大多数程序所用到的网络接口。 IMD驱动 IMD中间层,它的实质很简单,即:中间层插入网卡和协议层之间,对上面的协议层表现为一个虚拟的微端口网卡结构,而对下面的网卡则表现为一个协议层的结构。所以,无论是网卡接收并上传的数据报,还是上层要下送至网卡发送的数据报,无一例外地要经过中间层。 IMD包过滤技术 前面我们已经看到,所有的数据报都要经过中间层,所以,我们可以在中间层加入我们想要过滤的数据报的特征,实现基于中间层驱动的内核级包过滤。 优势:首先,在驱动级别上做过滤,无须组包,速度快,效率自然就高;其次,所有的数据报无一例外,只要网卡上传的数据报均可以截获,避免了用户级无法得到所有数据报的缺点。 缺点:IMD包过滤技术也存在其不可避免的缺点,与操作系统版本关系密切,与硬件联系大,可移植性低,调试困难。 Winpcap编程模式 Winpcap(windows pac

文档评论(0)

你好世界 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档