亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? windows下的個人防火墻-網絡數據包攔截技術概覽.txt

?? BBS的精華之處
?? TXT
字號:
發信人: glees (針葉林), 信區: Hacker
標  題: ◆ Windows下的個人防火墻-網絡數據包攔截技術概覽
發信站: 哈工大紫丁香 (2002年03月01日20:00:50 星期五), 站內信件



  隨著網絡安全問題日益嚴重,網絡安全產品也被人們重視起來。防火墻作為最早
出現的網絡安全產品和使用量最大的安全產品,也受到用戶和研發機構的青睞。從
防火墻的應用角度來看基本上可以分為兩種:網絡級的防火墻和個人防火墻。
Windows操作系統作為使用最為廣泛的PC操作系統,因此在Windows操作系統下開發
的個人防火墻產品數不勝數。國外比較著名的有AtGuard,Outpost Firewall,
ZoneAlarm,Tiny Personal Firewall,Norton Personal Firewall以及Sygate
Personal Firewall等,國內用的比較多的有天網防火墻等產品。
    所有基于Windows操作系統的個人防火墻核心技術點在于Windows操作系統下網
絡數據包攔截技術。本文主要講述的是Windows操作系統下網絡數據包攔截的技術
。首先讀者應該對Windows網絡體系結構有一定了解,并且對開發Windows驅動程序
有一定了解
    微軟和3Com公司在1989年制定了一套開發Windows下網絡驅動程序的標準,稱
為NDIS( Network Driver Interface Specification)。NDIS為網絡驅動的開發
提供了一套標準的接口,使得網絡驅動程序的跨平臺性更好。NDIS提供以下幾個層
次的接口:
?1、NDIS小端口驅動(Miniport driver)。這也就是我們常說的網卡驅動。
?2、NDIS 協議驅動(Protocol driver)。例如TCPIP協議驅動。
?3、NDIS 中間層驅動(Intermediate driver)。這是基于鏈路層和IP層之間的驅
動。
    從圖1中我們可以很清楚地看到網絡驅動的分層結構,這就給我們提供了攔截
網絡數據包的基本思路。
    總的來說,要攔截Windows下的網絡數據包可以在兩個層面進行:用戶態(
user-mode)和內核態(kernel-mode)


    用戶態下的網絡數據包攔截
    在用戶態下進行網絡數據包攔截有以下幾種方法:
    1) Winsock Layered Service Provider (LSP)。這種方法在MSDN里有很詳細
的文檔,并且給出了一個例子(SPI.CPP)。這種方法的好處是可以獲得調用
Winsock的進程詳細信息。這就可以用來實現QoS,數據流加密等目的。但是,如果
應用程序直接通過TDI(Transport Driver Inface)調用TCPIP來發送數據包,這
種方法就無能為力了。對于一些木馬和病毒來說要實現通過TDI直接調用TCPIP是一
件很容易的事情。因此,大多數的個人防火墻都不使用這種方法。國內也有使用該
方法實現的個人防火墻,例如Xfilter(www.xfilter.com)。
    2) Windows 2000 包過濾接口。Windows 2000 IPHLP API提供了安裝包過濾器
的功能。但是,包過濾的規則有很多限制,對于個人防火墻來說是遠遠不夠的。
    3) 替換系統自帶的WINSOCK動態連接庫。這種方法可以在很多文章里面找到詳
細的實現細節。
    很顯然,在用戶態下進行數據包攔截最致命的缺點就是只能在Winsock層次上
進行,而對于網絡協議棧中底層協議的數據包無法進行處理。對于一些木馬和病毒
來說很容易避開這個層次的防火墻。

    利用驅動程序攔截網絡數據包
    大多數的個人防火墻都是利用網絡驅動程序來實現的。從圖1中我們馬上可以
想到可以從以下幾個方面來做文章:
?  1、TDI過濾驅動程序(TDI Filter Driver)
?  2、NDIS中間層驅動程序(NDIS Intermediate Driver)
?  3、Win2k Filter-Hook Driver
?  4、NDIS Hook Driver
    以下我們大體介紹這幾種方法。具體的實現細節請參見Win2k DDK文檔。
    TDI過濾驅動程序。當應用程序要發送或接收網絡數據包的時候,都是通過與
