国产伦精品一区二区三区_欧美日韩国产高清视频_激情欧美亚洲_狠狠色丁香婷婷综合影院

win7系統下載
當前位置: 首頁 > 網絡技術教程 > 詳細頁面

運用WinSock2 SPI進行網絡內容訪問控制

發布時間:2022-05-03 文章來源:xp下載站 瀏覽:

網絡技術是從1990年代中期發展起來的新技術,它把互聯網上分散的資源融為有機整體,實現資源的全面共享和有機協作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數據資源、信息資源、知識資源、專家資源、大型數據庫、網絡、傳感器等。 當前的互聯網只限于信息共享,網絡則被認為是互聯網發展的第三階段。

防火墻可以實施和執行網絡訪問策略,但是,傳統的防火墻技術集中于如何防范外部網絡對內部網絡的入侵和攻擊上,而對于如何控制內部用戶對外部網絡的訪問問題研究不夠深入,相關的控制技術也不多。據權威資料顯示,全球現有大約25萬色情網站,單純依靠傳統的包過濾等防火墻技術,勢必會嚴重影響網絡性能。針對這一問題,我們從應用層網關技術入手,利用WinSock2 SPI技術,進行了研究和探討。 


Winsock2 SPI原理圖
Winsock2 SPI(Service Provider Interface)服務提供者接口建立在Windows開放系統架構WOSA(Windows Open System Architecture)之上,是Winsock系統組件提供的面向系統底層的編程接口。Winsock系統組件向上面向用戶應用程序提供一個標準的API接口;向下在Winsock組件和Winsock服務提供者(比如TCP/IP協議棧)之間提供一個標準的SPI接口。各種服務提供者是Windows支持的DLL,掛靠在Winsock2 的Ws2_32.dll模塊下。對用戶應用程序使用的Winsock2 API中定義的許多內部函數來說,這些服務提供者都提供了它們的對應的運作方式(例如API函數WSAConnect有相應的SPI函數WSPConnect)。多數情況下,一個應用程序在調用Winsock2 API函數時,Ws2_32.dll會調用相應的Winsock2 SPI函數,利用特定的服務提供者執行所請求的服務。

Winsock2 SPI允許開發兩類服務提供者——傳輸服務提供者和名字空間服務提供者。“傳輸提供者”(Transport Providers, 一般稱作協議堆棧,例如TCP/IP)能夠提供建立通信、傳輸數據、日常數據流控制和錯誤控制等傳輸功能方面的服務。“名字空間提供者”(Name Space Providers,例如DNS名字解析服務)則把一個的地址屬性和一個或多個用戶友好名稱關聯到一起,以便啟用與應用無關的名字解析方案。

Winsock2中使用的傳輸服務提供者有兩類:基礎服務提供者和分層服務提供者。基礎服務提供者執行網絡傳輸協議(比如TCP/IP)的具體細節,其中包括在網絡上收發數據之類的核心網絡協議功能。“分層式”(Layered)服務提供者只負責執行高級的自定義通信功能,并依靠下面的基礎服務提供者,在網絡上進行真正的數據交換。

為了進行內部用戶對外訪問控制,我們需要在現有的基礎提供者TCP/IP提供者上設立一個分層式的URL過濾管理者。通過URL過濾管理者我們可以截獲用戶請求的HTTP數據包中的URL地址,繼而可以通過高效的數據檢索算法(如利用Fibonacci散列函數的哈希表),在訪問規則庫(被禁止訪問的IP集合)中查找指定的IP,根據結果拒絕或提供訪問服務。

傳輸服務提供者的安裝方式決定了它不僅是一個分層提供者,還是一個基礎服務提供者。Winsock 2使用系統配置數據庫配置傳輸服務提供者。配置數據庫讓Winsock2得知服務提供者的存在,并定義了提供的服務類型。要在Winsock2服務提供者數據庫內成功安裝和管理服務提供者,需要四個函數:WSCEnumProtocols、WSCInstallProvider、WSCWriteProvider Order、WSCDeInstallProvider。這些函數利用WSAPROTOCOL_INFOW結構,對服務提供者數據庫進行查詢和操作。要安裝分層式服務提供者,需要建立兩個WSPPROTOCOL_INFOW目錄條目結構。一個代表分層提供者(協議鏈長度等于0),另一個將代表一個協議鏈(協議長度大于1),該協議鏈把分層提供者與一個基礎服務提供者鏈接起來。應該使用現有服務提供者的WSAPROTOCOL_INFOW目錄條目結構的屬性來初始化這兩個結構。調用WSCEnumProtocols可以獲得已有的服務提供者的WSAPROTOCOL_INFOW目錄條目結構。初始化之后,首先需要使用WSCInstallProvider來安裝我們的訪問控制分層服務提供者目錄條目,然后,利用WSCEnumProtocols列舉出所有的目錄條目,獲得安裝之后為這個結構分配的目錄ID。然后,用這個目錄條目來設置一個協議鏈目錄條目,通過它,將我們的訪問控制服務提供者和另一個提供者(TCP基礎提供者)鏈接起來。然后再次調用WSCInstallProvider來安裝我們的分層鏈式服務提供者。

