基于TCP_IP协议的网络数据包截获分析系统的研究.pdf

上传人:qwe****56 文档编号:74672694 上传时间:2023-02-27 格式:PDF 页数:3 大小:520.29KB
返回 下载 相关 举报
基于TCP_IP协议的网络数据包截获分析系统的研究.pdf_第1页
第1页 / 共3页
基于TCP_IP协议的网络数据包截获分析系统的研究.pdf_第2页
第2页 / 共3页
点击查看更多>>
资源描述

《基于TCP_IP协议的网络数据包截获分析系统的研究.pdf》由会员分享,可在线阅读,更多相关《基于TCP_IP协议的网络数据包截获分析系统的研究.pdf(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Computer Knowledge and Technology电脑知识与技术本栏目责任编辑:冯蕾网络通讯及安全第7卷第29期(2011年10月)第7卷第29期(2011年10月)基于 TCP/IP 协议的网络数据包截获分析系统的研究李 娜(陕西理工学院 计算机科学与技术系,陕西 汉中723001)摘要:该文讨论了以太网环境下基于TCP/IP协议的(其中IP协议的版本是IPv4)数据包截获与分析技术。通过使用该技术,可以让一台主机能够接收流经该主机的所有数据包。改系统采用套接字Socket)对网卡的编程来实现对数据包的截获及分析。这种技术在网络安全及网络管理领域有着举足轻重的地位。关键词:以

2、太网;数据包;TCP/IP;套接字中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)29-7122-03Investigation of Data Packet Interception System Based on TCP/IP ProtocolLI Na(Department of Computer Science&Technology,Shaanxi University of Technology,Hanzhong 723001,China)Abstract:This article discusses the TCP/IP protocol(which i

3、s the IP protocol version IPv4)packet capture and analysis technology.Byusing the technology that allows a host to receive all the data flowing through the host package.The system uses the Socket(Socket)on thecard program to achieve the interception and analysis of the data packet.The technology in

4、the field of network security and networkmanagement has a pivotal position.Key words:ethernet;packet;TCP/IP;socket网络数据监听是网络入侵和网络安全协议技术研究的核心技术。监听技术主要是对网络的状态、信息流动和信息内容等进行监视,相应的工具被称为网络分析仪。在几乎所有的IDS(入侵检测系统)中,最基本的要求就是要能够实现网络监听与过滤,所有的安全策略、防护、检测、响应都建立在此基础上,它是帮助网络管理员查找和解决网络故障,为防火墙和入侵检测系统构建基础。因此,局域网数据监听系统的研究

5、,对于更好的维护计算机网络及解决网络安全问题有着重要的意义。1数据包截获及分析工具设计1.1设计目标通过原始套接字(SOCK_RAW)和网卡的混杂工作模式截获和扫描经过网络通信端口的IP数据包,实现网络流量统计、网络协议分析等功能。1.2数据报截获原理信息在网络中是以广播形式发送的,以太网卡收到报文后,通过对目的地址进行检查,来判断是否是传递给自己的,如果是,则把报文传递给操作系统;否则,将报文丢弃,不进行处理。数据包捕获程序工作在网络底层,将网卡设置为混杂模式以后,从网络底层捕获到的数据包会直接上发给应用程序进行处理,而不象普通的数据包那样经过操作系统的层层过滤。这样一来,应用程序接收到的数

6、据包是最原始的数据包,是经过封装的。也就是说监听主机接收到的数据包中,除了数据包本身的内容之外,还带有从对方主机中的传输层、网络层以及数据链路层等各层打上的数据包头信息,所以要想获得数据包里的应用数据,是需要我们自己来按照每一层的协议剥离数据包头中的每一层首部内容的,这就是协议分析需要完成的工作。1)首先是需要去掉数据链层的包头,此时可以获得IP数据报,在这一层中可以对IP数据报做一定的统计和分析,如流量统计、网络扫描等等;2)对于IP数据报去除网络层的包头以后,可以获得传输层数据报,在该文的模型中就特指的TCP报文和UDP报文,对这一层数据报进行协议分析的主要工作就是根据TCP数据包和UDP

