• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于NDIS過濾驅(qū)動(dòng)防火墻的設(shè)計(jì)和實(shí)現(xiàn)

    2017-01-17 19:41:58王亞偉
    軟件工程 2016年11期
    關(guān)鍵詞:防火墻

    摘 要:Windows作為時(shí)下最流行的個(gè)人操作系統(tǒng),研究Windows環(huán)境下的防火墻有一定的現(xiàn)實(shí)意義。主機(jī)防火墻的數(shù)據(jù)包過濾算法是線性查找,其性能會(huì)隨著過濾規(guī)則的增加而變得越來越差,為了提高防火墻的運(yùn)行速度,對(duì)非法數(shù)據(jù)包的攔截能力,提出一種基于HASH雙鏈表的過濾算法,并且通過分析、比較Windows環(huán)境下網(wǎng)絡(luò)數(shù)據(jù)包的攔截技術(shù),開發(fā)了一款基于NDIS6.0過濾驅(qū)防火墻軟件,經(jīng)過測試,它對(duì)非法數(shù)據(jù)包具有強(qiáng)大的攔截能力。

    關(guān)鍵詞:NDIS過濾驅(qū)動(dòng);防火墻;包過濾;HASH雙鏈表;Duilib

    中圖分類號(hào): TP391.9 文獻(xiàn)標(biāo)識(shí)碼:A

    1 引言(Introduction)

    防火墻在網(wǎng)絡(luò)安全防護(hù)中具有重要作用,從應(yīng)用的角度來看,防火墻可以分為企業(yè)級(jí)防火墻和個(gè)人防火墻[1]。前者主要是部署在內(nèi)外部網(wǎng)絡(luò)的邊界,對(duì)內(nèi)外部網(wǎng)絡(luò)實(shí)施隔離,從而保護(hù)內(nèi)部網(wǎng)絡(luò)的安全,而后者則通過軟件的方式來實(shí)現(xiàn),防火墻包過濾按順序執(zhí)行從第一條規(guī)則開始,直到找到一個(gè)匹配的規(guī)則。如果沒有找到匹配的規(guī)則,則數(shù)據(jù)包被默認(rèn)規(guī)則處理,叫做規(guī)則庫的線性搜索算法。因此,過濾過程的計(jì)算復(fù)雜度大大取決于每個(gè)過濾規(guī)則的長度(規(guī)則數(shù)量字段),以及找到一個(gè)匹配的深度過濾規(guī)則的安全政策(過濾規(guī)則的數(shù)量)[2]。為了提高防火墻的運(yùn)行速度,將防火墻的過濾規(guī)則組織成HASH雙鏈表,實(shí)驗(yàn)表明在防火墻規(guī)則足夠多時(shí)候,HASH雙鏈表極大的提高了運(yùn)行速度。

    本文深入研究基于NDIS過濾驅(qū)動(dòng)的數(shù)據(jù)包攔截方法和Windows內(nèi)核態(tài)驅(qū)動(dòng)程序與用戶態(tài)應(yīng)用程序間的通信機(jī)制,設(shè)計(jì)并實(shí)現(xiàn)了一種基于Windows內(nèi)核態(tài)的個(gè)人防火墻系統(tǒng)。

    2 系統(tǒng)的設(shè)計(jì)目標(biāo)(System design object)

    本防火墻對(duì)所有的網(wǎng)絡(luò)報(bào)文進(jìn)行監(jiān)控,從而對(duì)非法報(bào)文進(jìn)行攔截,隔斷非法入侵。為了保護(hù)系統(tǒng)安全目的,本防火墻主要完成以下功能。

    (1)驅(qū)動(dòng)程序

    可以根據(jù)需要設(shè)置過濾規(guī)則,規(guī)則設(shè)置是防火墻的核心功能之一,基于五元組[3]的數(shù)據(jù)包過濾規(guī)則可以管理應(yīng)用聯(lián)網(wǎng)進(jìn)程的黑白名單、端口過濾、IP過濾、異常端口連接等。用戶可以通過設(shè)置規(guī)則來自由的對(duì)數(shù)據(jù)進(jìn)行過濾。降低計(jì)算機(jī)被入侵的風(fēng)險(xiǎn)對(duì)所有的網(wǎng)絡(luò)數(shù)據(jù)包拆包分析,根據(jù)過濾規(guī)則匹配,從而決定包過濾或放行。對(duì)網(wǎng)絡(luò)報(bào)文的統(tǒng)計(jì),實(shí)時(shí)統(tǒng)計(jì)所有數(shù)據(jù)包,對(duì)錯(cuò)誤的數(shù)據(jù)報(bào)文記錄日志。日志文件是用于記錄防火墻操作事件的記錄文件或文件集合,為網(wǎng)絡(luò)維護(hù)者判斷故障提供依據(jù)。

    (2)主程序

    防火墻的過濾規(guī)則的管理需要一個(gè)友好的界面供用戶操作,比如添加刪除規(guī)則和啟動(dòng)關(guān)閉防火墻等。

    (3)規(guī)則管理

    規(guī)則設(shè)置是個(gè)人防火墻的核心功能之一,通過規(guī)則設(shè)置可以管理應(yīng)用聯(lián)網(wǎng)進(jìn)程的黑白名單、端口過濾、域名過濾、IP過濾、異常端口連接等。用戶可以通過設(shè)置規(guī)則來自由的對(duì)數(shù)據(jù)進(jìn)行過濾。降低計(jì)算機(jī)被入侵的風(fēng)險(xiǎn)?;谖逶M的數(shù)據(jù)包過濾。

    3 關(guān)鍵技術(shù)(Key technology)

    3.1 驅(qū)動(dòng)程序的設(shè)計(jì)

    NDIS5.0和之前的版本已經(jīng)被官方抑制,換句話說就是Windows Vista和之后的系統(tǒng)不在支持NDIS5.0,NDIS6.0支持Windows Vista和之后的系統(tǒng)。NDIS6.0內(nèi)核網(wǎng)絡(luò)驅(qū)動(dòng)程序可分為微端口驅(qū)動(dòng)程序、協(xié)議驅(qū)動(dòng)程序、過濾驅(qū)動(dòng)程序、中間驅(qū)動(dòng)程序。其中過濾驅(qū)動(dòng)程序是NDIS6.0新引入的驅(qū)動(dòng)程序模型。過濾驅(qū)動(dòng)程序提供微端口驅(qū)動(dòng)程序過濾服務(wù),它可以實(shí)現(xiàn)數(shù)據(jù)過濾應(yīng)用程序安全或其他目的,監(jiān)控和收集網(wǎng)絡(luò)數(shù)據(jù)統(tǒng)計(jì)信息的應(yīng)用程序。過濾驅(qū)動(dòng)可以監(jiān)視和修改協(xié)議驅(qū)動(dòng)程序和微端口的驅(qū)動(dòng)程序之間的交互,過濾驅(qū)動(dòng)程序更容易實(shí)現(xiàn),處理開銷低于NDIS中間驅(qū)動(dòng)程序。本防火墻驅(qū)動(dòng)程序部分就是在該框架的基礎(chǔ)上實(shí)現(xiàn)的。

    在NDIS 6.0和以后的版本,NET_BUFFER是網(wǎng)絡(luò)數(shù)據(jù)的基本單元。每個(gè)NET_BUFFER結(jié)構(gòu)有一個(gè)MDL鏈表,一個(gè)MDL鏈表組成一個(gè)完整的數(shù)據(jù)包。多個(gè)NET_BUFFER結(jié)構(gòu)可以被附加到一個(gè)NET_BUFFER_LIST結(jié)構(gòu),NET_BUFFER結(jié)構(gòu)組織是一個(gè)以null結(jié)尾單鏈表。下面給出微軟對(duì)這三個(gè)數(shù)據(jù)結(jié)構(gòu)的定義:

    typedef struct _NET_BUFFER {

    NET_BUFFER_HEADER NetBufferHeader;

    USHORT ChecksumBias;

    USHORT Reserved;

    NDIS_HANDLE NdisPoolHandle;

    ...

    } NET_BUFFER,*PNET_BUFFER;

    typedef union _NET_BUFFER_HEADER {

    NET_BUFFER_DATA NetBufferData;

    SLIST_HEADER Link;

    } NET_BUFFER_HEADER,*PNET_BUFFER_HEADER;

    typedef struct _NET_BUFFER_DATA {

    PNET_BUFFER Next;

    PMDL CurrentMdl;

    ULONG CurrentMdlOffset;

    NET_BUFFER_DATA_LENGTH NbDataLength;

    PMDL MdlChain;

    ULONG DataOffset;

    } NET_BUFFER_DATA,*PNET_BUFFER_DATA;

    typedef struct _NET_BUFFER_LIST {

    NET_BUFFER_LIST_HEADER NetBufferListHeader;

    PNET_BUFFER_LIST_CONTEXT Context;

    PNET_BUFFER_LIST ParentNetBufferList;

    NDIS_HANDLE NdisPoolHandle;

    ...

    } NET_BUFFER_LIST,*PNET_BUFFER_LIST;

    typedef union _NET_BUFFER_LIST_HEADER {

    NET_BUFFER_LIST_DATA NetBufferListData;

    SLIST_HEADER Link;

    } NET_BUFFER_LIST_HEADER,*PNET_BUFFER_LIST_HEADER;

    typedef struct _NET_BUFFER_LIST_DATA {

    PNET_BUFFER_LIST Next;

    PNET_BUFFER FirstNetBuffer;

    } NET_BUFFER_LIST_DATA,*PNET_BUFFER_LIST_DATA;

    MDL(內(nèi)存描述符列表)是一個(gè)系統(tǒng)定義的結(jié)構(gòu),通過一系列物理地址描述緩沖區(qū)。執(zhí)行直接I/O的驅(qū)動(dòng)程序從I/O管理器接收一個(gè)MDL的指針,并通過MDL讀寫數(shù)據(jù)。

    NET_BUFFER_DATA結(jié)構(gòu)包含MDL用于管理數(shù)據(jù)緩沖區(qū)的信息附加到NET_BUFFER結(jié)構(gòu),并確定下一個(gè)NET_BUFFER結(jié)構(gòu)NET_BUFFER列表結(jié)構(gòu)。而每個(gè)NET_BUFFER結(jié)構(gòu)均包含一個(gè)MDL鏈表,MDL是存放網(wǎng)絡(luò)數(shù)據(jù)的倉庫。NET_BUFFER鏈表附加在NET_BUFFER_LIST結(jié)構(gòu)中。附加在同一個(gè)NET_BUFFER_LIST上的數(shù)據(jù)擁有相同的以太網(wǎng)類型,IP協(xié)議,源MAC地址和目標(biāo)MAC地址。MDL(內(nèi)存描述鏈表)、NET_BUFFER、NET_BUFFER_LIST_CONTEXT和NET_BUFFER_LIST之間的關(guān)系如圖1所示。

    NDIS過濾驅(qū)動(dòng)程序框架的數(shù)據(jù)包發(fā)送和接收回調(diào)函數(shù)分別是FilterReceiveNetBufferLists、FilterSendNetBufferLists、防火墻的過濾規(guī)則在這兩個(gè)回調(diào)函數(shù)逐一匹配,更加過濾規(guī)則的行為拒絕,發(fā)送或者接收。對(duì)發(fā)送回調(diào)函數(shù)介紹如下:

    VOID FilterSendNetBufferLists(

    NDIS_HANDLE FilterModuleContext,

    PNET_BUFFER_LIST NetBufferLists,

    NDIS_PORT_NUMBER PortNumber,

    ULONG SendFlags )

    { ...

    QUEUE_HEADER NormalHead,DropHead;

    SendHandler(pFilter,NetBufferLists,&NormalHead,&

    DropHead);

    if (!IsQueueEmpty(&NormalHead)) {

    NdisFSendNetBufferLists(pFilter->

    FilterHandle,ENTRY_TO_NET_BUFFER_LIST(NormalHead.Head),PortNumber,SendFlags);

    }

    if (!IsQueueEmpty(&DropHead)) {

    NdisFSendNetBufferListsComplete(pFilter->

    FilterHandle,ENTRY_TO_NET_BUFFER_LIST(DropHead.Head),DispatchLevel

    NDIS_SEND_COMPLETE_FLAGS_DISPATCH_LEVEL:0);

    }

    }

    對(duì)將要發(fā)送的數(shù)據(jù)包交由SendHanler回調(diào)函數(shù)處理,返回NormalHead鏈表和DropHead鏈表,對(duì)NormalHead鏈表的數(shù)據(jù)包全部正常發(fā)送,對(duì)DropHead鏈表里的所有數(shù)據(jù)包做丟包處理。

    ULONG SendHandler(

    __in PMS_FILTER pFilter,

    __in PNET_BUFFER_LIST pSrcNbls,//將原來的鏈表分開

    __out PQUEUE_HEADER pNormalHead,//需要接受的Nbl

    __out PQUEUE_HEADER pDropHead//需要丟棄的數(shù)據(jù)鏈表

    ) {...

    PKTACTION pktAction;

    PNET_BUFFER pNetBuffer=NULL;

    while (pSrcNbls) {

    pNextNbl=NET_BUFFER_LIST_NEXT_NBL(pSrcNbls);

    NET_BUFFER_LIST_NEXT_NBL(pSrcNbls)=NULL;

    pNetBuffer=NET_BUFFER_LIST_FIRST_NB(pSrcNbls);

    uLength=NET_BUFFER_DATA_LENGTH(pNetBuffer);

    pBuf=MyReadNetBufferData(pFilter->

    FilterHandle,pNetBuffer);

    if (pBuf==NULL) {

    pNumsOfNormalNbl++;

    InsertTailQueue(pNormalHead,pSrcNbls);

    goto DoNextNBL;//直接跳到下一步

    }

    pktAction=DoSendPacket(pBuf,uLength);//數(shù)據(jù)包的過濾函數(shù)

    if (pktAction==PKT_DROP) {//收到bad包直接插入丟包NBL跳到下一步循環(huán)

    FILTER_FREE_MEM(pBuf);

    InsertTailQueue(pDropHead,pSrcNbls);//插入丟包NBL

    goto DoNextNBL;//直接跳到下一步

    }

    FILTER_FREE_MEM(pBuf);

    pNumsOfNormalNbl++;

    InsertTailQueue(pNormalHead,pSrcNbls);

    DoNextNBL:

    pSrcNbls=pNextNbl;

    }

    return pNumsOfNormalNbl;

    }

    SendHandler回調(diào)函數(shù)對(duì)將要發(fā)送的數(shù)據(jù)鏈表拆包對(duì)于每個(gè)數(shù)據(jù)包的內(nèi)容交付給DoSendPacket回調(diào)函數(shù)。DoSendPacket(數(shù)據(jù)包、數(shù)據(jù)包的長度),函數(shù)定義如下:

    PKTACTION DoSendPacket(PUCHAR pData,ULONG uLength) {

    ...

    if (錯(cuò)誤的報(bào)文)

    return PKT_DROP;

    PLIST_ENTRY pRuleHead;

    PLIST_ENTRY pRuleEntry;

    BOOLEAN bFound=FALSE;

    PIPFILTER p=NULL;

    int id=FilterHashValue(pIP->srcIp,pIP->

    dstIp);//查找hash鏈表

    FILTER_ACQUIRE_LOCK(&g_IPFilterManage.Locks[id],F(xiàn)ALSE);

    pRuleHead=&g_IPFilterManage.Lists[id];

    for (pRuleEntry=pRuleHead->Flink; pRuleEntry!=pRuleHead; pRuleEntry=pRuleEntry->

    Flink) {

    p=CONTAINING_RECORD(pRuleEntry,IPFILTER,ListEntry);

    if (p->srcIp==pIP->srcIp&&p->

    dstIp==pIP->dstIp&&p->srcPort==sPort&&p->

    dstPort==dPort) {

    bFound=TRUE;

    break;

    }

    }

    FILTER_RELEASE_LOCK(&g_IPFilterManage.Locks[id],F(xiàn)ALSE);

    if (bFound) return p->action;

    return PKT_SEND;

    }

    DoSendPacket函數(shù)是防火墻發(fā)送數(shù)據(jù)包匹配防火墻的關(guān)鍵,通過查找hash(拉鏈法)雙鏈表,如果找到相應(yīng)的規(guī)則就按照規(guī)則定義的行為返回,否則直接發(fā)送數(shù)據(jù)包不做處理。

    3.2 應(yīng)用程序的設(shè)計(jì)

    應(yīng)用程序是防火墻的GUI部分,負(fù)責(zé)向用戶報(bào)告結(jié)果和提示操作的界面。應(yīng)用程序?qū)?shù)據(jù)包監(jiān)控分析及過濾規(guī)則的設(shè)置,用戶通過防火墻安全規(guī)則的設(shè)定,向數(shù)據(jù)包攔截模塊傳遞規(guī)則?;贛FC和WTL框架的程序界面的不夠友好,如果想做出漂亮的個(gè)性化界面,需要重新繪制各種控件比如按鈕、滾動(dòng)條、編輯框、列表、下來菜單、容器等。而duilib是一款基于win32開源的界面庫,已經(jīng)繪制好各種常用的控件,編寫漂亮的界面只需對(duì)xml進(jìn)行編輯即可,這點(diǎn)跟html原理有點(diǎn)像,duilib遵循BSD協(xié)議,可以免費(fèi)用于商業(yè)項(xiàng)目。

    現(xiàn)在大多數(shù)有關(guān)界面的產(chǎn)品,都是基于DirectUI的設(shè)計(jì)思想,界面和邏輯分離?;谝陨显颍瑳Q定使用Windows比較流行的duilib庫進(jìn)行應(yīng)用程序的開發(fā),其實(shí)也有其他的一些庫,但是比較而言duilib更具優(yōu)勢。duilib是一款強(qiáng)大的界面開發(fā)工具,可以將用戶界面和處理邏輯徹底分離,提高開發(fā)效率[4]。

    3.3 應(yīng)用程序和驅(qū)動(dòng)程序的通信

    個(gè)人防火墻不僅要實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)數(shù)據(jù)包的截獲,還要在分析數(shù)據(jù)包后,根據(jù)安全規(guī)則對(duì)數(shù)據(jù)包進(jìn)行處理,并且將這些事件記入日志。由于安全規(guī)則設(shè)置和日志的記錄一般是由一個(gè)具有人機(jī)界面的應(yīng)用程序來完成,因此,要實(shí)現(xiàn)個(gè)人防火墻還必須實(shí)現(xiàn)設(shè)備驅(qū)動(dòng)程序和應(yīng)用程序的信息交互[5]。設(shè)備驅(qū)動(dòng)程序和應(yīng)用程序之間的通信包括應(yīng)用程序傳送數(shù)據(jù)給設(shè)備驅(qū)動(dòng)程序和設(shè)備驅(qū)動(dòng)程序給應(yīng)用程序發(fā)送消息兩個(gè)方面。前者實(shí)現(xiàn)較為容易,后者實(shí)現(xiàn)遠(yuǎn)比前者復(fù)雜。驅(qū)動(dòng)程序和應(yīng)用程序之間通過共享內(nèi)存的方式實(shí)現(xiàn)通信,兩者間的內(nèi)存共享有兩種實(shí)現(xiàn)方法,一種是通過共享內(nèi)存對(duì)象方法來實(shí)現(xiàn),另一種是通過設(shè)備輸入和輸出控制(IOCTL)方法來實(shí)現(xiàn)[6]。

    內(nèi)存映射方法:首先由在驅(qū)動(dòng)程序級(jí)分配緩沖區(qū),再將這個(gè)緩沖區(qū)映射到特定的用戶程序的地址空間,并將映射地址返回給用戶程序,供內(nèi)核線程與用戶線程共享緩沖區(qū)。這種方式是內(nèi)核來分配內(nèi)存空間,但是使用MmAllocatePagesForMDL從主內(nèi)存池中分配,返回得到一個(gè)MDL,對(duì)于驅(qū)動(dòng)如何使用該共享內(nèi)存,采用MmGetSystemAddressForMdlSafe得到其內(nèi)核地址。對(duì)于應(yīng)用層使用該共享內(nèi)存,采用MmMapLockedPagesSpecifyCache映射到應(yīng)用層進(jìn)程地址空間中,返回用戶層地址空間的起始地址,將其放在IOCTL中返回給用戶應(yīng)用程序。設(shè)定AccessMode參數(shù)為UserMode。對(duì)MmMapLockedPagesSpecifyCache函數(shù)調(diào)用返回值是MDL描述內(nèi)存頁映射的用戶虛擬地址空間地址。驅(qū)動(dòng)可以將其放在對(duì)應(yīng)IOCTL的緩存中給用戶應(yīng)用程。在不需要時(shí)將分配的內(nèi)存清除掉。你需要調(diào)用MmFreePageFromMdl來釋放內(nèi)存頁。并且調(diào)用IoFreeMdl來釋放由MmAllocatePageForMdl(Ex)創(chuàng)建的MDL[7]。

    設(shè)備輸入和輸出控制(IOCTL)方法:在內(nèi)核線程和用戶線程之間共享緩沖區(qū)最簡單的方法是使用DeviceIoControl函數(shù)。用戶程序發(fā)送一個(gè)IO控制碼(IOCTL)給驅(qū)動(dòng)程序,同時(shí)還傳遞一個(gè)指向要共享的緩沖區(qū)的指針,內(nèi)核程序與用戶程序根據(jù)該指針實(shí)現(xiàn)對(duì)緩沖區(qū)的訪問。操作過程是首先由用戶線程分配要共享的緩沖區(qū)。再調(diào)用DeviceIoControl,將被共享的緩沖區(qū)的地址和長度放在參數(shù)OutBuffer中,同時(shí)設(shè)置共享模式,驅(qū)動(dòng)程序?qū)⒏鶕?jù)共享模式來決定如何訪問緩沖區(qū)。共享模式包括緩沖IO方式與直接IO方式兩種緩沖IO方式[8]。

    4 驅(qū)動(dòng)的安裝和調(diào)試(The installation and commissioning of driver)

    目標(biāo)平臺(tái):Win7、Win8、Win10。

    開發(fā)環(huán)境:Visual Studio 2015 Common和Windows WDK10.0.26639、Windows SDK10.0.26639。

    調(diào)試環(huán)境:VM 虛擬機(jī)。

    NDIS驅(qū)動(dòng)程序使用VS2015編譯完畢,在Release目錄生成的文件firewallex.inf、firewallex.sys、firewallex.cer。

    .inf是驅(qū)動(dòng)程序的安裝信息,.sys就是我們驅(qū)動(dòng)程序,.cer是證書文件,驅(qū)動(dòng)程序的安裝證書是必需的。

    安裝的話提供了兩種方法:第一種利用Windows自身的工具,右鍵本地連接選擇屬性,點(diǎn)擊安裝按鈕,在彈出的對(duì)話框選擇服務(wù),然后在瀏覽文件對(duì)話框選擇我們的驅(qū)動(dòng)程序firewallex.sys,按照提示下一步安裝即可。如圖2所示firewallex NDIS LightWeight Filter已經(jīng)安裝成功。

    第二種安裝方法,編譯安裝程序installdrv.exe,安裝命令installdrv.exe-i firewallex,卸載命令installdrv.exe-u firewallex。第一種方法太過繁瑣,根據(jù)微軟提供的開發(fā)接口,將驅(qū)動(dòng)程序用NSIS打包制作安裝包,安裝完成驅(qū)動(dòng)自動(dòng)安裝上。這種方法對(duì)用戶來說簡便多了。

    驅(qū)動(dòng)調(diào)試:驅(qū)動(dòng)調(diào)試工具比較多,筆者采用的是DebugView工具進(jìn)行調(diào)試,內(nèi)核驅(qū)動(dòng)程序代碼的編寫需注意規(guī)范和嚴(yán)格控制內(nèi)存的申請(qǐng)與回收,否則極易藍(lán)屏。

    5 結(jié)論(Conclusion)

    本文針對(duì)目前日益嚴(yán)重的網(wǎng)絡(luò)安全問題,提出并實(shí)現(xiàn)了基于NDIS過濾驅(qū)動(dòng)技術(shù)的個(gè)人防火墻技術(shù)。在分析了個(gè)人防火墻的主要功能模塊后,重點(diǎn)討論了實(shí)現(xiàn)這些功能模塊的主要技術(shù):網(wǎng)絡(luò)數(shù)據(jù)包攔截技術(shù)以及設(shè)備驅(qū)動(dòng)程序和應(yīng)用程序的通信技術(shù)等。目前,這些技術(shù)已經(jīng)在項(xiàng)目中實(shí)現(xiàn)并使用正常。高級(jí)Windows防火墻大多使用NDIS驅(qū)動(dòng)技術(shù)實(shí)現(xiàn),但是要實(shí)現(xiàn)有實(shí)用價(jià)值的防火墻并非易事,做NDIS驅(qū)動(dòng)程序開發(fā)時(shí),如果不注意代碼的規(guī)范書寫,越界保護(hù),共享數(shù)據(jù)加鎖等機(jī)制,一旦啟用防火墻系統(tǒng)極易藍(lán)屏,嚴(yán)重的可能會(huì)導(dǎo)致重裝系統(tǒng),并且NDIS驅(qū)動(dòng)代碼的入門和理解并非易事,很多時(shí)候需要利用微軟提供的函數(shù),因此熟悉NDIS的SDK也是一個(gè)過程。本文闡述用NDIS6.0 filter框架來實(shí)現(xiàn)數(shù)據(jù)包截獲的方法,并且提供具體的防火墻代碼和驅(qū)動(dòng)調(diào)試以及安裝等信息,為從事NDIS6.0過濾驅(qū)動(dòng)技術(shù)人員提供了參考。

    參考文獻(xiàn)(References)

    [1] Ma,Ning.Research of Personal Firewall Technology Based on Windows[J].Computer Science and Network Technology,2013:655-658.

    [2] Trabelsi,et al.Statistical Dynamic Splay Tree Filters Towards Multilevel Firewall Packet Filtering Enhancement[J].Computers and Security,2015,53:109-131.

    [3] Ding.L,et al.Research on Linkage Collaboration of Snort and WFP Based on Windows 7[J].Electronic Engineering and Information Science,2015,53:109-131.

    [4] 付立友,邢繼生.基于WinCE機(jī)器人示教器用戶界面設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2016,29(3):27-30.

    [5] 何映,覃以威,李丹.基于Windows內(nèi)核態(tài)個(gè)人防火墻的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2012,35(6):49-56.

    [6] 王蘭英,居錦武.Windows內(nèi)核線程與用戶線程共享緩沖區(qū)的實(shí)現(xiàn)[J].內(nèi)江師范學(xué)院學(xué)報(bào).2008,23(2):31-33.

    [7] 梁煜.基于Windows的防火墻設(shè)計(jì)與實(shí)現(xiàn)[J].電腦開發(fā)與應(yīng)用,2015,25(1):35-37.

    [8] 范莉萍.基于NDIS技術(shù)的個(gè)人防火墻設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2008,25(8):259-260.

    作者簡介:

    王亞偉(1989-),男,碩士生.研究領(lǐng)域:軟件開發(fā).

    猜你喜歡
    防火墻
    筑牢防火墻 系緊安全帶
    全民總動(dòng)員,筑牢防火墻
    水上消防(2020年1期)2020-07-24 09:26:12
    構(gòu)建防控金融風(fēng)險(xiǎn)“防火墻”
    智慧防火墻
    海南新農(nóng)合有了“防火墻”
    在舌尖上筑牢抵御“僵尸肉”的防火墻
    下一代防火墻要做的十件事
    新漢 HENGETM工業(yè)防火墻
    筑起網(wǎng)吧“防火墻”
    中國火炬(2010年10期)2010-07-25 07:43:49
    自己選擇十大免費(fèi)防火墻
    亚洲无线在线观看| 国产av一区在线观看免费| 精品国产国语对白av| 成人国产综合亚洲| 美女大奶头视频| 啦啦啦 在线观看视频| a在线观看视频网站| 91麻豆av在线| 国产成+人综合+亚洲专区| 国产成人欧美| 琪琪午夜伦伦电影理论片6080| 在线观看午夜福利视频| 欧洲精品卡2卡3卡4卡5卡区| 色婷婷久久久亚洲欧美| 2021天堂中文幕一二区在线观 | 国产激情欧美一区二区| 成人特级黄色片久久久久久久| 久久亚洲精品不卡| 在线观看午夜福利视频| 亚洲欧美日韩高清在线视频| 丝袜在线中文字幕| 女性生殖器流出的白浆| xxxwww97欧美| 熟妇人妻久久中文字幕3abv| 精品国产一区二区三区四区第35| 国产成人精品久久二区二区91| 麻豆成人午夜福利视频| 久久这里只有精品19| 黄色片一级片一级黄色片| 好男人在线观看高清免费视频 | 亚洲国产看品久久| 亚洲黑人精品在线| 日本三级黄在线观看| 超碰成人久久| 男人舔女人下体高潮全视频| 中亚洲国语对白在线视频| 亚洲第一欧美日韩一区二区三区| 婷婷亚洲欧美| 一进一出好大好爽视频| 俺也久久电影网| 正在播放国产对白刺激| 国产一区二区三区视频了| 久久精品国产清高在天天线| 最近在线观看免费完整版| 淫妇啪啪啪对白视频| 精品一区二区三区视频在线观看免费| 久久久水蜜桃国产精品网| 欧美成狂野欧美在线观看| 欧美另类亚洲清纯唯美| 亚洲av五月六月丁香网| 一a级毛片在线观看| 亚洲欧美一区二区三区黑人| 国产精品自产拍在线观看55亚洲| 亚洲成a人片在线一区二区| 精品卡一卡二卡四卡免费| 此物有八面人人有两片| 听说在线观看完整版免费高清| 黄色片一级片一级黄色片| 亚洲av成人一区二区三| 亚洲自拍偷在线| 国产一区二区激情短视频| 国产熟女午夜一区二区三区| 国产激情欧美一区二区| 亚洲欧美日韩无卡精品| 亚洲国产欧美一区二区综合| 久久久久久久久免费视频了| 亚洲 国产 在线| 十八禁网站免费在线| tocl精华| 精品高清国产在线一区| 亚洲第一av免费看| 亚洲精华国产精华精| 国产精品 欧美亚洲| 国产黄片美女视频| 亚洲精品色激情综合| 久久午夜亚洲精品久久| 色综合婷婷激情| 亚洲精品在线观看二区| 搡老妇女老女人老熟妇| 级片在线观看| 精品电影一区二区在线| 国产一区二区三区在线臀色熟女| 色综合欧美亚洲国产小说| www日本在线高清视频| 欧美在线黄色| 人成视频在线观看免费观看| 黄片播放在线免费| 久久欧美精品欧美久久欧美| 欧美日韩乱码在线| 91大片在线观看| 夜夜看夜夜爽夜夜摸| 亚洲精品色激情综合| 好男人在线观看高清免费视频 | 亚洲av第一区精品v没综合| 中出人妻视频一区二区| 国产乱人伦免费视频| 国产高清激情床上av| 18美女黄网站色大片免费观看| 级片在线观看| 日韩欧美国产一区二区入口| 亚洲黑人精品在线| 亚洲 欧美一区二区三区| 日韩免费av在线播放| 午夜福利免费观看在线| 日韩欧美在线二视频| 熟女电影av网| 国产一区二区在线av高清观看| 午夜激情福利司机影院| 激情在线观看视频在线高清| 老汉色av国产亚洲站长工具| 亚洲免费av在线视频| 国产精品亚洲美女久久久| www日本黄色视频网| 一个人观看的视频www高清免费观看 | av中文乱码字幕在线| 欧美日韩亚洲综合一区二区三区_| 亚洲免费av在线视频| 两性午夜刺激爽爽歪歪视频在线观看 | 午夜a级毛片| 麻豆av在线久日| 亚洲人成网站高清观看| 亚洲精品一区av在线观看| 一夜夜www| 国产久久久一区二区三区| 夜夜看夜夜爽夜夜摸| 久久久久久国产a免费观看| 国产97色在线日韩免费| 中文亚洲av片在线观看爽| 亚洲精品美女久久久久99蜜臀| 18禁黄网站禁片午夜丰满| av电影中文网址| 久久狼人影院| 18禁裸乳无遮挡免费网站照片 | 在线观看一区二区三区| 这个男人来自地球电影免费观看| 黄片播放在线免费| 亚洲欧美日韩无卡精品| 免费看十八禁软件| 黑人操中国人逼视频| 国产又爽黄色视频| 十八禁人妻一区二区| 可以在线观看毛片的网站| 欧美又色又爽又黄视频| 欧美成人一区二区免费高清观看 | 国产精品久久电影中文字幕| 亚洲 国产 在线| 51午夜福利影视在线观看| 欧美国产日韩亚洲一区| 久久久久久人人人人人| 欧美在线一区亚洲| 久久 成人 亚洲| 亚洲国产毛片av蜜桃av| 两性夫妻黄色片| 看片在线看免费视频| 色在线成人网| 国产色视频综合| 真人做人爱边吃奶动态| 国产蜜桃级精品一区二区三区| 久久午夜亚洲精品久久| 欧美精品啪啪一区二区三区| 亚洲熟妇熟女久久| 精品久久久久久成人av| 天天躁夜夜躁狠狠躁躁| 亚洲av熟女| 精品久久久久久久久久免费视频| 日本五十路高清| 国产精品久久久久久人妻精品电影| 观看免费一级毛片| 久久国产精品男人的天堂亚洲| 18禁裸乳无遮挡免费网站照片 | 亚洲久久久国产精品| 久久久精品国产亚洲av高清涩受| 日本成人三级电影网站| 国产精品九九99| 国产v大片淫在线免费观看| 中文亚洲av片在线观看爽| 淫秽高清视频在线观看| 九色国产91popny在线| 亚洲专区中文字幕在线| 日本a在线网址| 中文字幕最新亚洲高清| 波多野结衣av一区二区av| 精品久久久久久久末码| 美国免费a级毛片| 91麻豆精品激情在线观看国产| 国产极品粉嫩免费观看在线| 精品少妇一区二区三区视频日本电影| 99国产综合亚洲精品| 国产久久久一区二区三区| 日韩欧美 国产精品| 久久精品国产亚洲av高清一级| 国产久久久一区二区三区| 国产爱豆传媒在线观看 | 国产精品av久久久久免费| 久久伊人香网站| 伊人久久大香线蕉亚洲五| cao死你这个sao货| 成人一区二区视频在线观看| 国产av一区二区精品久久| av福利片在线| 国产伦在线观看视频一区| 中文字幕人成人乱码亚洲影| 叶爱在线成人免费视频播放| 午夜亚洲福利在线播放| 嫁个100分男人电影在线观看| 两人在一起打扑克的视频| 成熟少妇高潮喷水视频| 两个人看的免费小视频| 日本成人三级电影网站| 国产精品香港三级国产av潘金莲| 亚洲七黄色美女视频| 成人三级做爰电影| 亚洲午夜精品一区,二区,三区| 亚洲第一av免费看| 狠狠狠狠99中文字幕| 成年免费大片在线观看| 亚洲va日本ⅴa欧美va伊人久久| 久久国产精品男人的天堂亚洲| 狠狠狠狠99中文字幕| 校园春色视频在线观看| 手机成人av网站| 日本 av在线| 麻豆av在线久日| 国产精品一区二区免费欧美| 久久国产乱子伦精品免费另类| 欧美成狂野欧美在线观看| 欧美性长视频在线观看| 嫩草影院精品99| 亚洲欧洲精品一区二区精品久久久| 久久久久亚洲av毛片大全| 视频在线观看一区二区三区| 少妇熟女aⅴ在线视频| 久久精品影院6| 99热这里只有精品一区 | 可以在线观看毛片的网站| 日本 av在线| 国内精品久久久久久久电影| 不卡一级毛片| 久久精品91无色码中文字幕| 欧美精品啪啪一区二区三区| av在线天堂中文字幕| 黄色a级毛片大全视频| 国产不卡一卡二| 亚洲人成电影免费在线| 亚洲电影在线观看av| 亚洲七黄色美女视频| 看片在线看免费视频| 国产欧美日韩一区二区三| 成人国语在线视频| 波多野结衣高清无吗| 丝袜人妻中文字幕| 曰老女人黄片| 两个人视频免费观看高清| 日日摸夜夜添夜夜添小说| 色综合亚洲欧美另类图片| 国产视频内射| 天天躁夜夜躁狠狠躁躁| 99在线视频只有这里精品首页| 国产精品乱码一区二三区的特点| 久久中文字幕人妻熟女| 人人妻人人看人人澡| 免费在线观看完整版高清| 色av中文字幕| 久久国产乱子伦精品免费另类| 亚洲一卡2卡3卡4卡5卡精品中文| 一级a爱视频在线免费观看| 欧美性猛交╳xxx乱大交人| 国产成人啪精品午夜网站| 欧美精品亚洲一区二区| 99国产综合亚洲精品| 国产又黄又爽又无遮挡在线| 老熟妇仑乱视频hdxx| 性色av乱码一区二区三区2| 丁香六月欧美| 免费电影在线观看免费观看| svipshipincom国产片| 亚洲美女黄片视频| 两人在一起打扑克的视频| 亚洲成人久久性| 丝袜人妻中文字幕| 久久国产精品影院| 免费搜索国产男女视频| 亚洲va日本ⅴa欧美va伊人久久| 色综合站精品国产| 国产成人av激情在线播放| 国产主播在线观看一区二区| 校园春色视频在线观看| 国产一区在线观看成人免费| 欧美中文日本在线观看视频| 午夜福利18| 久久久久九九精品影院| 一区二区三区国产精品乱码| 很黄的视频免费| 午夜激情福利司机影院| 国产1区2区3区精品| 男人舔奶头视频| 黄色视频不卡| av福利片在线| 亚洲精品av麻豆狂野| 久久精品人妻少妇| 丝袜美腿诱惑在线| www.精华液| 亚洲一卡2卡3卡4卡5卡精品中文| 十八禁人妻一区二区| √禁漫天堂资源中文www| 久久精品91蜜桃| 亚洲,欧美精品.| 亚洲一卡2卡3卡4卡5卡精品中文| 精品一区二区三区av网在线观看| 一区二区三区激情视频| 搡老岳熟女国产| 最近最新中文字幕大全免费视频| 色尼玛亚洲综合影院| 少妇粗大呻吟视频| 嫩草影院精品99| 精品欧美一区二区三区在线| 黄色成人免费大全| 变态另类丝袜制服| 国产视频内射| 一边摸一边做爽爽视频免费| 美女高潮喷水抽搐中文字幕| 99久久精品国产亚洲精品| 欧美日韩瑟瑟在线播放| 国产蜜桃级精品一区二区三区| av福利片在线| 老司机深夜福利视频在线观看| 一进一出好大好爽视频| 亚洲成人久久爱视频| 亚洲午夜精品一区,二区,三区| 在线免费观看的www视频| 欧美色视频一区免费| 欧美日韩福利视频一区二区| 男女视频在线观看网站免费 | 欧美性猛交╳xxx乱大交人| 99热6这里只有精品| 美国免费a级毛片| 久久人人精品亚洲av| av在线天堂中文字幕| 很黄的视频免费| 99精品在免费线老司机午夜| 国产三级在线视频| 一个人观看的视频www高清免费观看 | 一本综合久久免费| 久久精品国产亚洲av香蕉五月| 99久久国产精品久久久| 亚洲一区中文字幕在线| 天堂动漫精品| 成年女人毛片免费观看观看9| 国产精品98久久久久久宅男小说| 亚洲精品国产精品久久久不卡| 成人三级做爰电影| 国产不卡一卡二| 色综合欧美亚洲国产小说| 亚洲美女黄片视频| 欧美成人免费av一区二区三区| 村上凉子中文字幕在线| 欧美丝袜亚洲另类 | 亚洲国产高清在线一区二区三 | 日本熟妇午夜| 黄频高清免费视频| 色婷婷久久久亚洲欧美| 欧美在线一区亚洲| 又紧又爽又黄一区二区| 成人手机av| 亚洲熟女毛片儿| 午夜免费激情av| 精品少妇一区二区三区视频日本电影| 色播亚洲综合网| 国产aⅴ精品一区二区三区波| 一区二区三区激情视频| 高潮久久久久久久久久久不卡| 日本黄色视频三级网站网址| 亚洲久久久国产精品| 在线观看免费午夜福利视频| 亚洲国产欧美网| 男女床上黄色一级片免费看| 99久久精品国产亚洲精品| 欧美国产精品va在线观看不卡| 国产91精品成人一区二区三区| 男人操女人黄网站| 国产伦在线观看视频一区| 搡老岳熟女国产| 制服诱惑二区| 香蕉久久夜色| 亚洲av美国av| 国产区一区二久久| 熟女电影av网| а√天堂www在线а√下载| 人妻丰满熟妇av一区二区三区| 久久国产精品男人的天堂亚洲| 久9热在线精品视频| 午夜激情av网站| 欧美激情极品国产一区二区三区| 国产成人啪精品午夜网站| 日本免费一区二区三区高清不卡| 亚洲精华国产精华精| netflix在线观看网站| 免费电影在线观看免费观看| 成年女人毛片免费观看观看9| 每晚都被弄得嗷嗷叫到高潮| 午夜福利在线观看吧| 久久精品国产综合久久久| 亚洲激情在线av| 最近最新中文字幕大全电影3 | 欧美日韩亚洲综合一区二区三区_| 欧美日本视频| 欧美成人性av电影在线观看| 手机成人av网站| 视频在线观看一区二区三区| 动漫黄色视频在线观看| 亚洲精品国产一区二区精华液| 国产高清视频在线播放一区| x7x7x7水蜜桃| 亚洲国产精品sss在线观看| 成年女人毛片免费观看观看9| 国产在线观看jvid| 久久久久国产一级毛片高清牌| 日本免费一区二区三区高清不卡| 老汉色av国产亚洲站长工具| 国产欧美日韩一区二区三| 真人一进一出gif抽搐免费| av电影中文网址| 国产精品,欧美在线| 欧美另类亚洲清纯唯美| 国产精品久久久av美女十八| 国产麻豆成人av免费视频| 身体一侧抽搐| 国产成人影院久久av| 亚洲国产精品合色在线| 极品教师在线免费播放| 可以在线观看毛片的网站| 久久精品国产亚洲av香蕉五月| 欧美中文日本在线观看视频| 丝袜在线中文字幕| 亚洲国产欧美一区二区综合| av电影中文网址| 男女床上黄色一级片免费看| 日韩一卡2卡3卡4卡2021年| 久久香蕉精品热| 亚洲一码二码三码区别大吗| 中文字幕高清在线视频| 国产精品久久久久久精品电影 | 亚洲国产欧美网| 国产精品免费一区二区三区在线| www国产在线视频色| 91字幕亚洲| 18美女黄网站色大片免费观看| 在线十欧美十亚洲十日本专区| 琪琪午夜伦伦电影理论片6080| 1024香蕉在线观看| 两个人视频免费观看高清| 真人做人爱边吃奶动态| 国产精品电影一区二区三区| 午夜免费鲁丝| 日韩欧美三级三区| 两性夫妻黄色片| 国产精品99久久99久久久不卡| 日本a在线网址| 国产熟女xx| 国产一区二区在线av高清观看| 色尼玛亚洲综合影院| 国产不卡一卡二| 91麻豆av在线| 国产三级在线视频| 午夜老司机福利片| 老汉色∧v一级毛片| 中国美女看黄片| 国产黄片美女视频| 亚洲一码二码三码区别大吗| 91九色精品人成在线观看| 国产精品日韩av在线免费观看| 精品久久久久久久久久免费视频| 亚洲五月婷婷丁香| 精品久久久久久久久久久久久 | 91成年电影在线观看| 日日摸夜夜添夜夜添小说| 亚洲久久久国产精品| 两个人看的免费小视频| 国产蜜桃级精品一区二区三区| 久久草成人影院| 午夜福利在线在线| 午夜老司机福利片| 18禁观看日本| 好男人在线观看高清免费视频 | 最近在线观看免费完整版| 午夜激情av网站| 18美女黄网站色大片免费观看| 黄色成人免费大全| 久久久久久久精品吃奶| 久久久久国产精品人妻aⅴ院| 国产av不卡久久| 国产在线精品亚洲第一网站| 国产又爽黄色视频| 特大巨黑吊av在线直播 | 精品日产1卡2卡| 国产男靠女视频免费网站| 成人手机av| 日本黄色视频三级网站网址| 1024视频免费在线观看| 老熟妇乱子伦视频在线观看| 国产黄色小视频在线观看| 国产成+人综合+亚洲专区| 久久久精品欧美日韩精品| 窝窝影院91人妻| 亚洲精品美女久久av网站| 欧美日韩亚洲国产一区二区在线观看| av天堂在线播放| 99久久国产精品久久久| 国产精品综合久久久久久久免费| 一本久久中文字幕| 国产亚洲av高清不卡| 中国美女看黄片| 久热爱精品视频在线9| 日本 欧美在线| 一级a爱视频在线免费观看| 夜夜爽天天搞| 在线十欧美十亚洲十日本专区| 亚洲七黄色美女视频| 老司机深夜福利视频在线观看| 久久人妻福利社区极品人妻图片| 在线观看舔阴道视频| or卡值多少钱| 国产成人精品久久二区二区免费| 国产一区二区在线av高清观看| 精品国内亚洲2022精品成人| 亚洲熟妇熟女久久| 精品国产乱子伦一区二区三区| 国产精品一区二区三区四区久久 | 亚洲精品中文字幕在线视频| 午夜精品在线福利| 精品国产亚洲在线| 精品久久久久久久末码| 亚洲欧美精品综合一区二区三区| 丝袜人妻中文字幕| 日韩中文字幕欧美一区二区| 国产亚洲av嫩草精品影院| 一边摸一边做爽爽视频免费| 嫁个100分男人电影在线观看| 亚洲五月色婷婷综合| 久久天躁狠狠躁夜夜2o2o| 曰老女人黄片| 狠狠狠狠99中文字幕| 亚洲一区中文字幕在线| 欧美在线一区亚洲| 国产视频一区二区在线看| 黄片大片在线免费观看| 亚洲精品中文字幕在线视频| 久久精品91无色码中文字幕| 在线观看免费视频日本深夜| a在线观看视频网站| 亚洲精品在线美女| 后天国语完整版免费观看| ponron亚洲| 18禁黄网站禁片午夜丰满| 国内少妇人妻偷人精品xxx网站 | 国产又色又爽无遮挡免费看| 国产激情久久老熟女| 99re在线观看精品视频| 亚洲av电影不卡..在线观看| av欧美777| 黄色丝袜av网址大全| 亚洲成人国产一区在线观看| 最新美女视频免费是黄的| 男女床上黄色一级片免费看| 日日爽夜夜爽网站| 亚洲无线在线观看| 韩国av一区二区三区四区| 久久中文字幕一级| 一区二区三区国产精品乱码| 久久久国产精品麻豆| 中文字幕高清在线视频| 亚洲狠狠婷婷综合久久图片| 国产亚洲精品一区二区www| 免费观看人在逋| 激情在线观看视频在线高清| 久久精品91无色码中文字幕| 国产精品乱码一区二三区的特点| 久久精品91无色码中文字幕| 精品国产亚洲在线| 欧美日韩一级在线毛片| 国产av在哪里看| 精品欧美一区二区三区在线| 丰满的人妻完整版| 日本一本二区三区精品| 欧美黑人欧美精品刺激| 啦啦啦韩国在线观看视频| 色综合站精品国产| 国产成+人综合+亚洲专区| 国产成人精品无人区| 久久香蕉精品热| 1024手机看黄色片| 午夜福利在线在线| 欧美一级毛片孕妇| 国产一卡二卡三卡精品| 精品久久久久久久久久免费视频| 19禁男女啪啪无遮挡网站| 亚洲av片天天在线观看| 久久中文字幕人妻熟女| 亚洲va日本ⅴa欧美va伊人久久| 亚洲一码二码三码区别大吗| av免费在线观看网站| 啪啪无遮挡十八禁网站| 一二三四在线观看免费中文在| 免费在线观看完整版高清| 国产高清videossex| 国产成年人精品一区二区| 久久 成人 亚洲| 香蕉丝袜av| 精品少妇一区二区三区视频日本电影| 好男人在线观看高清免费视频 | 午夜免费激情av| 午夜福利高清视频| 亚洲一区高清亚洲精品| 久久狼人影院| 国内精品久久久久精免费|