第7卷第2期2010年4月南京审计学院学报JournalofNanjingAuditUniversityVol.
7,No.
2Apr.
,2010Windows平台个人防火墙技术的研究孙卫1,荆霞1,王诚2,庄卫华2(1.
南京审计学院信息科学学院,江苏南京210029;2.
河海大学计算机及信息工程学院,江苏南京210098)摘要:针对目前Windows下个人防火墙软件在拦截网络数据封包上所存在的不足,提出了一种新的用户态和内核态混合的网络数据封包拦截方案.
该方案基于Winsock2服务提供者SPI和NDISHOOK,能克服单一的网络数据包拦截方案的缺点,在理论上可以截获所有通过Windows的网络封包,同时接口简单、思路明确并且容易实现软件的自动安装.
根据实验系统的测试表明,新的网络数据包拦截方案有很好的稳定性,系统具有良好的使用价值.
关键词:Windows平台;防火墙;包拦截;NDISHOOK;SPI中图分类号:TP393文献标识码:A文章编号:16728750(2010)02008409收稿日期:20091212作者简介:孙卫(1971—),女,江苏靖江人,南京审计学院信息科学学院讲师,主要研究方向为数据挖掘、数据库应用、网络安全;荆霞(1978—),女,江苏金坛人,南京审计学院信息科学学院讲师,主要研究方向为数据库应用、网络安全;王诚(1982—),男,江苏靖江人,河海大学计算机及信息工程学院硕士生,主要研究方向为数据挖掘、网络安全;庄卫华(1950—),女,江苏如皋人,河海大学计算机及信息工程学院副教授,硕士生导师,主要研究方向为数据挖掘、数据库应用、网络安全.
因特网的发展与应用使得PC给人们的生活带来了革命性的变化,随之而来的网络安全问题正威胁着每一个网络用户.
现在防火墙已成为网络中实施安全保护的核心,个人防火墙是目前最常用的网络安全防范工具.
当前国内有超过90%的电脑使用Windows系统,因此研究该平台下作为网络安全工具之一的个人防火墙技术也成为各公司实际工作者和高校学者研究的对象.
一、Windows网络数据包拦截方案比较网络数据包的拦截是防火墙的核心技术,它是整个防火墙系统高效工作的基础,为防火墙系统提供数据来源.
Windows提供了多种数据包的截获方法,从操作系统的不同层次来看,大体上可以分为两种方案:用户态的截包技术和核心态的截包技术.
用户态的截包技术实现起来相对容易,并且容易实现内容过滤;核心态的截包技术实现起来相对比较复杂,并且随着截包技术方案所处的层次不同,需要考虑的因素和实现的复杂性也因"层"而异.
目前Windows下个人防火墙软件常见的网络数据包的拦截技术有[12]:利用Winsock2服务提供者接口(SPI,ServiceProviderInterface)的拦截技术,内核态下基于IP过滤钩子(IPFilterHook)的拦截技术,内核态下基于传输驱动接口(TransferDriverInterface)的拦截技术,内核态下编写中间驱动(IntermediateDriver)的拦截技术.
(一)Winsock2服务提供者接口Winsock2服务提供者接口和Winsock2API接口几乎一一对应.
Winsock2是围绕着Windows开放系统架构(WOSA,WindowsOpenSystemArchitecture)来设计的,WOSA在Winsock和Winsock应用程序之间有一个标准API;在Winsock2和Winsock2服务提供者(比如TCP/IP)之间有一个标准的SPI.
Winsock2中使用的传输服务提供者有两类:基础服务提供者和分层服务提供者.
基础服务提供者执行网络—48—传输协议的具体细节,其中包括在网络上收发数据之类的核心网络协议功能.
分层服务提供者只负责高级的自定义通信功能,然后调用下层的基础服务提供者来传输真正的数据.
图1显示了Winsock2的基本组织结构[3].
图1Winsock2的基本结构通过图1可以看出,在基础服务提供者之上插入自己的分层服务提供者就可以截获网络数据包,从而可以执行传输质量控制、扩展TCP/IP协议栈、URL过滤及数据安全管理、带宽管理等任务.
Winsock2SPI工作在用户模式,其优点在于:编程实现比较容易,可以获取感兴趣的信息,并且包是完整的,处理方便.
其缺点在于:安全性不高,容易被绕过导致拦截失败,只能处理SOCKET类型的包,对ICMP、IGMP之类的IP层数据包的处理无能为力.
(二)IP过滤钩子IPTrafficFilterDriver是Windows2000开始给出的过滤驱动,Windows为该过滤驱动预留了过滤接口.
IP过滤钩子截包方式是通过编写内核模式的驱动,利用系统提供的IPTrafficFilterDriver过滤驱动接口,通过构造指定请求码的IRP包设置回调函数,从而实现包的截获.
IP过滤钩子的优点在于:它忽略了很多细节,实现起来比较容易,开发人员只要重点面向功能设计就可以了;可以截获大多数应用程序感兴趣的数据包类型(如IP包、TCP包、UDP包、ICMP包),基本可以满足需要.
其缺点在于:一个系统只允许安装一个过滤钩子,所以这种技术很难为商业软件产品所采用;采用这种方式对截获的数据包的访问有一定的限制,对接收到的数据包可以访问,对发送出去的数据包只能读取包头信息.
(三)传输驱动程序接口客户端(TransferDriverInterface)传输驱动程序接口(TDI)是核心态的驱动程序,用于实现网络API的核心态部分.
TDI客户端根据传输驱动程序接口标准,格式化I/O请求包(IRP),然后再将IRP发送给TDI的传送器(也称为NDIS协议驱动程序或者协议驱动程序),在请求完成后,TDI的传送器根据TDI客户端设置的完成例程或者事件执行TDI客户端指定的代码,从而完成应用层的API调用到核心层的实际网络传输的交互过程.
图2表示了三者在Windows平台下所处的层次关系和TDI客户端与TDI传送者的交互过程.
图2应用程序、TDI客户端和TDI传送者的关系通过上面的分析可以看出,利用WDM[4](WindowsDriverModel,Windows驱动模型)所支持的过滤驱动程序,只要创建一个自己的过滤驱动程序对象并附加到感兴趣的实际传送对象上就可以截获到数—58—据包了.
采用TDI客户端过滤驱动程序方式拦截数据包,实现起来较为复杂,需要开发人员对WDM和Windows的网络体系结构比较熟悉,而且由下层协议驱动接收并直接处理的数据包不会传送到上层,无法过滤某些接收的数据包,典型的就是ICMP协议的数据包.
但是,这种方法是目前大多数防火墙软件的截包方法之一,相对于中间驱动,它容易实现自动化安装,而且TDI层的网络数据包的拦截还可以得到进程的详细信息,这个也是更低层次的驱动所没有的.
(四)中间驱动(IntermediateDriver)中间驱动位于TDI传送者和小端口驱动之间.
编写NDIS中间驱动来拦截网络数据包是NDIS中比较常用的截包手段,这种方式可以自己处理截获的数据包,比如重新封包、加密、内容过滤、网络地址转换等.
中间驱动的优点在于:能够对流经网络设备(如以太网卡)的所有输入输出报文进行处理,因此能够获得更多的操作空间.
其缺点有:不能对拨号网络的报文进行处理,这是实际应用中比较严重的弊端;中间驱动的安装比较麻烦,无法实现程序的自动化安装.
二、基于SPI和NDISHOOK的截包技术要实现Windows平台个人防火墙的功能,关键是要在合适的地方拦截所有进出Windows的网络封包,并且根据用户规则对拦截的网络封包进行过滤.
由于目前Windows下个人防火墙软件在拦截网络数据封包上存在着上述诸多不足,因此本文提出一种新的基于用户态和内核态相结合的网络数据封包拦截方案,该方案采用在核心态使用NDISHOOK技术、在用户态插入服务提供者SPI,实现网络封包的双重过滤,实现高效和便捷的结合.
(一)基于Winsock2SPI网络数据包的拦截1.
Winsock2SPI运行原理Winsock是为上层应用程序提供的一种标准的网络接口,它为上层应用程序提供透明的服务,上层应用程序不用关心Winsock实现的具体细节.
Winsock2引入的一个新功能就是打破服务提供者的透明,让开发者可以自己编写自己的服务提供者接口程序,即SPI程序.
SPI以动态链接库(DLL)的形式存在,它工作在应用层,为上层API调用提供接口函数[5].
SPI过滤模块有点像一个系统范围的Winsock钩子(HOOK),SPIHOOK和一般的API函数HOOK概念不同,一般的API函数HOOK通常的做法是直接通过修改程序的导出表来实现,就像HOOKNDIS.
SYS中的函数那样.
但是SPIHOOK并不需要这么做,其原因是SPI的加载方式比较特殊.
SPI的信息保存在操作系统的注册表中,对于WindowsXP,这个位置在:HKLM\SYSTEM\CurrentControlSet\Service\Winsock2\Protocol_Catalog9\Catalog_Entries.
操作系统会根据这张表加载SPI模块,所以只要修改这张表让系统加载自己的SPI模块,然后再利用自己的模块加载系统的相应模块.
自己编写的SPI程序安装到系统之后,所有的Winsock请求都会先发送到这个程序,并由它完成网络调用.
由于系统提供的SPI己经可以完成网络传输功能,所以自己编写的SPI没有必要重新编写这部分功能,一般可以直接调用系统函数完成网络传输.
在自己的模块中完成过滤工作,实际的传输工作交给系统的相关模块完成.
显而易见,只要不向系统转发某个请求,这个通信就被阻止了.
图3表示了插入用户自己的SPI前后的结构.
2.
向Winsock2SPI插入基础服务提供者Winsock网络应用程序调用Win32APIWSAStartup初始化socket时,Windows将根据注册表找到传输服务提供者SPI的位置,然后加载该DLL.
系统对每种SPI的协议信息是以如下数据结构存储的:Typedefstruct_tagPACKEDCATALOGITEM{TCHARszLSPName[MAX_PATH];WSAPROTOCOL_INFOWprotocolInfo;—68—图3用户自己的SPI安装的前后结构}PACKEDCALOGITEM,PPACKEDCATALOGITEM;其中szLSPName表示服务提供者的完整路径或者环境变量表示的路径,比如%SystemRoot%\system32\msafd.
dll.
将这个值替换为用户自己开发的SPI,使得应用程序初始化网络应用时用户自己开发的SPI(以动态链接库的形式存在)被系统自动加载.
WSAPROTOCOL_INFOW结构的定义在MSDN中有说明,本文主要关心的是它的类型为WSAPROTOCOLCHAIN结构的ProtocolChain成员,WSAPROTOCOLCHAIN结构的定义如下:typedefstruct_WSAPROTOCOLCHAIN{intchainlen;DWORDchainEntries[MAX_PROTOCOL_CHAIN];}WSAPROTOCOLCHAIN,FARLPWSAPROTOCOLCHAIN;其中Chainlen的值为0表示分层服务提供者;为1表示基础服务提供者;大于1则是分层服务提供者在协议链中的顺序编号.
因此要向系统插入自己的基础服务提供者要进行下面的步骤:(1)读取系统注册表,枚举出系统所有的基础服务提供者,也就是chainlen值为1的键值;(2)备份系统的基础服务提供者到注册表的其他位置;(3)替换系统的基础服务提供者的文件名称为自己的基础服务提供者,也就是将自己的基础服务提供者名称写入szLSPName,然后写回注册表.
在经过这样的替换动作后,当Winsock应用程序请求网络功能时,Windows将从注册表中直接读取被替换后由用户自己开发的基础服务提供者.
(二)基于NDISHOOK网络数据包的拦截1.
NDIS框架网络驱动接口规范(NDIS,NetworkDriverInterfaceSpecification)最初是由3COM和Microsoft于1989年制定的Windows网络驱动程序的标准.
NDIS将网络硬件抽象为一套标准的接口,屏蔽了下层驱动对硬件的管理.
NDIS支持3种类型的驱动:小端口驱动(Miniportdrivers)、中间驱动(Intermediatedrivers)、协议驱动(Protocoldrivers)[6].
NDIS架构如图4:小端口驱动就是常说的网卡驱动,它负责网卡的管理,包括通过网卡发送和接收数据,同时为上层提供接口,小端口驱动一般由硬件开发商提供.
中间驱动位于小端口驱动和协议驱动之间,是具有链路层和网络层的驱动.
协议驱动位于NDIS体系的最高层,经常用作实现传输协议堆栈(如TCP/IP或IPX/SPX堆栈)的传输驱动的最底层驱动.
NDIS库不但定义了上下层驱动程序之间的通信接口,而且也替驱动程序管理了很多的内部工作,比如中断的响应、各种通知消息的派发、调用相关的入口函数等等.
2.
NDISHOOK从NDIS库函数入手拦截数据包的基本思想就是改写NDIS的收发函数,如NdisSend、ProtocolRe—78—图4NDIS架构ceive之类的函数,然而NDIS内部实现的收发并不是真正通过NdisSend之类的函数,NDIS库也没有导出一个叫NdisSend的函数.
事实上,通过观察协议驱动向NDIS注册时填写的结构NDIS_PROTOCOL_CHARACTERISTIC可以发现,这个结构中填写的各种函数的地址才是协议驱动、NDIS库以及小端口驱动三者交互的关键所在.
WindowsDDK2003中该结构的定义如下:(有删减)typedefstruct_NDIS_PROTOCOL_CHARACTERISTICS{…OPEN_ADAPTER_COMPLETE_HANDLEROpenAdapterCompleteHandler;RECEIVE_HANDLERReceiveHandler;RECEIVE_COMPLETE_HANDLERReceiveCompleteHandler;…};当从网卡接收数据包时,NDIS会通过结构中的ReceiveHandler或ReceivePacketHandler通知协议驱动程序有一个该协议的数据包进入,所以这里就是拦截接收包的地方.
但是这个结构中并没有发送包的派发函数入口.
通过分析NdisSend的宏定义,可以发现发送操作的入口函数实际在NDIS_OPEN_BLOCK这个结构中.
Windows2003DDK中NDIS_OPEN_BLOCK的定义如下:(有删减)typedefstruct_NDIS_OPEN_BLOCK{…PNDIS_PROTOCOL_BLOCKProtocoIHandle;∥pointertoourprotocolPNDIS_OPEN_BLOCKProtocolNextOpen;∥pointertonextblockSEND_HANDLERSendHandler;…};当协议驱动向底层小端口驱动发送数据时,NDIS会实际调用结构中的SendHandler来发送数据.
因此,NDISHOOK只要获取到这两个结构并改写其中的函数,使其指向自己定义的函数就可以了.
那么,如何获取这两个结构呢从协议驱动和下层适配器的通信流程我们可以了解到编写协议驱动的基本步骤如下:第一步,协议驱动调用NdisRegisterprotocol函数向NDIS注册本协议,注册成功后NDIS返回NDIS_PROTOCOL_BLOCK结构;第二步,当有适配器可用时,NDIS调用注册协议时提供的NDIS_PROTOCOL_CHARACTERISTIC结—88—构中的ProtocolBindAdapter函数将协议和适配器绑定.
在绑定适配器之前,协议驱动ProtocolBindAdapter函数会先调用NDIS库函数NdisOpenAdapter打开适配器,打开适配器成功则返回NDIS_OPEN_BLOCK结构;第三步,完成协议驱动的各个接口函数进行收发工作,直到协议驱动的注销,进行第四步;第四步,NDIS调用协议驱动调用提供的ProtocolUnbindAdapter取消绑定;第五步,协议驱动调用NdisDeregisterProtocol函数取消注册.
其中,Windows2003DDK对NDIS_PROTOCOL_BLOCK的定义如下:(有删减)typedefstruct_NDIS_PROTOCOL_BLOCK{PNDIS_OPEN_BLOCKOpenQueue;∥queueofopensforthisprotocol…NDIS_PROTOCOL_CHARACTERISTICSProtocolCharacteristics;∥handleraddressesStruct_NDIS_PROTOCOL_BLOCKNextProtocol;∥Linktonext…};从上面的各个结构可以看出,NDIS_PROTOCOL_BLOCK和NDIS_OPEN_BLOCK都是一个单向链表,前者指明了NDlS内部维护的各种协议,这些协议已经在当前系统中注册过,后者指明了该协议和适配器的绑定情况,最后形成如图5所示的结构.
TCP/IPIPX/SPX图5NDIS对协议的管理NDIS正是通过这张链表来维护整个网络数据的收发,当网卡有数据包到达时,NDIS获得中断通知,随后根据协议类型和适配器找到NDIS_PROTOCOL_BLOCK结构中注册的接收处理函数,使得协议驱动得到数据;当协议驱动发送数据时,NDIS调用NDIS_OPEN_BLOCK结构中注册的发送函数发送到下层小端口驱动或者中间驱动.
综上所述,通过函数NdisRegisterProtocol/NdisDeregisterProtocol和NdisOpenAdapter/NdisCloseAdapter就可以得到每个协议驱动的NDIS_PROTOCOL_BLOCK结构和NDIS_OPEN_BLOCK结构,然后改写结构中感兴趣的函数就可以达到拦截数据包的目的了.
下面给出了实现的伪码:Extern"C"NTSTATUSDriverEntry(INPDRIVER_OBJECTdrvObj,INPUNICODE_STRINGregPath){/先注册一个假协议获取首个NDIS_PROTOCOL_BLOCK/PNDIS_PROTOCOL_BLOCKprotocolBlock=NULL;NdisRegisterProtocol(&status,ProtocolBlock,…);/然后扫描协议链获得所有当前已经向系统注册的协议,并修改之/While(ProtocolBlock){—98—/修改NDIS_PROTOCOL_BLOCK表/HookProtocolBlock(protocolBlock);PNDIS_OPEN_BLOCKopenBlock=protocolBlock->OpenQueue;While(openBlock){/修改NDIS_OPEN_BLOCK表/HookOpenBlock(openBlock);openBlock=openBlock->ProtocolNextOpen;}protocolBlock=protocolBlock->NextProtocol;}/最后取消注册的协议/NdisDeregisterProtocol(&status,protocolBlock);}三、实验系统的设计与测试为了验证本文提出的方案是否可行,本文根据该方案设计了一个实验系统并对该系统进行了测试.
(一)系统总体设计系统的整体架构如下图:图6系统总体架构图从图6中可以看出,本系统主要有下面几个部分:1.
核心层中采用NDISHOOK技术的拦截模块(NDISHK.
SYS)和过滤模块(NDISFLT.
SYS)在内核层中,网络封包的拦截由拦截模块负责,然后交给过滤模块进行处理.
拦截模块(ndishk.
sys):通过HOOKNDIS函数的方法首先HOOK了几个关键的NDIS函数,这样,当有协议驱动向NDIS注册时就可以改写协议驱动的收发函数,达到拦截数据包的目的.
当拦截模块截获到网络封包时,如果当前系统没有加载过滤器,则调用自己的默认过滤器(实际上就是全部放行),否则拦截模块将调用过滤模块中的方法.
同时,拦截模块还和用户界面模块有一定的交互,通过用户界—09—面模块可以对应用层处理过的包作出相应的动作.
过滤模块(ndisflt.
sys):是一个普通的WDM驱动程序,它打开拦截模块设备对象,向拦截模块附加各种过滤方法.
过滤模块中采用过滤器堆栈的思想,以解决内核层过滤的扩展性问题.
这里把拦截模块和过滤模块分开,主要有以下几点考虑:(1)拦截模块本身是一个完整的模块,可以独立工作.
当系统中只存在拦截模块的时候,它不过滤任何数据包.
(2)由于采用HOOKNDIS技术的特点,使得拦截模块自身依赖于各种Windows平台的NDIS版本,这样也使得拦截模块自身不应该和其他模块有过多的耦合.
(3)过滤模块实际上是一系列过滤方法的集合,通过特定的接口,它可以适合于采用任何方法的拦截模块,以这种形式开发的各种接口可以灵活地适应多种需求.
2.
工作在应用层的拦截和过滤模块(LSP.
DLL)本模块以WinsockSPI的一个子模块存在,并以DLL形式存在,编程、调试方便.
从系统角度来看,LSP.
DLL和WinsockSPI处于同一个层次,主要负责拦截应用层的各种封包,支持进程级别的各种过滤,同时能很方便地扩充支持内容过滤,做成更为强大实用的系统.
与内核层的设计不同,应用层的拦截和过滤模块被糅合到了一起,主要是由于应用层对各种平台的支持性较好,不像内核层.
应用层的拦截模块不和内核层的拦截模块或者过滤模块有任何直接的关系,但是可以通过用户界面模块把经过它过滤的模块通知到内核模块.
3.
用户界面模块(NetCleaner.
EXE)用户界面模块是一个普通的Win32应用程序,也是整个系统的控制台.
通过它,可以将整个系统融为一体.
本模块负责与应用层拦截(过滤)模块交互、与内核层拦截模块交互,同时可以控制内核层过滤模块的加载、卸载、过滤器规则的更新等等操作.
(二)系统测试1.
功能测试测试测试环境为:机器配置是CeleronD2.
4GHz,768MDDR400,Realtek8139NIC,WindowsXPSP2,其他软件环境略.
通过交换机访问Internet,ICMP包使用同网段的其他主机PING本机.
测试用例和测试结果如表1所示.
表1系统性能测试结果测试项目测试结果测试用例说明工作模式(过滤/全部通过/全部不通过)正确测试用例:无基于进程的过滤可以添加新的过滤规则,且当存在某个规则时可以自动应用规则测试用例:1.
向规则文件添加新进程2.
应用已存在进程的规则基于IP的过滤正确测试用例:1.
针对某个IP的通信2.
针对某网段的通信ICMP包过滤正确测试用例:1.
对所有主机关闭本机pingecho2.
对某个主机关闭本机pingecho2.
性能测试测试目的:比对安装本防火墙前和安装加载一定数量规则的防火墙后的文件传输性能.
事实上,基于网络封包过滤的防火墙对所有的网络通信必然是有影响的(比如浏览网页、即时通信工具等等),由于这些动作的实际通信量很小,因此,这里的性能测试主要针对大数据量的网络I/O进行的.
测试用例:使用同一个基于Winsock的工具传输一定数量的数据,进行10次测试,观察其平均速度(对于过滤模式,在用户层内置30条进程过滤规则,内核层没有规则).
由于Internet环境的不稳定性,—19—传输在内网进行,测试主机的配置同前,内网交换机使用联想DLinkDES1024R10/100FastEthernetSwitch.
测试结果表明,本防火墙软件的安装对系统的文件传输性能影响很小,用户在使用过程中不会有网络性能受损的感觉.
测试结果如表2所示.
表2系统性能测试结果测试项目安装防火墙前安装后(全部通过)安装后(过滤模式)网络共享传输约9Mbps约9Mbps约9MbpsFTP传输5156Kbps5004Kbps4988Kbps系统的功能测试和性能测试结果均表明,设计基本达到要求.
四、结束语本文研究了目前Windows下个人防火墙网络数据包的拦截技术及其不足,并在此基础上提出了一种新的基于应用层和核心层的双重数据包过滤方案,该方案思路简单明确,在理论上可以截获所有通过Windows的网络封包,避免了单一网络数据包拦截方案的缺点;同时该方案在内核态使用HOOKNDIS的方法来拦截网络数据封包,避免了中间驱动的缺点,并且容易实现软件的自动安装.
根据提出的数据包拦截方案本文还设计了一个实验系统,经实验系统的测试表明,新的数据包拦截方案具有很好的有效性和稳定性,此方法是可行的、有效的.
参考文献:[1]刘鹏远.
Windows下个人防火墙实现技术路线分析[J].
计算机工程与设计,2008(21):6568.
[2]陈琪,屈光.
Windows单机版防火墙包过滤多种方案比较于实现[J].
计算机应用与软件,2005(5):114116.
[3]JonesA,OhlundJ.
Windows网络编程技术[M].
杨合庆,译.
北京:清华大学出版社,2005:102105.
[4]郭艳,苗克坚.
Windows2000下WDM驱动程序的研究与开发[J].
计算机工程,2006(22):101103.
[5]JeffreyJ.
Windows核心编程[M].
5版.
葛子昂,译.
北京:清华大学出版社,2008:563585.
[6]刘慧,蔡皖东,赵熠.
基于NDIS的防火墙穿透通信技术研究与实现[J].
微电子学与计算机,2007(5):3437.
(责任编辑:黄燕许成安)ResearchonthePersonalFirewallBasedonWindowsSUNWei1,JINXia1,WANGCheng2,ZHUANGWeihua2(1.
SchoolofInformation,NanjingAuditUniversity,Nanjing210029,China;2.
SchoolofComputerandInformationEngineering,HohaiUniversity,Nanjing210098,China)Abstract:AnewmethodbasedonWindowskernelmodeandusermodeisproposedsoastosolvetheproblemsofpacketcaptureinpersonalfirewallproducts.
ThemethodisbasedonWindowsSocket2SPIandNDISHOOK.
Itavoidsthedefectofsinglewaytocapturepacket.
Andtheoretically,itcancaptureallthepackets.
Experimentalresultsshowthatexperimentalsystembasedonthenewmethodofpacketcaptureiseffectiveandstable.
Keywords:Windowsplatform;firewall;packetcapture;NDISHOOK;SPI—29—
目前在标准互联这边有两台香港云服务器产品,这不看到有通知到期提醒才关注到。平时我还是很少去登录这个服务商的,这个服务商最近一年的促销信息比较少,这个和他们的运营策略有关系。已经从开始的倾向低价和个人用户云服务器市场,开始转型到中高端个人和企业用户的独立服务器。在这篇文章中,有看到标准互联有推出襄阳电信高防服务器100GB防御。有三款促销方案我们有需要可以看看。我们看看几款方案配置。型号内存硬盘IP...
老薛主机怎么样?老薛主机这个商家有存在有一些年头。如果没有记错的话,早年老薛主机是做虚拟主机业务的,还算不错在异常激烈的市场中生存到现在,应该算是在众多商家中早期积累到一定的用户群的,主打小众个人网站业务所以能持续到现在。这不,站长看到商家有在进行夏季促销,比如我们很多网友可能有需要的香港vps主机季度及以上可以半价优惠,如果有在选择不同主机商的香港机房的可以看看老薛主机商家的香港vps。点击进入...
虎跃科技怎么样?虎跃科技(虎跃云)是一家成立于2017年的国内专业服务商,专业主营云服务器和独立服务器(物理机)高防机房有着高端华为T级清洗能力,目前产品地区有:山东,江苏,浙江等多地区云服务器和独立服务器,今天虎跃云给大家带来了优惠活动,为了更好的促销,枣庄高防BGP服务器最高配置16核32G仅需550元/月,有需要的小伙伴可以来看看哦!产品可以支持24H无条件退款(活动产品退款请以活动规则为准...
windows防火墙作用为你推荐
小度商城小度智能屏Air哪里可以买?大家都怎么入手的?www.hao360.cn主页设置为http://hao.360.cn/,但打开360浏览器先显示www.yes125.com后转换为www.2345.com,搜索注册表和75ff.com开机出现www.ami.com是什么?怎么解决啊比肩工场命比肩多 是什么意思啊?曲妙玲张婉悠香艳版《白蛇传》是电影还是写真集?月神谭适合12岁男孩的网名,要非主流的,帮吗找找,谢啦长尾关键词挖掘工具外贸长尾关键词挖掘工具哪个好用www.javmoo.comJAV编程怎么做?广告法新修订的《广告法》有哪些内容www.493333.comwww.xiaonei.com
国外vps租用 最新代理服务器ip 工信部域名备案 免备案cdn 轻博客 directadmin 服务器日志分析 阿里云代金券 合肥鹏博士 100m免费空间 web服务器架设 129邮箱 免费活动 空间技术网 国外ip加速器 中国电信宽带测速器 如何建立邮箱 服务器维护 lamp兄弟连 酸酸乳 更多