7、数据包的包头标志,将一个连接的所有IP数据报重整还原出一个完整的TCP流和UDP流,在这一层中还可以获得数据报的端口号信息,根据端口号进一步判断数据报属于何种应用层协议。1.3总体设计该软件是运用Microsoft Visual C+开发的,该软件主要由两大主要部分(功能)构成:1)数据包截获:用程序实现本地网卡状态为“混杂”模式,当网卡处于这种“混杂”方式时,该网卡具备“广播地址”,它对遇到的每一个帧都产生一个硬件中断以便提醒操作系统处理流经该物理媒体上的每一个报文包。2)数据包分析:通过对数据包帧的格式的分析,判断数据包所含协议的类型,源IP地址及目的IP地址,源端口和目的端口。这样我们对

8、数据包的安全性有所了解。收稿日期:2011-08-27基金项目:陕西理工学院科研基金项目(SLG0619)作者简介:李娜(1979-),女,陕西汉中人,陕西理工学院计算机科学与技术系讲师,工学硕士,研究方向为网络与智能信息处理。E-mail:http:/Tel:+86-551-56909635690964ISSN 1009-3044Computer Knowledge and Technology电脑知识与技术Vol.7,No.29,October 2011.7122第7卷第29期(2011年10月)第7卷第29期(2011年10月)Computer Knowledge and Technol

9、ogy电脑知识与技术网络通讯及安全本栏目责任编辑:冯蕾数据包捕获模块用于监视和验证网络流量情况,可以捕获通过原始套接口(Socket)的原始数据包(Raw Packet),当一个数据包到达网络接口时数据包捕获程序就直接从缓存区读取捕获的数据包,以供数据分析和处理时调用。数据包截获模块的结构如图1所示。在数据包捕获程序中,通过设置网卡工作于混杂状态,对网络链路进行监听并收集数据包,从而获得数据包头信息。其流程图如图2示。可以看出,整个监听检测程序主要分为两大部分:程序驱动程序部分和应用程序部分。驱动程序工作在核心态,负责网络数据的接受和发送;应用程序工作在用户态,除了与驱动程序进行正常的通信外,

10、还需要将有关信息显示出来,并提供过滤等操作。缓冲区由应用程序动态分配提供。2数据包截获及分析工具代码实现1)创建套接字使用Socket()函数创建原始套接字Socketfd=Socket(AF INEF,SOCK RAW,0)。第一个参数是地址类型,设为AFINETI是用于不同主机之间的通信;第二个参数即Socket的类型参数,这里使用SOCK RAW;第三个参数是协议参数,指定程序使用具体的协议。这里使用0,表示TCP/IP协议。2)将网卡设置为混杂模式在程序中使用WSAIoct10函数是用来将网卡设置为混杂模式的。IntWSAloctl(SOCKETS,DWORDdwloC-ontrolC

11、ode,LPVOIDIpvinBufer,DW ORDcbinBuffer,LPVOID lpvoutBufer,DWORD cbout-Bufer,LPDW ORD lpcbByteReturned,LPW SAOV?ELAPPEDlpOverlapped,LPW SAOVERLAPPED-COM PLETION-ROUTINE IpcompIetionRoutine)。3)捕获数据包网络接口设置为混杂模式以后,进人捕获数据包的模块。调用Recv(socket,bufer,sizeof(bufer),0)函数。其中第一个参数是以连接套接字的描述符。第二个参数是接收数据的缓冲区地址。第三个参数