在用WSCInstallProvider安裝一個服務提供者時,目錄條目自動成為配置數據庫中的最后一個條目。要實現訪問控制就必須使我們的URL過濾服務提供者成為默認的TCP/IP提供者,必須通過調用WSCWriteProviderOrder函數來完成此項工作,對數據庫中提供者目錄條目進行重新排序,并把協議鏈目錄條目放在TCP/IP基礎提供者之前。

Winsock2傳輸服務提供者隨標準的Windows動態鏈接庫模塊一起執行。我們必須在我們的服務提供者動態鏈接庫模塊中導入DLLMain函數,同時還必須導入一個名為WSPStartup的單一函數條目。我們的URL過濾服務提供者必須提供對WSPStartup函數和其他30個SPI函數的支持。調用WSAStartup期間,Winsock根據WSASocket調用的地址家族、套接字類型和協議參數,來決定需要加載哪個服務提供者。只有在一個應用程序通過socket或WSASocket API調用建立一個采用地址家族AF_INET、套接字類型為SOCK_STREAM的套接字時,Winsock才會搜索并加載與之相應的、能夠提供TCP/IP能力的傳輸服務提供者。WSPStartup的參數UpcallTable取得Ws2_32.dll的SPI函數派遣表,我們的訪問控制分層服務提供者利用這些函數來管理自身和Winsock2之間的I/O操作。

我們利用WSPConnect函數來實現訪問控制功能。在用戶請求HTTP服務時,需要首先建立與目標站點的連接,連接成功后,在此連接基礎上發送HTTP請求數據包。用戶應用程序調用connect或WSAConnect函數建立連接時,SPI會調用對應的WSPConnect函數:INT WSPAPI WSPConnect(...,const struct sockaddr FAR *name,...,INT FAR *lpErrno)。在sockaddr類型的參數name中包含了用戶將要訪問的目標站點的IP地址信息。我們將name參數傳遞到IP可訪問性判定例程IPFilter。如果IPFilter函數返回代表授權訪問的結果,我們采用協議鏈命令路由,調用下一層的基礎服務提供者(TCP/IP)來完成連接請求。如果IPFilter函數返回代表拒絕服務的結果,我們設置lpErrno參數為相應的錯誤碼,然后返回,不進行協議鏈下一層服務提供者的調用,從而實現訪問控制。

分層式服務提供者大大發揮了聯網服務的潛能,增強了Winsock的應用,在我們的URL過濾服務中發揮了巨大的作用,基本實現了對內部用戶訪問外部網絡的訪問控制,為用戶提供了對互聯網的健康性的訪問服務。

【相關文章】

  • 專題:訪問控制列表(ACL)介紹
  • 基于時間的訪問控制列表配置實例
  • 訪問控制列表概述


網絡的神奇作用吸引著越來越多的用戶加入其中,正因如此,網絡的承受能力也面臨著越來越嚴峻的考驗―從硬件上、軟件上、所用標準上......,各項技術都需要適時應勢,對應發展,這正是網絡迅速走向進步的催化劑。

