亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于WinCE的網(wǎng)絡(luò)嗅探器的設(shè)計(jì)與實(shí)現(xiàn)

        2013-08-13 05:06:48胡昊南張治中
        電視技術(shù) 2013年5期
        關(guān)鍵詞:鏈路層驅(qū)動(dòng)程序網(wǎng)卡

        胡昊南,張治中

        (重慶郵電大學(xué)通信網(wǎng)與測(cè)試技術(shù)重點(diǎn)實(shí)驗(yàn)室,重慶 400065)

        網(wǎng)絡(luò)嗅探器是利用共享式的網(wǎng)絡(luò)傳輸介質(zhì),能夠捕獲和解析來自數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層和傳輸層等底層網(wǎng)絡(luò)數(shù)據(jù)包的工具。隨著網(wǎng)絡(luò)需求和網(wǎng)絡(luò)規(guī)模的日益增大,保持網(wǎng)絡(luò)的高性能運(yùn)行難度增大,網(wǎng)絡(luò)嗅探器能夠監(jiān)測(cè)網(wǎng)絡(luò)的運(yùn)行狀況,快速定位和解決網(wǎng)絡(luò)故障,保證網(wǎng)絡(luò)高速有效運(yùn)行。由于嵌入式設(shè)備在網(wǎng)絡(luò)評(píng)估和監(jiān)測(cè)中得到了廣泛應(yīng)用,在嵌入式系統(tǒng)中實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)包的捕獲和分析具有重要的意義[1-2]。

        本文分析了Winpcap(Windows Packet Capture)庫函數(shù)的架構(gòu)和網(wǎng)絡(luò)數(shù)據(jù)包的傳遞流程,研究了NDIS(Network Driver Interface Standard)網(wǎng)絡(luò)驅(qū)動(dòng)程序與該實(shí)現(xiàn)方案的聯(lián)系,給出了一種基于WinCE嵌入式系統(tǒng)網(wǎng)絡(luò)嗅探器的設(shè)計(jì)和實(shí)現(xiàn)方案,該方案具有良好的兼容性和適用性,能夠滿足實(shí)際網(wǎng)絡(luò)監(jiān)測(cè)的要求[3-4]。

        1 網(wǎng)絡(luò)嗅探器基本工作原理

        1.1 網(wǎng)卡混雜模式

        網(wǎng)卡混雜模式是網(wǎng)卡的一種特殊工作模式,在該工作模式下,網(wǎng)卡不對(duì)目的地址進(jìn)行判斷,而直接將收到的所有數(shù)據(jù)包傳遞給上層進(jìn)行處理[5]。必須將網(wǎng)卡置于混雜模式才能實(shí)現(xiàn)網(wǎng)絡(luò)嗅探器。

        1.2 NDIS網(wǎng)絡(luò)驅(qū)動(dòng)程序

        NDIS是網(wǎng)絡(luò)驅(qū)動(dòng)程序接口規(guī)范的簡(jiǎn)稱。它橫跨數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層和傳輸層,定義了網(wǎng)卡驅(qū)動(dòng)程序與上層協(xié)議驅(qū)動(dòng)程序之間的通信接口規(guī)范,屏蔽了底層物理硬件的不同所帶來的影響,使上層協(xié)議驅(qū)動(dòng)程序可以和底層任何型號(hào)的網(wǎng)卡進(jìn)行通信[6]。NDIS支持三種類型的驅(qū)動(dòng)程序,分別為協(xié)議驅(qū)動(dòng)程序、中間驅(qū)動(dòng)程序和微端口驅(qū)動(dòng)程序。

        1.3 Winpcap移植

        Winpcap是Windows平臺(tái)下一個(gè)免費(fèi)為應(yīng)用程序提供訪問網(wǎng)絡(luò)底層能力的系統(tǒng)。微軟為WinCE系統(tǒng)提供了開源的 PacketCE。PacketCE由 DRIVER,DLL和 SampleApp三個(gè)工程組成,其依賴關(guān)系如圖1所示。其中DRIVER工程是一個(gè)流驅(qū)動(dòng)程序;DLL工程為上層應(yīng)用程序提供流驅(qū)動(dòng)程序的封裝接口;SampleApp是可參照的示例程序。目前最高版本的PacketCE不能直接在操作系統(tǒng)WinCE5.0中使用,因此需要修改源碼進(jìn)行移植。

        圖1 PacketCE結(jié)構(gòu)圖

        2 網(wǎng)絡(luò)嗅探器軟件結(jié)構(gòu)設(shè)計(jì)

        2.1 方案選擇

        實(shí)現(xiàn)網(wǎng)絡(luò)嗅探器有兩種方案。一種方案是使用Windows Socket編程中的原始套接字。原始套接字和其他套接字的不同之處在于它可工作在網(wǎng)絡(luò)層或數(shù)據(jù)鏈路層,而其他類型的套接字只能工作在傳輸層,所以使用原始套接字能夠監(jiān)聽數(shù)據(jù)鏈路層的數(shù)據(jù)。但操作系統(tǒng)WinCE5.0中不支持使用原始套接字。

        另一種方案是使用微軟提供的Winpcap函數(shù)庫,在WinCE中微軟提供的開源軟件PacketCE,因目前最高版本的PacketCE不能直接在操作系統(tǒng)WinCE5.0中使用,需自己搭建編譯環(huán)境、修改源碼對(duì)其進(jìn)行移植。Winpcap的核心是NDIS中間驅(qū)動(dòng)程序,與Windows Socket相比,NDIS具備更高的效率和功能擴(kuò)展性。在Windows平臺(tái)下,使用NDIS是捕獲網(wǎng)絡(luò)數(shù)據(jù)包最好的方法[6]。

        本文采用的是移植微軟提供的Winpcap函數(shù)庫的方案,即使用NDIS中間驅(qū)動(dòng)程序?qū)崿F(xiàn)網(wǎng)絡(luò)嗅探器。

        2.2 軟件整體架構(gòu)設(shè)計(jì)

        軟件部分主要由網(wǎng)卡驅(qū)動(dòng)程序、NDIS網(wǎng)絡(luò)驅(qū)動(dòng)程序、操作系統(tǒng)和應(yīng)用程序組成。其結(jié)構(gòu)模型如圖2所示。本系統(tǒng)所使用的網(wǎng)卡芯片型號(hào)為DM9000,嵌入式ARM芯片的型號(hào)為S3C2440。經(jīng)分析知DM9000驅(qū)動(dòng)程序由網(wǎng)卡驅(qū)動(dòng)程序和NDIS微端口驅(qū)動(dòng)程序組成,PacketCE由NDIS中間驅(qū)動(dòng)程序、NDIS協(xié)議驅(qū)動(dòng)程序和DLL接口組成。

        網(wǎng)卡驅(qū)動(dòng)程序通過處理網(wǎng)卡寄存器維持網(wǎng)卡的正常工作。中間驅(qū)動(dòng)程序?yàn)槲⒍丝隍?qū)動(dòng)程序提供協(xié)議驅(qū)動(dòng)程序接口,為協(xié)議驅(qū)動(dòng)程序提供微端口驅(qū)動(dòng)程序接口[7]。DLL接口向上層應(yīng)用程序提供驅(qū)動(dòng)程序接口。數(shù)據(jù)包的捕獲基于NDIS中間層驅(qū)動(dòng)程序?qū)崿F(xiàn),并依據(jù)過濾準(zhǔn)則實(shí)現(xiàn)數(shù)據(jù)包的接收過濾,向上層傳遞數(shù)據(jù)包。應(yīng)用層程序進(jìn)行過濾準(zhǔn)則的設(shè)置和數(shù)據(jù)包的處理分析以及數(shù)據(jù)統(tǒng)計(jì)和結(jié)果顯示。

        2.3 軟件模塊設(shè)計(jì)

        系統(tǒng)采用了模塊化的設(shè)計(jì)方法,各模塊之間相互獨(dú)立,便于功能的修改和擴(kuò)展,提高了系統(tǒng)的可移植性、可維護(hù)性和可升級(jí)性。其軟件模塊結(jié)構(gòu)如圖3所示。

        圖2 軟件結(jié)構(gòu)模型

        圖3 軟件模塊設(shè)計(jì)圖

        各個(gè)模塊的的作用如下:

        1)過濾模塊

        設(shè)置過濾準(zhǔn)則,可選擇性地接收網(wǎng)絡(luò)數(shù)據(jù)包,屏蔽不關(guān)心的數(shù)據(jù)包,減輕對(duì)數(shù)據(jù)包的分析處理負(fù)擔(dān),提高系統(tǒng)的監(jiān)聽效率。

        2)數(shù)據(jù)包捕獲模塊

        數(shù)據(jù)包解析模塊的基礎(chǔ),實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)包的捕獲。主要完成網(wǎng)卡信息列表的讀取、打開指定網(wǎng)卡、抓包的開始和停止功能。

        3)數(shù)據(jù)包解析模塊

        網(wǎng)絡(luò)嗅探器系統(tǒng)的核心是實(shí)現(xiàn)數(shù)據(jù)包協(xié)議的解碼并保存解碼后的信息。保存的信息包括數(shù)據(jù)包捕獲的時(shí)間、最高級(jí)協(xié)議類型、目的MAC地址和源MAC地址、目的IP地址和源IP地址、幀長(zhǎng)度等信息。

        4)控制模塊

        控制整個(gè)系統(tǒng)的開始與停止,協(xié)調(diào)各個(gè)模塊之間的交互,完成對(duì)系統(tǒng)信息的設(shè)置,例如系統(tǒng)MAC地址、IP地址以及工作速率模式的設(shè)置。

        5)顯示模塊

        實(shí)現(xiàn)捕獲結(jié)果及測(cè)試過程附加信息的呈現(xiàn)。能夠顯示數(shù)據(jù)包解析模塊所保存的全部信息、接收的總包數(shù)量、測(cè)試起始時(shí)間和測(cè)試持續(xù)時(shí)間,并限制顯示的包詳細(xì)信息總數(shù),節(jié)省占用的內(nèi)存。

        3 網(wǎng)絡(luò)嗅探器的關(guān)鍵技術(shù)與模塊

        3.1 網(wǎng)絡(luò)數(shù)據(jù)包傳遞流程

        為了確保所捕獲的網(wǎng)絡(luò)數(shù)據(jù)包信息的正確性,了解網(wǎng)絡(luò)數(shù)據(jù)包在系統(tǒng)中的傳遞流程,監(jiān)測(cè)網(wǎng)絡(luò)數(shù)據(jù)包在各個(gè)位置的信息正確性成為必要。本文主要分析了系統(tǒng)中網(wǎng)絡(luò)數(shù)據(jù)包從網(wǎng)卡驅(qū)動(dòng),流經(jīng)NDIS驅(qū)動(dòng)程序,直至DLL接口的整個(gè)傳遞流程,如圖4所示。

        圖4 網(wǎng)絡(luò)數(shù)據(jù)包傳遞過程圖

        當(dāng)網(wǎng)絡(luò)數(shù)據(jù)包到達(dá)網(wǎng)卡時(shí),因初始化中斷,對(duì)網(wǎng)卡數(shù)據(jù)包的接收進(jìn)行了監(jiān)控,所以首先調(diào)用網(wǎng)卡驅(qū)動(dòng)層中的Dm9LookupRxBuffer()函數(shù),判斷是否有有效的網(wǎng)絡(luò)數(shù)據(jù)包到達(dá),并且調(diào)用DeviceReadString()函數(shù)完成對(duì)網(wǎng)卡接收寄存器中的網(wǎng)絡(luò)數(shù)據(jù)包內(nèi)數(shù)據(jù)的讀取,然后調(diào)用NDIS微端口驅(qū)動(dòng)層中負(fù)責(zé)與NDIS中間驅(qū)動(dòng)層交互的Ndis-MIndicateReceivePacket()函數(shù),進(jìn)而調(diào)用NDIS中間驅(qū)動(dòng)層中的PacketRecieve()/ProtocalReceiveComplete()函數(shù),完成數(shù)據(jù)從網(wǎng)卡寄存器到內(nèi)核緩沖區(qū)的轉(zhuǎn)移。這里的內(nèi)存緩沖區(qū)是一個(gè)PNDIS_PACKET結(jié)構(gòu)體類型的變量,該結(jié)構(gòu)體類型是指向PNDIS_BUFFER結(jié)構(gòu)體類型的一個(gè)鏈表。DLL接口向上層應(yīng)用程序提供PackeRecievePacket()函數(shù),該函數(shù)調(diào)用NDIS協(xié)議驅(qū)動(dòng)層的PKTRead()函數(shù),PKTRead()函數(shù)與PacketReceive()函數(shù)通過一個(gè)全局句柄進(jìn)行交互,完成從內(nèi)核緩沖區(qū)的數(shù)據(jù)拷貝至用戶緩沖區(qū)的功能。

        總結(jié)上述過程,當(dāng)有網(wǎng)絡(luò)數(shù)據(jù)包到達(dá)網(wǎng)卡時(shí),先將網(wǎng)卡接收寄存器中的數(shù)據(jù)包復(fù)制到內(nèi)核緩沖區(qū)中,然后通過上層調(diào)用,將內(nèi)核緩沖區(qū)中的數(shù)據(jù)拷貝到用戶緩沖區(qū)中,最后再交給應(yīng)用程序加工提取出有用的信息。在實(shí)現(xiàn)過程中,可根據(jù)上述流程進(jìn)一步分析驗(yàn)證網(wǎng)絡(luò)數(shù)據(jù)包信息的正確性,定位網(wǎng)絡(luò)數(shù)據(jù)包信息錯(cuò)誤的原因,對(duì)理解NDIS網(wǎng)絡(luò)驅(qū)動(dòng)程序的工作流程具有指導(dǎo)意義。

        3.2 網(wǎng)絡(luò)數(shù)據(jù)包的捕獲

        通過PacketGetAdapterNames()函數(shù)獲取網(wǎng)卡列表信息,所有信息以字符串的形式存儲(chǔ)在字符數(shù)組中。選擇并打開已選擇的網(wǎng)卡接口,通過設(shè)置Packet結(jié)構(gòu)體類型變量中緩存的大小、超時(shí)時(shí)間等信息,初始化接收參數(shù)設(shè)置。通過PacketRecievePacket()函數(shù)接收網(wǎng)絡(luò)數(shù)據(jù)包,網(wǎng)絡(luò)數(shù)據(jù)包的所有數(shù)據(jù)存儲(chǔ)在Packet結(jié)構(gòu)體類型變量的參數(shù)Buffer中。其捕獲流程如圖5所示。

        圖5 網(wǎng)絡(luò)數(shù)據(jù)包捕獲流程圖

        3.3 網(wǎng)絡(luò)數(shù)據(jù)包的解析

        利用NDIS中間驅(qū)動(dòng)程序捕獲的數(shù)據(jù)包處在數(shù)據(jù)鏈路層,依次經(jīng)過了傳輸層、網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層的封裝。因此,需要對(duì)所接收到的數(shù)據(jù)包進(jìn)行進(jìn)一步解析才能得到所需要的信息。本系統(tǒng)依次分析數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層和傳輸層的部分關(guān)鍵信息,不分析應(yīng)用層的信息。

        在數(shù)據(jù)包解析過程中,根據(jù)各種協(xié)議數(shù)據(jù)包包頭的格式,讀取接收網(wǎng)絡(luò)數(shù)據(jù)包中相應(yīng)位置的包頭,分析出該協(xié)議的各個(gè)字段值。在數(shù)據(jù)鏈路層信息解析過程中,首先根據(jù)以太網(wǎng)幀結(jié)構(gòu)的協(xié)議類型字段判斷幀的類型,主要判斷的類型有ARP,RARP以及IP[8]。如果幀類型是IP,則需繼續(xù)根據(jù)IP數(shù)據(jù)報(bào)結(jié)構(gòu)的協(xié)議類型字段判斷該數(shù)據(jù)報(bào)的傳輸層信息,主要判斷的類型是ICMP,IGMP,TCP以及UDP,再根據(jù)對(duì)應(yīng)的包頭格式獲取有用的字段信息。

        本系統(tǒng)中在接收的數(shù)據(jù)包信息前增加了20 byte的自定義信息(8 byte的幀接收時(shí)間信息、4 byte的Captured Portion Length信息、4 byte的Packet Original Length信息、2 byte的Bpf Header Length信息以及2 byte的邊緣對(duì)齊填充數(shù)據(jù)),可直接從該自定義信息中獲取所接收幀長(zhǎng)度、幀接收時(shí)間的信息,需要考慮自定義信息對(duì)數(shù)據(jù)包解析過程所帶來的影響。網(wǎng)絡(luò)數(shù)據(jù)包解析顯示結(jié)果如圖6所示。

        圖6 網(wǎng)絡(luò)嗅探器結(jié)果顯示圖(截圖)

        3.4 PacketCE在WinCE系統(tǒng)中的移植

        分析PacketCE中DRIVER工程的OpenClose.c和Packet.c的源碼可知,DRIVER是一個(gè)NDIS中間驅(qū)動(dòng)程序,在本質(zhì)上是一個(gè)流驅(qū)動(dòng)程序,所以在Platform Builder5.0軟件中搭建了PacketCE的編譯環(huán)境。

        在動(dòng)態(tài)鏈接庫被加載后,流接口驅(qū)動(dòng)程序的入口函數(shù)會(huì)第一個(gè)被調(diào)用,入口函數(shù)主要完成硬件的初始化工作。該流接口驅(qū)動(dòng)程序的入口函數(shù)DWORD PKT_Init()首先定義并初始化了NDIS_PROTOCOL_CHARACTERISTICS類型結(jié)構(gòu)體變量ProtocalChar,然后通過調(diào)用Ndis-RegisterProtocol()函數(shù)完成了NDIS協(xié)議驅(qū)動(dòng)程序的注冊(cè)。網(wǎng)卡驅(qū)動(dòng)程序不僅完成了對(duì)DM9000網(wǎng)卡芯片的驅(qū)動(dòng),還完成了對(duì)NDIS微端口驅(qū)動(dòng)程序的實(shí)現(xiàn)和注冊(cè)。

        移植時(shí)需分析在DRIVER工程中會(huì)調(diào)用到的微端口驅(qū)動(dòng)程序,然后在微端口驅(qū)動(dòng)程序中增加適當(dāng)?shù)暮瘮?shù)并注冊(cè),防止引起異常;在中間驅(qū)動(dòng)程序中修改版本號(hào)等信息,并根據(jù)數(shù)據(jù)包交互流程,在對(duì)應(yīng)的函數(shù)中作出相應(yīng)的修改,重新編譯生成Packet.dll和Winpcap.dll動(dòng)態(tài)鏈接庫,加載至WinCE操作系統(tǒng)中,配置好環(huán)境后,應(yīng)用程序便可直接調(diào)用Winpcap庫函數(shù)。

        3.5 測(cè)試驗(yàn)證

        在PC機(jī)端運(yùn)行的Wireshark抓包軟件和在WinCE嵌入式系統(tǒng)運(yùn)行的網(wǎng)絡(luò)嗅探器同時(shí)監(jiān)測(cè)統(tǒng)計(jì)同一個(gè)實(shí)際網(wǎng)絡(luò)中的數(shù)據(jù)包信息,以Wireshark的統(tǒng)計(jì)數(shù)據(jù)作為實(shí)際測(cè)試環(huán)境數(shù)據(jù),將網(wǎng)絡(luò)嗅探器的接收包數(shù)量測(cè)試結(jié)果與其對(duì)比,計(jì)算出丟包率,結(jié)果如表1所示。

        表1 測(cè)試驗(yàn)證結(jié)果

        從表中可得知,當(dāng)發(fā)送包數(shù)量小于10000時(shí),網(wǎng)絡(luò)嗅探器未出現(xiàn)丟包的情況。當(dāng)發(fā)送包數(shù)量大于10000時(shí),由于硬件CPU頻率和內(nèi)存大小的限制,導(dǎo)致出現(xiàn)輕微的丟包現(xiàn)象。未出現(xiàn)丟包情況時(shí),Wireshark測(cè)試結(jié)果和網(wǎng)絡(luò)嗅探測(cè)試結(jié)果中對(duì)應(yīng)編號(hào)的包協(xié)議類型、長(zhǎng)度、源及目的MAC、源及目的IP均相同,所以該網(wǎng)絡(luò)嗅探器能夠基本滿足實(shí)際網(wǎng)絡(luò)中網(wǎng)絡(luò)數(shù)據(jù)包捕獲的正確性和性能要求。

        4 結(jié)束語

        網(wǎng)絡(luò)嗅探器是多個(gè)模塊組成的系統(tǒng),能夠監(jiān)測(cè)網(wǎng)絡(luò)運(yùn)行狀況,是分析網(wǎng)絡(luò)性能、解決網(wǎng)絡(luò)故障的基礎(chǔ)。本文介紹了NDIS網(wǎng)絡(luò)驅(qū)動(dòng)程序的基本結(jié)構(gòu),通過對(duì)NDIS驅(qū)動(dòng)和Winpcap庫函數(shù)的分析,在WinCE嵌入式系統(tǒng)中實(shí)現(xiàn)了網(wǎng)絡(luò)嗅探器的功能,著重闡述了網(wǎng)路數(shù)據(jù)包的傳遞流程、軟件結(jié)構(gòu)設(shè)計(jì)和Winpcap的移植。本方案可在保證獲取信息正確的前提下修改移植的庫函數(shù),在數(shù)據(jù)包前增加自定義信息,具有良好的結(jié)構(gòu)性、擴(kuò)展性和效率性,并能夠收發(fā)基于各層的各種協(xié)議數(shù)據(jù)包,接收獲取網(wǎng)絡(luò)中各層的信息。

        [1]TANG Dongming,LI Juguang,LU Xianliang.Efficient packet capture on windows CE[C]//Proc.2nd International Conference on Intelligent Control and Information Processing.Harbin:IEEE Press,2011:110-114.

        [2]SMITH M,LOGUINOV D.Enabling high-performance internet-wide measurements on windows[C]//Proc.11th International Conference on Passive and Active Measurement.Hammamet:IEEE Press,2001:686-693.

        [3]宋雁輝.Widnows防火墻與網(wǎng)絡(luò)封包截獲技術(shù)[M].北京:電子工業(yè)出版社,2002.

        [4]楊智君,馬駿驍,田地,等.基于NDIS的IP安全協(xié)議的研究與實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程,2007,33(22):166-168.

        [5]QADEER M A,ZAHID M,IQBAL A,et al.Network Traffic Analysis and Intrusion Detection using Packet Sniffer[C]//Proc.2010 Second International Conference on Communication Software and Networks.Singapore:IEEE Press,2010:313-317.

        [6]HU Yin,LIN Pei.Reserch and implementation of packet classification based on NDIS intermediate layer under windows platform[C]//Proc.2011 International Symposium on Intelligence Information Processing and Trusted Computing.Wuhan,Hubei:IEEE Press,2011:157-160.

        [7]WANG Xiaoling,ZHOU Gang.Defence design for ARP spoofing based on NDIS intermediate driver[C]//Proc.2012 International Conference on Computer Distributed Control and Intelligent Environmental Monitoring.Changsha,Hunan:IEEE Press,2012:218-220.

        [8]TANENBAUM A S,WETHERALL D J.計(jì)算機(jī)網(wǎng)絡(luò)[M].5th ed. 北京:機(jī)械工業(yè)出版社,2011.

        猜你喜歡
        鏈路層驅(qū)動(dòng)程序網(wǎng)卡
        網(wǎng)絡(luò)傳輸融合及網(wǎng)絡(luò)安全防控技術(shù)研究
        在DDS 中間件上實(shí)現(xiàn)雙冗余網(wǎng)卡切換的方法
        基于多空間內(nèi)存共享的數(shù)據(jù)鏈路層網(wǎng)絡(luò)包捕獲方法
        Server 2016網(wǎng)卡組合模式
        挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專用Dragon網(wǎng)卡
        數(shù)據(jù)鏈路層的選擇重傳協(xié)議的優(yōu)化改進(jìn)
        IEEE 1394事務(wù)層接口的設(shè)計(jì)與實(shí)現(xiàn)
        驅(qū)動(dòng)程序更新與推薦
        驅(qū)動(dòng)程序更新與推薦
        驅(qū)動(dòng)程序更新與推薦
        伊人亚洲综合影院首页 | 亚洲中文字幕久久精品蜜桃| 真多人做人爱视频高清免费| 国产人妻久久精品二区三区| 中文幕无线码中文字蜜桃| 亚洲一区区| 久久一区二区视频在线观看| 丰满人妻被两个按摩师| 亚洲av无码不卡| 亚洲人成18禁网站| 99伊人久久精品亚洲午夜| 国产免码va在线观看免费| 亚洲av无码专区国产乱码不卡| 91精品国产综合久久青草| 一区二区三区中文字幕在线观看| 欧美日韩精品乱国产| 国产女女做受ⅹxx高潮| www久久久888| 国产av在线观看一区二区三区| 男人进去女人爽免费视频| 亚洲国产成人久久一区www| 久久尤物av天堂日日综合| 亚洲一区二区三区在线观看| 成人一区二区人妻少妇| 一本丁香综合久久久久不卡网站| 免费观看又色又爽又黄的韩国| 午夜爽毛片| av天堂免费在线播放| 国产精品无码一区二区三级 | 国内精品亚洲成av人片| 老司机亚洲精品影院| 中文毛片无遮挡高潮| 人妻中文字幕一区二区二区| 在线观看国产白浆一区三区| 中文字幕有码无码人妻av蜜桃| 性大毛片视频| 欧美视频二区欧美影视| 亚洲av色香蕉一区二区三区蜜桃| 美丽的小蜜桃在线观看| 国产精品亚洲а∨天堂2021| 国产国拍亚洲精品mv在线观看|