12、是缓冲区大小。第四个参数是调用方式,O表示无特殊行为。4)数据包分析本系统数据包分析模块的实现主要是通过对数据包进行解析然后通过判断iphdr-protocol来实现对数据包的分析的。下面是数据包分析模块实现的主要代码(以TCP协议解析为例):iphdr=(ip_header*)buf;TCP协议解析:if(iphdr-protocol=6)/判断此数据包为TCP协议tcphdr=(tcp_header*)(buf+(iphdr-ver_ihl&0 x0f)*4);sListLine.Format(This is a TCP packet,bread=:%d,packetlen=%d.,bre

13、ad,(iphdr-ver_ihl&0 x0f)*4);strData.Format(sPort:%d,dPort:%d,ntohs(tcphdr-sPort)P,ntohs(tcphdr-dPort);sListLine+=strData;sip.S_un.S_addr=iphdr-sAddress;sa=inet_ntoa(sip);dip.S_un.S_addr=iphdr-dAddress;da=inet_ntoa(dip);strData.Format(sIP:%s,dIP:%s,sa,da);/输出此数据包源地址和目的地址sListLine+=strData;pDlg-m_cLis

14、t.AddString(sListLine);m_dTCP+;pDlg-SetDlgItemInt(IDC_TCPEDIT,m_dTCP);m_lTCPSIZE+=bread;pDlg-SetDlgItemInt(IDC_TCPSIZEEDIT,m_lTCPSIZE);3系统测试3.1界面测试至此,经过了系统的分析、设计等过程,整个“网络数据包截获及分析工具的设计”已经开发完成。选择位于“NetMonitor”文件下的“Release文件中的NetMonitor.exe”,就可以正式使用。点击NetMonitor.exe弹出界面如图3。图1数据包截获模块框架图图2数据包截获模块结构图图3统运行

15、界面7123Computer Knowledge and Technology电脑知识与技术本栏目责任编辑:冯蕾网络通讯及安全第7卷第29期(2011年10月)第7卷第29期(2011年10月)(上接第7118页)4结束语缓冲区溢出是目前导致黑客横行的主要原因,比如冲击波,红色代码等都是利用缓冲区溢出漏洞的典型。缓冲区溢出是一个编程问题,防止利用缓冲区溢出发起的攻击,关键在于程序开发者在开发程序时仔细检查溢出情况,不允许数据溢出缓冲区。此外,用户要经常登录操作系统和应用程序提供商的网站,及时下载补丁程序,弥补系统漏洞。参考文献:1谢恒建,胡兆阳.缓冲区溢出攻击的防护技术分析J.微计算机信息,2

16、005(17):11-13.2池瑞楠.Windows缓冲区溢出攻击的实例研究J.微计算机信息,2007,(3):665-666.3高阳,罗军舟.基于灰色关联决策算法的信息安全风险评估方法J.东南大学学报(自然科学版),2009,(2):225-229.4殷立峰.缓冲区溢出攻击的工作原理及防范策略J.计算机安全,2008(3):83-85.5吕涛,曹天杰.基于内存地址确认的缓冲区溢出检测方法J.微计算机信息,2009(36):68-70.3.2功能测试功能测试指测试软件各个功能模块是否正确,逻辑是否正确。从图3可以看出,本系统可以自动获取本机IP地址,并可以对其监听模式进行选择:本软件运行时选择

17、使用混杂模式,这样就可以对经过它的所有数据包进行分析并输出分析结果。从图4可以看出,通过对截获的数据包进行分析我们可以得到数据包的数据如下:数据总流量,流入数据和流出数据的峰值,并可以很直观的看出数据流量的变化情况;数据包协议,报头长度,数据包长度,源端口/目标端口,源地址/目标地址;所有数据包中TCP、UDP、ICMP包的个数和长度。3.3系统故障排除在本系统功能测试中曾出现一个问题,利用本软件对数据包进行分析部分输出结果如下:sIP:218.195.111.255,dIP:218.195.111.255所得到的源地址和目标地址是相同的,经过仔细的研究终于发现问题在于每次监听失败后没有结束该

18、线程而继续下一次监听导致系统出错,解决该问题需要在每次执行错误后对其线程结束。4结论该文介绍的以原始套接字的方式对网络数据进行捕获的方法实现起来比较简单,尤其是不需要编写VxD虚拟设备驱动程序就可以实现抓包,使得其编写过程变的比较简便。通过该工具,我们基本上可以了解到网络数据包中所包含的一般信息,如:协议,源/目的地址,源/目的端口以及数据包长度等等。通过这些信息,我们就可以对网络状态有一个大体上的了解:通过源/目的地址可知道在网络上有哪些活动的主机;通过数据包长度的累加可以了解到当前网络的流量。但由于捕获到的数据包头不包含有帧信息,因此不能接收到与IP同属网络层的其它数据包,如ARP、RARP数据包等。由于所学知识有限,没有对数据包做进一步的分析,而是仅仅给出了对一般信息的分析方法。参考文献:1朱雁辉.Windows防火墙与网络封包截获技术M.北京:电子工业出版社,2006:145-179.2方敏.网络应用程序设计M.西安:西安电子科技大学出版社,2010:245-287.3李娜.网络数据包截获及分析系统的研究D.西安电子科技大学硕士学位论文,2008.4张宏林.Visual C+6.0程序设计与开发技术大全M.北京:人民邮电出版社,2008:486-503.5李娜.网络数据包截获及分析工具的设计J.电脑知识与技术,2008(2):622-625.图4系统功能实现7124

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