- 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下网络端口数据包捕捉分析程序设计
科技信息计算机与网络
Windows下网络端口数据包捕捉分析程序设计
郑州铁路职业技术学院王璨河南质量工程职业技术学院王淑静
[摘要]随着互联网的普及和网络技术的发展,网络的安全问题也越来越突出.如何及时发现网络故障和安全隐患是保障网络正
常运行的重要组成部分.在众多的网络安全技术中,网络监听是非常重要且被计算机应用人员广泛关注的技术.该论文从网络数据
捕获中的关键技术出发,主要研究了一个基于Windows以太网的数据包捕获和分析的程序的设计与实现,该程序采用基于创建原
始套接字,修改I/O选项实现的IP数据包捕获.
[关键词]线程以太网数据包捕获网络监听
一
,网络监听概述
数据包捕获是网络监听的主要方面.网络监听,也可称为网络嗅
探,可以理解为一个安装在计算机上的窃听设备,它可以用来窃听计算
机在网络上所产生的众多的信息.简单一点解释:计算机网络嗅探器可
以窃听计算机程序在网络上发送和接收到的数据.可是,计算机直接传
送的数据,事实上是大量的二进制数据.因此,一个网络监听程序必须
也使用特定的网络协议来分解嗅探到的数据,嗅探器也就必须能够识
别出哪个协议对应于这个数据片段,只有这样才能够进行正确的解码.
很多的计算机网络采用的是共享媒体.也就是说,你不必中断他
的通讯,并且配置特别的线路,再安装嗅探器,你几乎可以在热和连接
着的网络上窃听到你同一掩码范围内的计算机网络数据.我们称这种
窃听方式为基于混杂模式的嗅探片(promiscuousmode).尽管如此,这
种共享的技术发展得很快,慢慢转向交换技术,这种技术可以实现
有目的选择的收发数据.
以太网的数据传输是基于共享原理的:所有的同一本地网范围
内的计算机共享接收到的相同的数据包.这意味着计算机直接的通讯
都是透明可见的.正是因为如此,以太网卡都构造了硬件的过滤器,
这个过滤器将忽略掉一切和自己无关的网络信息.事实上是忽略掉了
与自身MAC地址不符合的信息.嗅探程序正是利用了这个特点,也就
是前面提到的设置网卡混杂模式.因此,嗅探程序就能够接收到整个
以太网内的网络数据信息.
由于大量的计算机在以太网内共享数据流,所以必须有一个统
一
的办法用来区分传递给不同计算机的数据流.这种问题不会发生在
拨号用户身上,因为计算机会假定一切数据流都由你发送给modem然
后通过电话线传送出去.可是,当你发送数据到以太网上的时候,你必
须弄清楚,哪台计算机是你发送数据的对象.的确,现在有大量的双向
通讯程序出现了,看上去,他们好像是只会在两台机器内交换信息,可
是你要明白,以太网的信息是共享的,其他用户其实一样接收到了你发
送的数据,只不过是被网卡给忽略掉了.这是因为正常情况下网卡只响
应两种数据帧:一种是帧的目标区域具有和本机网络接口相匹配的硬
件地址;另一种就是帧的目标区域具有广播地址.
二,TCP/IP协议与TCP/lP整体构架概述
TCP/IP协议并不完全符合OSI的七层参考模型.传统的开放式互
连参考模型是一种通信协议的七层抽象的参考模型,其中每一层执行
某一特定任务.该模型的目的是使各种硬件在相同的层次上相互通信.
这七层是:物理层,数据链路层,网络层,传输层,会话层,表示层和应用
层.而TCP/IP通讯协议分成五个概念层次:建立在第五层饵口硬件层)上
的是四个软件层.图1给出了这些概念性的层次结构以及在这些层次
之间传输的数据格式.
概念性层通过层间的对象
}应用I
—————一报文或数据流
I传输1
.I.————一传输协议分组
I网络I
,1.————一IP数据报
I网络接口l
…………
●————一特定于网络的帧
;硬件i
图1TCP/IP协议层次之间传输的数据格式
三,数据包捕获的理论基础
以太网数据传输通过广播实现.在同一个共享局域网的所有网络
接口都有访问在物理媒体上传输的所有数据的能力.但是在系统正常
工作时,应用程序只能接收到以本主机为目标主机的数据包,其它数据
包过滤后将被丢弃不做处理,其数据包过滤机制分为链路层,网络层和
传输层几个层次.
链路层主要指网卡驱动程序判断所收到的包的目的MAC地址,如
果不是自己的MAC地址,又不为广播地址和组播地址,将直接丢弃.网
络层判断目标IP地址是否为本机所绑定的IP地址,如果不是则不向上
层提交.传输层中的TCP或者UDP判断目标端口是否在本机已经打
开,如果没有打开则丢弃包而不向上层提交.
要监听到流经网卡的不属于自己主机的数据,必须绕过系统正常
工作的处理机制,直接访问网络底层.首先将网卡工作模式置于混杂模
式(Promiscuous),使之可以接收所有数据包,从而实现信息的监听.
四,系统开发环境与实现功能
本程序的设计所要求的环境如下:操作系统Wind
原创力文档


文档评论(0)