協議驅動所提供的接口來進行的。協議驅動提供了一套系統預定義的標準接口來和
應用程序之間進行交互。在Windows 2000/NT下,ip,tcp,udp是在一個驅動程序里
實現的,叫做tcp.sys,這個驅動程序創建了幾個設備:\Device\RawIp,
\Device\Udp,\Device\Tcp,\Device\Ip, \Device\MULTICAST。應用程序所有的
網絡數據操作都是通過這幾個設備進行的。因此,我們只需要開發一個過濾驅動來
截獲這些交互的接口,就可以實現網絡數據包的攔截。TDI層的網絡數據攔截還可
以得到操作網絡數據包的進程詳細信息,這也是個人防火墻的一個重要功能。
    NDIS中間層驅動。中間層驅動介于協議層驅動和小端口驅動之間,它能夠截獲
所有的網絡數據包(如果是以太網那就是以太幀)。NDIS中間層驅動的應用很廣泛
,不僅僅是個人防火墻,還可以用來實現VPN,NAT,PPPOverEthernet以及VLan。
中間層驅動的概念是在Window NT SP4之后才有的,因此對于Windows9x來說無法直
接利用中間層驅動的功能。Windows DDK提供了兩個著名的中間層驅動例子:
Passthru以及Mux。開發人員可以在Passthru的基礎上進行開發,Mux則實現了
VLan功能。目前個人防火墻的產品還很少用到這種技術,主要的原因在于中間層驅
動的安裝過于復雜,尤其是在Windows NT下。Windows 2000下可以通過程序實現自
動安裝,但是如果驅動沒有經過數字簽名的話,系統會提示用戶是否繼續安裝。中
間層驅動功能強大,應該是今后個人防火墻技術的趨勢所在,特別是一些附加功能
的實現。
    Win2k Filter-Hook Driver。這是從Windows2000開始系統所提供的一種驅動
程序,該驅動程序主要是利用ipfiltdrv.sys所提供的功能來攔截網絡數據包。
Filter-Hook Driver在結構非常簡單,易于實現。但是正因為其結構過于簡單,并
且依賴于ipfiltdrv.sys,Microsfot并不推薦使用Filter-Hook Driver。
    NDIS Hook Driver。這是目前大多數個人防火墻所使用的方法。Hook的概念在
Windows9x下非常流行,而且實現也很容易。在Windows9x下,驅動程序(VxD)通
過使用Hook_Device_Service可以掛接NDIS所提供的所有服務。在Windows
NT/2000下面如何實現Hook呢?有兩種不同的思路:
    1) 通過修改NDIS.SYS的Export Table。在Windows NT/2000下,可執行文件(
包括DLL以及SYS)都是遵從PE(Portable Executable)格式的。所有向其他操作
系統組件提供接口的驅動程序都有Export Table,因此只要修改NDIS.SYS的Export
 Table就可以實現對關鍵NDIS API的掛接。由于協議驅動程序在系統啟動的時候會
調用NdisRegisterProtocol來向系統進行協議注冊,因此這種方法關鍵在于修改
NDIS.SYS所提供的
NdisRegisterProtocol/NdisDeRegisterProtocol/NdisOpenAdapter/NdisCloseAda
pter/NdisSend函數的起始地址。我們知道,在用戶態模式要修改PE文件格式可以
用一些API來實現,而NDIS.SYS位于系統的核心內存區,因此要修改NDIS.SYS就不
得不通過寫驅動程序來實現,也就要求我們對PE文件格式有比較深入的了解。使用
這種方法還要注意驅動程序的加載次序,顯然Hook Driver必須在NDIS.SYS被加載
之后,而在協議驅動程序如tcpip.sys被加載之前。另外,Windows2000還提供了系
統文件保護機制,因此在修改ndis.sys還需要通過修改注冊表屏蔽系統文件保護機
制。
    2) 向系統注冊假協議(fake protocol)。在Windows內核中,所有已注冊的
