>摘要】 的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 目的:00.40.05.39.A2.B0 源:00.00.B4.86.74.FA 范例: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 目的:00.40.05.39.A2.B0 源:00.00.B4.86.74.FA 范例: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.......3.SMB..
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 目的:00.00.B4.86.74.FA 源:00.40.05.39.A2.B0 范例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.进一步研究与成长
监测手法,是以,具有不凡的意义。
参考文献
1.PCAUSAWinDis 32 V5.0文档1998.3
2.刘锦德等策画机收集年夜全电子产业出书社1997.7
3.Kris Jamsa等INTERNET编程电子产业出书社1996.5
4.David J.KruglinskiVisual C++手艺内幕清华年夜学出书社1996.5
5.廖湖声面向器械的Windows法式贪图根柢根底人平易近邮电出书社1996.2
6.张国峰C++措辞及其法式贪图教程电子产业出书社1992.12
7.汤子瀛等策画机垄断系统西安电子科技年夜学出书社1998.4
8.刘彦明等适用收集编程手艺西安电子科技年夜学出书社1998.4
9.何莉等策画机收集概论高档教育出书社1995.4
10.杜毅Unix系统组网手艺电子产业出书社1998.3