smoothyear
【摘要 】 本文论述了网络通信监测的实现原理与实现过程,遵照国际标准化开放系统互联(OSI)七层体系结构,利用网络驱动接口规范WinDis32 技术,实现了在应用层对数据链路层的控制,完成了对网上流动数据帧的实时截获、解封与分析。
关键词】 网络分层 WinDis32技术 网络信息截获 数据帧 NDIS网络适配器
1.前言
随着计算机网络技术的发展,各类网络规模的扩大,远程访问的增加,虚拟专用网(VPN)的出现和Internet的普及,网络安全性已成为计算机网络领域一门重要的研究学科。
网络监控是保障网络安全性的基本措施之一。网络监控,用于监测网上流动信息,并对网络信息给予适当控制。网络监控,可用于调试网络应用程序,判断应用程序是否正确地发送或接收了数据包。网络监控,还可用于监视网络信息,杜绝不健康站点的不健康内容,维护网络环境。应用于安全防范,可监视我方信息内容、保障网络安全,截获情报、分析怀有敌意方的网站。在计算机网络上实施有效的攻击与保护,是网络监控技术在军事上的重要发展方向之一。
本文论述的网络通信实时监测的实现,是用于特殊目的数据通信程序设计的突破口,是网络监控技术的'基础部分,其实现基于网络体系结构与WinDis32技术。
2.网络体系结构
现代计算机网络设计是按高度的结构化方式进行的,国际标准化组织(ISO)为更广泛的计算机互联制定了标准化的开放系统互联(OSI)网络体系结构,如图1所示。
OSI参考模型用结构描述方法,即分层描述的方法,将整个网络的通信功能划分为七个部分(也叫七个层次),每层各自完成一定的功能。由低层至高层分别称为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。两台网络主机之间进行通信时,发送方将数据从应用层向下传递到物理层,每一层协议模块为下一层进行数据封装,数据流经网络,到达接收方,接着再由下而上通过协议栈传递,并与接收方应用程序进行通信。
在通用网络中,数据链路层由网络适配器实现,本文中网络通信监测的立足点在于数据链路层,基于电缆是固有的广播性介质,通过对网络适配器的控制,实时截获与分析经过网络适配器的所有网上流动信息。
技术
WinDis32全称为Win32 NDIS(Network Driver Interface Specification)网络驱动接口规范,用于开发Windows产品,可在Windows 9X和Windows NT上直接访问NDIS媒体访问控制(MAC)驱动接口。图2显示了Windows网络驱动组件与Win32 NDIS结构组件:
图网络驱动组件与Win32 NDIS结构组件
WinDis32网络组件由四部分组成:NDIS适配器、PCANDIS5 NDIS协议驱动、W32N50 WinDis32 API DLL、WinDis32应用程序。WinDis32应用程序调用动态链接库提供的API应用程序接口,通过NDIS协议驱动模块,实现对NDIS适配器进行的存取操作。网络驱动接口规范NDIS的主要特征是所有适配器相关驱动均由NDIS接口打包,例如,最底层NDIS NIC驱动不能对网卡直接执行I/O,它通过NDIS打包服务来访问硬件;高层Windows NDIS网络组件使用NDIS打包界面与适配器相关驱动通信。只有NDIS协议驱动可以调用NDIS打包,访问NDIS适配器。
WinDis32应用程序接口函数包括:W32N_OpenAdapter(),打开一个已被命名NDIS适配驱动器,若操作成功,则生成一个面向适配器对象WinDis32适配器句柄,这一句柄被随后多个在该适配器上操作的W32N_XXX函数所用; W32N_CloseAdapter(),关闭已打开的适配器句柄;W32N_PacketRead(),数据帧读操作;W32N_PacketReadEx(),数据帧异步读操作;W32N_PacketSend(),发送数据帧操作;W32N_PacketSendEx()、W32N_MakeNdisRequest()等等。
WinDis32技术使得从Win32应用层进行NDIS请求如同在一个内核模式的驱动器内部进行请求一样简单,并支持多个网络适配器同时打开,完成各自的信息发送与接收。
4.网络信息监测的实现
网络信息监测程序分为信息截获与信息分析两大部分,其中信息截获程序流程如图3所示,采用多进程与多线程技术,完成数据的实时截获。
其中网络适配器列表通过读取系统注册表生成;网络适配器详细信息包括适配器型号、网络适配器物理地址、传输最大帧、传输速率以及机内标识符,通过函数W32N_MakeNdisRequest()获得。
协议过滤部分是包括PCAUSA端口的PCANDIS5协议驱动,BPF过滤器是由UNIX环境到Windows的模拟机制,为Win32应用程序提供了一种普通而又便利的机制,可过滤指定协议,由协议驱动执行,拒绝不想要的数据帧。支持协议包括:传输控制协议TCP、互连网协议IP、地址解析协议ARP、反向地址解析协议RARP、互连网控制报文协议ICMP、互连网组管理协议IGMP、Novell SPX/IPX协议IPX、用户数据报协议UDP、NetBEUI协议、AppleTalk协议。
信息分析部分利用已获知的媒体访问控制协议,提取出数据帧中的有效域值,如源主机物理地址、目的主机物理地址、帧长度等。并同时为每一被截获的数据包打上时标,注上序列号,为下一步数据重组提供可靠依据。
接收数据帧显示与信息统计结果范例如下:
包序列号:0000000032 时间:0005860470 msec 长度:54/54
Ethernet 目的: 源: 类型:0x0800
000000: 00 40 05 39 A2 B0 00 00 : B4 86 74 FA 08 00 45 00 .@.9......t...E.
000010: 00 28 26 03 40 00 20 06 : A3 25 64 64 64 7A 64 64 .(&.@. ..%dddzdd
000020: 64 65 04 06 00 8B 00 40 : BF 14 00 6C 24 B9 50 10 de.....@...l$.P.
000030: 22 38 12 EA 00 00 : "8..............
包序列号:0000000033 时间:0005860764 msec 长度:109/109
Ethernet 目的: 源: 类型:0x0800
000000: 00 40 05 39 A2 B0 00 00 : B4 86 74 FA 08 00 45 00 .@.9......t...E.
000010: 00 5F 27 03 40 00 20 06 : A1 EE 64 64 64 7A 64 64 ._'.@. ...dddzdd
000020: 64 65 04 06 00 8B 00 40 : BF 14 00 6C 24 B9 50 18 de.....@...l$.P.
000030: 22 38 DE C6 00 00 00 00 : 00 33 FF 53 4D 42 1A 00 "8.........
000040: 00 00 00 00 00 80 00 00 : 00 00 00 00 00 00 00 00 ................
000050: 00 00 03 08 25 2D 03 08 : 01 4C 08 01 08 00 80 10 ....%-...L......
000060: 00 00 10 00 00 00 00 00 : 00 00 00 00 00 ................
包序列号:0000000034 时间:0005860766 msec 长度:1514/1514
Ethernet 目的: 源: 类型0x0800
000000: 00 00 B4 86 74 FA 00 40 : 05 39 A2 B0 08 00 45 00 ....t..@.9....E.
000010: 05 DC 64 0B 40 00 80 06 : FF 68 64 64 64 65 64 64 ..d.@....hdddedd
000020: 64 7A 00 8B 04 06 00 6C : 24 B9 00 40 BF 4B 50 10 dz.....l$..@.KP.
000030: 20 B7 86 DA 00 00 00 00 : 10 00 7E 8B 77 DA D2 D0 .........~.w...
000040: D7 27 59 9A 8F 18 D3 77 : 15 D5 6C 86 0F 2C 62 3E...
停止数据帧接收应用统计:
已接收数据帧数目 :34
已发送数据帧数目 : 0
5.进一步研究与发展
本文所研究的网络信息监测属于计算机网络系统安全对策研究的一部分,属于网络信息监测的基础性研究。以此研究成果为基础,可进行进一步的软件开发,从而实现网络通信状况实时监测、情报获取、网上各站点地址分析、站点类型分析,为计算机网络的安全维护提供监测手段,因此,具有特别的意义。
参考文献:
32 文档
2.刘锦德等计算机网络大全电子工业出版社
Jamsa等INTERNET编程电子工业出版社
C++技术内幕清华大学出版社
5.廖湖声面向对象的Windows程序设计基础人民邮电出版社
6.张国峰C++语言及其程序设计教程电子工业出版社
7.汤子瀛等计算机操作系统西安电子科技大学出版社
8.刘彦明等实用网络编程技术西安电子科技大学出版社
9.何莉等计算机网络概论高等教育出版社
10.杜毅Unix系统组网技术电子工业出版社
魅力人生
计算机编程语言参考文献
在论文写作的过程中,参考文献是必不可少的一项,很多作者也会因为参考文献的问题而没有准确的论证自己的观点,这时候就要求作者自身在写作之前充分了解参考文献。以下是我精心整理的计算机编程语言参考文献,希望能够帮助到大家。
[1]Bjarne Stroustrup, THE C++ PROGRAMMING LANGUAGE, Higher Education Press Pearson Education,2002
[2][美]Walter Savitch著,周靖译,C++面向对象程序设计——基础、数据结构与编程思想,清华大学出版社,2004
[3][美]Brian Overland著,董梁等译,C++语言命令详解,电子工业出版社,2000
[4][美]AI Stevens著,林瑶等译,C++大学自学教程,电子工业出版社,2004
[5]刁成嘉主编,面向对象C++程序设计,机械工业出版社,2004
[6]刘瑞新主编,曹建春,沈淑娟,张连堂等编著,Visual C++面向对象程序设计程,机械工业出版社,2004
[7]陈文宇,张松梅编著,C++语言教程,电子科技大学出版社,2004
[8]主编,付兴宏主审,VC++程序设计,大连理工大学出版社,2002
[9]红,沈西挺主编,范贻明主审,Visual C++程序设计与软件技术基础,中国水利水电出版社,2002
[10]钱能主编,C++程序设计教程,清华大学出版社,1999
[11]艾德才主编,C++程序设计简明教程,中国水利水电出版社,2000
[12]于明等编著,Visual C++程序设计教程,海洋出版社,2001
[13]郑人杰主编,软件工程,清华大学出版,1999
[14]王育坚等编著,Visual C++程序基础教程,北京邮电大学出版社,2000
[15]李光明主编,Visual C++经典实例大制作,中国人事出版社,2001
[16]陈光明主编,实用Visual C++编程大全,西安电子科技大学出版社,2000
[17][美]Beck Zaratian著,Visual C++’s Guide,北京希望电脑公司,1998
[18][美]Jon Bates, Tim Tonpkins著,何健辉等译,实用Visual C++教程,清华大学出版社,2000
[19][美]Robert ,Alexander 著,钱丽萍译,C++数据结构与程序设计,清华大学出版社,2004
[20]Cliford A. Shaffer,A Practical Introduction to Data Structure and Algorithm Analysis,电子工业出版社,2002
[21]江明德编著,面向对象的程序设计,电子工业出版社,1993
[22]陈文宇编著,面向对象程序设计语言C++机械工业出版社,2004
[23]廉师友编著,C++面向对象程序设计简明教程,西安电子科技大学出版社,1998
[24]李师贤等编著,面向对象程序设计基础,高等教育出版社,1998
[25]谭浩强编著,C++程序设计,清华大学出版社,2004
[26][美]等编著,施平安译,C++程序设计教程——习题解答,清华大学出版社,2004
[27][美]Nell Dale, Chip Weems, Mark Headington等编著,C++程序设计(第二版,影印版),高等教育出版社,2001
[28]管宁编,C++基础知识.chm(电子版),中国软件开发实验室()
[29]C++ FAQ Lite(电子版)
[30]掌握标准C++的'类(电子版),化境编程界
[31]李宁主编,C++语言程序设计,中央广播电视大学出版社
[32][美]kayshav Dattatri编著,潇湘工作室译,C++面向对象高效编程,人民邮电
[1]张海藩.软件工程导论[M].北京:清华大学出版社,2003年12月
[2]张海藩.软件工程导论学习辅导[M].北京:清华大学出版社,2004年9月
[3]萨师煊,王珊.数据库系统概论[M].北京:清华大学出版社,2002年2月
[4]汪孝宜,刘中兵,徐佳晶等.JSP数据库开发实例精粹[M].西安:电子工业出版社,2005年1月
[3]侯太平等.Delphi数据库编程.北京:清华大学出版社,2004年4月
[4]求是科技.Delphi信息管理系统开发.北京:人民邮电出版社,2005年3月
[5]李光明等.Delphi7程序设计与上机指导.北京:冶金工业出版社,2003年
[6]塞奎春等.SQL Server数据库开发实例解析.机械工业出版社,2006年5月
[7]李明等.数据库原理及应用 四川:西南交通大学出版社.2007年7月
[8]李英明、滕连爽、马宝林等.基于B/S的计算机教学管理系统的设计与实现,重庆:信息技术出版社2005年9月
[9]陈磊,郭斌,李翔等.PowerBuilder 9数据库项目案例导航[M].清华大学出版社,
自动送药机器人的英文参考文献具体如下:1、药物自动包装机外文文献翻译。2、机器人外文文献。3、论药品包装机械概念设计外文文献。
免费查阅文献的刊物,你可以看看(计算机科学与应用)等等这些
一,毕业论文答辩的一般程序1.学员必须在论文答辩会举行之前半个月,将经过指导老师审定并签署过意见的毕业论文一式三份连同提纲,草稿等交给指导教师,并拟出需要提问的
考 文 献[1] 郑荣贵、黄平、谷会东,Delphi 6.0数据库开发与应用,中科多媒体 电子 出版社,2002 [2] 伍俊良,Delphi 6控件应用实例教
写一个专门的论点,详细论述,写一些见解和心得!