協議是通過一個單向的協議鏈表來維護的。這個單向鏈表保存了所有已注冊協議的
NDIS_PROTOCOL_BLOCK結構的地址,在這個結構中保存了協議驅動所指定的相應的
派發函數的地址如RECEIVE_HANDLER等。并且,每個協議驅動還對應一個
NDIS_OPEN_BLOCK的單向鏈表來維護其所綁定的網卡信息。當協議驅動調用
NdisRegisterProtocol之后,NDIS總是會把新注冊的協議放在協議鏈表的表頭并返
回這張表,所以只要我們注冊一個新的協議通過新協議注冊返回的鏈表頭就可以輕
而易舉的遍歷系統中所有協議表。但是,如果要成功地掛接派發函數,還需要對協
議所對應的NDIS_OPEN_BLOCK結構里的派發函數進行掛接,因為NDIS并不是直接調
用協議驅動在NDIS_PROTOCOL_CHARACTERISTICS所注冊的派發函數地址,而是調用
NDIS_OPEN_BLOCK里的派發函數。值得注意的是,在Windows9x/Me/NT的DDK中,
NDIS_PROTOCOL_BLOCK的定義是很明確的,而在Windows 2000/xp的DDK中,并沒有
該結構的詳細定義,也就是說該結構在Windows2000/xp下是非公開的,因此開發人
員需要利用各種調試工具來發掘該結構的詳細定義。也正是因為如此,這種方法對
平臺的依賴性比較大,需要在程序中判斷不同的操作系統版本而使用不同的結構定
義。


總結
    本文重點描述了在WindowsNT/2000/xp下個人防火墻核心技術-網絡數據包攔截
技術,分析了各種可能的方法以及各種方法的優缺點,實際上許多個人防火墻結合
了幾種不同的技術來在不同層面上進行網絡數據包攔截。值得說明的是,網絡數據
包攔截技術不僅僅可以用來開發個人防火墻,還可以用來開發其他的產品。

--
  世界上有兩件東西能夠深深地震撼人們的心靈                                                                              
  一件是我們心中崇高的道德準則                                                                                          
  另一件是我們頭頂上燦爛的星空                                                                                          
                                                                                                                        
                             ——伊曼努爾·康德                                                                         
                                                                                                                        
                                                                                                                        