本文章關鍵詞: ACL WinSock2 SPI 訪問 路由 
国产伦精品一区二区三区_欧美日韩国产高清视频_激情欧美亚洲_狠狠色丁香婷婷综合影院
午夜欧美精品| 性亚洲最疯狂xxxx高清| 免费欧美日韩国产三级电影| 激情欧美一区二区三区| 免费在线视频一区| 欧美成人在线免费观看| 一区二区欧美日韩| 中文亚洲视频在线| 国产日韩欧美一区| 欧美v国产在线一区二区三区| 久久亚洲精品欧美| 99综合电影在线视频| 一本大道av伊人久久综合| 国产精品一区二区三区成人| 久久精品免费电影| 欧美成人精品一区二区| 亚洲素人在线| 久久精品理论片| 亚洲欧洲一区二区在线播放| 一区二区高清视频| 国产主播一区二区| 亚洲国产综合在线| 国产精品视频第一区| 猛男gaygay欧美视频| 欧美日韩国产一区精品一区| 性亚洲最疯狂xxxx高清| 美女精品在线观看| 亚洲欧美中文日韩在线| 麻豆国产va免费精品高清在线| 一区二区三区av| 久久精品五月| 亚洲图片在线观看| 老司机午夜精品视频在线观看| 亚洲一区二区三区777| 久久精品人人爽| 亚洲男人av电影| 蜜月aⅴ免费一区二区三区| 亚洲欧美日韩国产综合在线| 欧美91大片| 久久精品亚洲精品| 国产精品高清在线| 亚洲精品国产精品乱码不99 | 在线午夜精品| 亚洲国产另类精品专区| 亚洲欧美日韩精品久久久久| 夜色激情一区二区| 免费欧美电影| 麻豆av一区二区三区| 国产精品日韩欧美| 日韩一二三区视频| 日韩视频免费看| 久热精品视频在线观看| 久久人人精品| 国产日韩三区| 亚洲欧美视频一区| 亚洲欧美成人一区二区在线电影| 美日韩精品视频免费看| 免费观看久久久4p| 精品不卡一区| 久久久久久久精| 久久久国产亚洲精品| 国产欧美日韩一区二区三区在线 | 久久综合网络一区二区| 国产欧美一区二区三区另类精品 | 久久五月天婷婷| 韩日视频一区| 久久久久久久尹人综合网亚洲| 欧美一区二区三区精品| 国产精品一区二区三区久久| 一区二区成人精品| 亚洲综合三区| 国产精品网站视频| 欧美一区国产二区| 久久资源av| 亚洲高清不卡一区| 欧美激情视频网站| 日韩午夜在线| 欧美在线短视频| 国内视频一区| 久久久水蜜桃| 最新高清无码专区| 亚洲一区二区成人| 国产日韩精品在线| 久久久亚洲成人| 亚洲欧洲视频| 午夜视频一区| 1000部精品久久久久久久久| 欧美黑人国产人伦爽爽爽| 亚洲精选在线| 久久国产精品高清| 亚洲国产精品999| 欧美日韩视频不卡| 性欧美8khd高清极品| 久久综合色88| 亚洲免费av电影| 亚洲欧美中日韩| 国产欧美一区二区三区沐欲 | 欧美激情按摩| 亚洲在线第一页| 国产欧美亚洲一区| 蜜桃伊人久久| 亚洲桃花岛网站| 久久这里只有| 亚洲综合色丁香婷婷六月图片| 国产午夜精品久久久| 免费成人在线观看视频| 亚洲视频axxx| 亚洲高清三级视频| 久久9热精品视频| 最新日韩精品| 国产一区二区三区四区五区美女| 国产一区二区三区黄视频| 欧美精品v日韩精品v韩国精品v| 亚洲午夜高清视频| 亚洲福利视频一区| 久久久久久久综合日本| 夜夜夜久久久| 在线播放中文字幕一区| 国产精品久久亚洲7777| 欧美成人免费全部| 久久精品中文| 一区二区三区.www| 欧美a级片网| 久久久久久网| 午夜精品福利一区二区三区av| 91久久久亚洲精品| 在线精品福利| 国产一区二区三区在线观看精品| 欧美三级午夜理伦三级中文幕 | 一本到12不卡视频在线dvd| 另类天堂av| 久久久久免费| 久久精品国产精品| 午夜国产精品影院在线观看| 一区二区三区视频在线播放| 亚洲激情精品| 亚洲国产精品综合| 亚洲第一福利视频| 亚洲第一偷拍| 亚洲第一精品久久忘忧草社区| 国产亚洲精品aa| 国产欧美一区二区在线观看| 国产精品免费区二区三区观看| 欧美日韩在线精品一区二区三区| 欧美久久精品午夜青青大伊人| 蘑菇福利视频一区播放| 美女露胸一区二区三区| 六十路精品视频| 暖暖成人免费视频| 欧美激情一区二区在线 | 亚洲一区二区三区在线观看视频| 一区二区欧美日韩| 一区二区三区四区五区在线 | 久久久爽爽爽美女图片| 久久国产欧美日韩精品| 久久精品人人做人人综合| 久久99在线观看| 久久一区视频| 欧美大片一区| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲国产精品精华液2区45| 最新国产乱人伦偷精品免费网站| 亚洲欧洲精品一区二区三区| 99精品视频免费观看| 亚洲无亚洲人成网站77777| 亚洲影院高清在线| 久久久久.com| 欧美粗暴jizz性欧美20| 欧美日韩综合在线| 国产亚洲毛片| 日韩亚洲在线观看| 亚洲免费影院| 免费亚洲婷婷| 日韩视频一区二区| 欧美一区二区三区在线视频| 久久亚洲私人国产精品va| 欧美成人情趣视频| 国产精品任我爽爆在线播放| 狠狠色狠色综合曰曰| 日韩视频精品在线| 欧美一级午夜免费电影| 免费不卡亚洲欧美| 一本久道综合久久精品| 久久av免费一区| 欧美日韩一区二区三区免费看| 国产美女精品一区二区三区| 亚洲黄色尤物视频| 欧美一级大片在线观看| 亚洲高清三级视频| 午夜久久久久久| 欧美激情视频一区二区三区在线播放 | 亚洲欧美亚洲| 欧美国产日本在线| 国产真实乱偷精品视频免| aa成人免费视频| 蜜桃av一区二区三区| 亚洲先锋成人| 欧美精品videossex性护士| 国产有码在线一区二区视频| 这里是久久伊人|