freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于spi的數(shù)據(jù)報(bào)過濾原理與實(shí)現(xiàn)(編輯修改稿)

2025-06-12 19:10 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 th,filterpath,MAX_PATH); //擴(kuò)展環(huán)境變量 hfilter=LoadLibrary(filterpath)); //裝載下一層傳輸服務(wù)提供者 wspstartupfunc=(LPWSPSTARTUP)GetProcAddress(hfilter,WSPStartup)); //獲得下一層傳輸服務(wù)提供者的入口函數(shù) WSPStartup,以便調(diào)用 wspstartupfunc(wversionrequested,lpwspdata,lpprotoinfo,upcalltable,lpproctable); //調(diào)用下一層傳輸服務(wù)提供者的 WSPStartup函數(shù),實(shí)現(xiàn)鉤子功能 nextproctable=*lpproctable; //保存下一層服務(wù)提供者的 30個(gè)服務(wù)函數(shù)指針 lpproctablelpWSPSendTo=WSPSendTo; //調(diào)用自定義函數(shù) WSPSendTo 由于以動(dòng)態(tài)鏈接庫形式的服務(wù)提供者要向外提供一個(gè)入口函數(shù),因此還須一個(gè)配置文件 : EXPORTS WSPStartup //向外提供入口函數(shù) WSPStartup 是一個(gè)輔助工具,用來查看當(dāng)前系統(tǒng)中所 有已經(jīng)安裝的傳輸服務(wù)提供者的屬性。 totalprotocols=WSCEnumProtocols(NULL,protoinfo,amp。protoinfosize,amp。errorcode); //獲得系統(tǒng)中的所有傳輸服務(wù)提供者,然后根據(jù)參數(shù)輸出它們的各項(xiàng)屬性。 四、小結(jié)與后記 本文向大家介紹了 Windows Socket 2 的一個(gè)新特性,那就是服務(wù)提供者接口 SPI(Service Provider Interface)。它不僅包括我們主要講解的傳輸服務(wù)提供者接口,還包括名字空間服務(wù)提供者接口。當(dāng)然, 基于 SPI 的 包過濾安全措施并不是特別的好,因?yàn)楹芏嘟⒃?TDI 上面的數(shù)據(jù)傳輸并不會(huì)受到 SPI 的影響, 所以當(dāng)前流行的防火墻大都是建立在 NDIS 之上的。 傳輸服務(wù)提供者是以 DLL的形式存在于系統(tǒng)之中的,在基于 IP協(xié)議的網(wǎng)絡(luò)程序運(yùn)行時(shí),如果參數(shù)相匹配 就會(huì)加載我們的傳輸服務(wù)提供者程序。而且在 Windows 下有很多系統(tǒng)網(wǎng)絡(luò)服務(wù),它們都是在系統(tǒng)啟動(dòng)時(shí)自動(dòng) 加載的,這就為我們隱藏木馬的進(jìn)程提供了有利的條件。也就是說在傳輸服務(wù)提供者程序里嵌入木馬程序, 很多基于 IP協(xié)議的網(wǎng)絡(luò)系統(tǒng)程序在開機(jī)時(shí)運(yùn)行,這樣我們嵌入的木馬程序就會(huì)在系統(tǒng)啟 動(dòng)時(shí)自動(dòng)加載,在 系統(tǒng)關(guān)閉時(shí)才會(huì)卸載。它的特點(diǎn)是只要安裝一次后每每系統(tǒng)啟動(dòng)就會(huì)加載我們的傳輸服務(wù)提供者 (里面包含 木馬程序 ),而不必像遠(yuǎn)程注入線程那樣在系統(tǒng)每次啟動(dòng)時(shí)執(zhí)行安裝程序,并且它可同時(shí)被多個(gè)系統(tǒng)網(wǎng)絡(luò) 程序加載。 已編譯好的可執(zhí)行文件 (過濾 數(shù)據(jù)報(bào) ),您可以在我們的網(wǎng)站 (下載。 五、附錄之源程序 define UNICODE define _UNICODE include include include include include GUID filterguid={0x4d1e91fd,0x116a,0x44aa, {0x8f,0xd4,0x1d,0x2c,0xf2,0x7b,0xd9,0xa9}}; GUID filterchainguid={0xd3c21121,0x85e1,0x48f3, {0x9a,0xb6,0x23,0xd9,0x0c,0x73,0x07,0xef}}; BOOL getfilter(); void freefilter(); void installfilter(); void removefilter(); void start(); void usage(); int totalprotos=0; DWORD protoinfosize=0; LPWSAPROTOCOL_INFOW protoinfo=NULL; int main(int argc,char*argv) { start(); if(argc==2) { if(strcmp(argv[1],install)==0) { installfilter(); return 0; } else if(strcmp(argv[1],remove)==0) { removefilter(); return 0; } } usage(); return 0; } BOOL getfilter() { int errorcode; protoinfo=NULL; totalprotos=0; protoinfosize=0; if(WSCEnumProtocols(NULL,protoinfo,amp。protoinfosize,amp。errorcode)==SOCKET_ERROR) { if(errorcode! =WSAENOBUFS) { _tprintf(_T(First WSCEnumProtocols Error: %d\n),errorcode); return FALSE; } } if((protoinfo=(LPWSAPROTOCOL_INFOW)GlobalAlloc(GPTR,protoinfosize))==NULL) { _tprintf(_T(GlobalAlloc in getfilter Error: %d\n),GetLastError()); return FALSE; } if((totalprotos=WSCEnumProtocols(NULL,protoinfo,amp。protoinfosize,amp。errorcode))==SOCKET_ERROR) { _tprintf(_T(Second WSCEnumProtocols Error: %d\n),GetLastError()); return FALSE; } _tprintf(_T(Found%d protocols! \n),totalprotos); return TRUE; } void freefilter() { GlobalFree(protoinfo); } void installfilter() { int i; int provt; int cataindex; int errorcode; BOOL rawip=FALSE; BOOL udpip=FALSE; DWORD iplayercataid=0,udporigcataid=0; TCHAR filter_path[MAX_PATH]; TCHAR filter_name[MAX_PATH]; TCHAR chainname[WSAPROTOCOL_LEN+1]; LPDWORD cataentries; WSAPROTOCOL_INFOW iplayerinfo,udpchaininfo,chainarray[1]; getfilter(); for(i=0; i totalprotos; i++) { if(! rawip amp。amp。protoinfo[i].iAddressFamily==AF_INET amp。amp。protoinfo[i].iProtocol==IPPROTO_IP) { rawip=TRUE; memcpy(amp。iplayerinfo,amp。protoinfo[i],sizeof(WSAPROTOCOL_INFOW)); =protoinfo[i].dwServiceFlags1amp。(~XP1_IFS_HANDLES); } if(! udpip amp。amp。protoinfo[i].iAddressFa
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1