※ 來源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.230.221]                                                          

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品人人做人人爽人人添| 91久久香蕉国产日韩欧美9色| 欧美午夜精品久久久久久超碰 | ...av二区三区久久精品| 国产一区二区三区精品欧美日韩一区二区三区 | 日韩一区二区精品在线观看| 亚洲国产成人tv| 日本精品免费观看高清观看| 亚洲男人的天堂在线观看| av成人免费在线观看| 国产精品久久久久久久久果冻传媒| 国产精品99久久久久久似苏梦涵| 精品国精品国产尤物美女| 久久激情综合网| 精品国产髙清在线看国产毛片| 蜜臀国产一区二区三区在线播放| 6080亚洲精品一区二区| 不卡电影一区二区三区| 在线观看一区日韩| 亚洲高清视频在线| 欧美日韩国产a| 日韩黄色片在线观看| 日韩欧美资源站| 国产美女精品人人做人人爽| 久久亚洲私人国产精品va媚药| 国产一区欧美日韩| 中文字幕av一区 二区| 97久久人人超碰| 一区二区三区波多野结衣在线观看| 欧美主播一区二区三区| 婷婷久久综合九色综合伊人色| 欧美一区二区三区日韩| 精品亚洲成a人在线观看| 久久精品视频在线免费观看| 丁香另类激情小说| 亚洲乱码日产精品bd| 欧美日韩综合色| 美脚の诱脚舐め脚责91| 欧美激情在线免费观看| 色婷婷综合在线| 日韩 欧美一区二区三区| 日韩一级成人av| 成人免费视频国产在线观看| 伊人性伊人情综合网| 91精品久久久久久久91蜜桃 | 亚洲一区二区精品久久av| 欧美日韩激情一区二区三区| 奇米色一区二区| 日本一区二区免费在线| 一本色道久久综合狠狠躁的推荐 | 麻豆精品在线观看| 久久成人免费网| 欧美性生活久久| 日本一道高清亚洲日美韩| 91精品久久久久久久久99蜜臂| 黑人巨大精品欧美一区| 综合色中文字幕| 欧美一区二区在线免费播放| 成人小视频在线| 天天操天天综合网| 国产亚洲欧洲997久久综合| 97se亚洲国产综合自在线| 人人精品人人爱| 国产欧美日韩一区二区三区在线观看| 日本乱码高清不卡字幕| 激情综合亚洲精品| 亚洲免费观看高清完整版在线观看| 91精品国产黑色紧身裤美女| 成人免费看的视频| 天堂影院一区二区| 久久久国产综合精品女国产盗摄| 在线观看区一区二| 久久疯狂做爰流白浆xx| 亚洲少妇屁股交4| 精品国产一区二区三区av性色| 色综合久久综合| 国产一区二区在线视频| 亚洲最大成人网4388xx| 国产日韩欧美a| 欧美久久久久久久久中文字幕| 国产成人精品1024| 日本va欧美va精品| ...av二区三区久久精品| 久久一留热品黄| 欧美日韩美女一区二区| 成人高清免费在线播放| 看国产成人h片视频| 伊人夜夜躁av伊人久久| 中文字幕欧美三区| 日韩欧美久久久| 欧美三片在线视频观看| www.99精品| 激情丁香综合五月| 天天操天天色综合| 亚洲欧洲美洲综合色网| 久久麻豆一区二区| 日韩欧美国产三级| 欧美午夜在线一二页| av激情亚洲男人天堂| 国产成人免费视频| 久久精品久久综合| 爽好多水快深点欧美视频| 精品国产免费一区二区三区香蕉| 欧美色网站导航| 91丨porny丨国产| 国产1区2区3区精品美女| 麻豆精品国产传媒mv男同| 亚洲黄色尤物视频| 日韩一区日韩二区| 久久亚洲免费视频| 精品日产卡一卡二卡麻豆| 制服.丝袜.亚洲.中文.综合| 国产凹凸在线观看一区二区| 国内精品免费**视频| 久久精品国产精品亚洲精品| 日韩高清国产一区在线| 亚洲图片自拍偷拍| 夜夜嗨av一区二区三区中文字幕| 国产精品久久免费看| 国产精品系列在线| 国产精品丝袜一区| 国产三级精品视频| 国产亚洲一区二区三区在线观看 | 亚洲精品一区二区三区四区高清| 91精品婷婷国产综合久久性色| 欧美优质美女网站| 91久久人澡人人添人人爽欧美| 成人av在线一区二区三区| 成人夜色视频网站在线观看| 国产精品一级黄| 国产在线视频精品一区| 国产黄色91视频| 国产呦精品一区二区三区网站| 久久成人免费网| 国产精品系列在线播放| 国产激情91久久精品导航 | 精品亚洲国产成人av制服丝袜| 久久66热re国产| 韩国欧美国产一区| 国产盗摄一区二区| 成人免费视频app| av电影在线观看一区| 色婷婷av久久久久久久| 欧美图片一区二区三区| 欧美精品久久久久久久多人混战 | 成人小视频免费在线观看| 国产**成人网毛片九色 | 国产综合色精品一区二区三区| 精品一区二区综合| 懂色一区二区三区免费观看| va亚洲va日韩不卡在线观看| 色综合亚洲欧洲| 欧美日韩在线免费视频| 91精品国产综合久久精品app| 欧美不卡视频一区| 国产午夜亚洲精品午夜鲁丝片| 国产欧美一区二区精品忘忧草| 亚洲国产精品av| 亚洲精品成a人| 日本成人在线一区| 国产一区不卡视频| 91一区在线观看| 欧美日韩一区在线观看| 欧美变态凌虐bdsm| 国产精品午夜久久| 亚洲国产人成综合网站| 麻豆免费看一区二区三区| 国产夫妻精品视频| 18欧美乱大交hd1984| 亚洲五月六月丁香激情| 欧美日韩精品欧美日韩精品| 色综合色狠狠综合色| 3atv一区二区三区| 国产欧美日韩精品a在线观看| 一区二区三区毛片| 精品一区二区免费视频| caoporen国产精品视频| 欧美日韩国产综合草草| 久久这里只有精品首页| 亚洲欧美国产高清| 麻豆精品在线播放| 波多野结衣一区二区三区| 欧美日韩亚洲综合| 久久精品综合网| 亚洲国产成人av网| 国产成人精品免费| 欧美麻豆精品久久久久久| 久久久久久久综合色一本| 亚洲精品欧美综合四区| 久久成人精品无人区| 懂色av中文字幕一区二区三区| 欧美日韩电影在线| 欧美激情一区不卡| 日韩1区2区日韩1区2区| 国产一区二区剧情av在线| 欧美日韩综合在线免费观看| 亚洲国产激情av| 老司机精品视频在线| 色诱视频网站一区| 国产三级欧美三级|