三年片免费观看影视大全,tube xxxx movies,最近2019中文字幕第二页,暴躁少女CSGO高清观看

網(wǎng)卡驅(qū)動(dòng)程序匯總十篇

時(shí)間:2023-03-03 15:45:07

序論:好文章的創(chuàng)作是一個(gè)不斷探索和完善的過(guò)程,我們?yōu)槟扑]十篇網(wǎng)卡驅(qū)動(dòng)程序范例,希望它們能助您一臂之力,提升您的閱讀品質(zhì),帶來(lái)更深刻的閱讀感受。

篇(1)

§1.1.1 windows nt網(wǎng)絡(luò)體系結(jié)構(gòu)

windows nt的網(wǎng)絡(luò)體系結(jié)構(gòu)是基于國(guó)際標(biāo)準(zhǔn)化(iso)制定的標(biāo)準(zhǔn)模型──開(kāi)放式系統(tǒng)互連(open system interconnection:osi)參考模型分層建立的,這種方式有利于隨時(shí)擴(kuò)展其它功能和服務(wù)。

windows nt網(wǎng)絡(luò)模型開(kāi)始于mac子層,網(wǎng)卡驅(qū)動(dòng)程序就駐留在其中。它通過(guò)相關(guān)的網(wǎng)卡把windows nt與網(wǎng)絡(luò)連接起來(lái),圖中的多個(gè)網(wǎng)卡表明在一臺(tái)運(yùn)行windows nt的計(jì)算機(jī)上能使用多種網(wǎng)卡。

這一網(wǎng)絡(luò)體系結(jié)構(gòu)包括兩個(gè)重要接口──ndis接口與傳輸驅(qū)動(dòng)

程序接口(tdi)。這兩個(gè)接口把兩個(gè)層隔離開(kāi)來(lái),辦法是相鄰的部件只允許按單一的標(biāo)準(zhǔn)來(lái)寫(xiě),不允許多重標(biāo)準(zhǔn)。例如一個(gè)網(wǎng)卡驅(qū)動(dòng)程序(在ndis接口的下面)就不需要特地按每個(gè)傳輸協(xié)議來(lái)寫(xiě)它的代碼塊,恰恰相反,該驅(qū)動(dòng)程序是寫(xiě)給ndis接口的,它通過(guò)符合ndis的相應(yīng)傳輸協(xié)議來(lái)請(qǐng)求服務(wù)。這些接口包含在windows nt的網(wǎng)絡(luò)體系結(jié)構(gòu)中,以容納可移植、可互換的模塊。

在兩個(gè)接口之間,是傳輸協(xié)議。它在網(wǎng)絡(luò)中起著組織者的作用。一個(gè)傳輸協(xié)議規(guī)定了數(shù)據(jù)以何種方式呈遞給下一個(gè)接收層,以及如何對(duì)數(shù)據(jù)相應(yīng)地進(jìn)行打包。它通過(guò)ndis把數(shù)據(jù)傳給網(wǎng)卡驅(qū)動(dòng)程序,并通過(guò)tdi把數(shù)據(jù)傳給轉(zhuǎn)發(fā)程序(redirector)

tdi之上是轉(zhuǎn)發(fā)程序,它把本地的網(wǎng)絡(luò)資源申請(qǐng)轉(zhuǎn)送給網(wǎng)絡(luò)。

為了能和其他廠商的網(wǎng)絡(luò)互連,windows nt允許有多個(gè)轉(zhuǎn)發(fā)程序。對(duì)于每一個(gè)轉(zhuǎn)發(fā)程序windows nt計(jì)算機(jī)必須也有一個(gè)相應(yīng)的供應(yīng)者(provider)(由網(wǎng)絡(luò)廠商提供)。多供應(yīng)者路由選擇程序決定適當(dāng)?shù)墓?yīng)者,然后借助于供應(yīng)者,對(duì)應(yīng)用請(qǐng)求到相應(yīng)的轉(zhuǎn)發(fā)程序做出選擇。windows nt支持兩種類(lèi)型的網(wǎng)絡(luò)驅(qū)動(dòng)程序

傳輸驅(qū)動(dòng)程序

實(shí)現(xiàn)數(shù)據(jù)鏈路層中的邏輯鏈路控制子層協(xié)議和傳輸層協(xié)議。向 下與ndis接口,向上與tdi接口。

網(wǎng)卡驅(qū)動(dòng)程序

實(shí)現(xiàn)對(duì)物理層的管理和數(shù)據(jù)鏈路層中介質(zhì)訪問(wèn)控制子層協(xié)議,通過(guò)ndis向下管理物理網(wǎng)卡,向上與傳輸驅(qū)動(dòng)程序通信。

§1.1.3 windows nt網(wǎng)卡驅(qū)動(dòng)程序

windows nt環(huán)境下的網(wǎng)卡驅(qū)動(dòng)程序也分為兩種:

miniport網(wǎng)卡驅(qū)動(dòng)程序:miniport驅(qū)動(dòng)程序只須實(shí)現(xiàn)與網(wǎng)絡(luò)硬件相關(guān)的操作(包括發(fā)送和接收)。而所有底層網(wǎng)卡驅(qū)動(dòng)程序的通用操作(如同步),一般由ndis接口程序來(lái)實(shí)現(xiàn)。

full網(wǎng)卡驅(qū)動(dòng)程序:full網(wǎng)卡驅(qū)動(dòng)程序必須實(shí)現(xiàn)所有硬件相關(guān)和同步、排隊(duì)等操作。例如full網(wǎng)卡驅(qū)動(dòng)程序?yàn)榱隧憫?yīng)數(shù)據(jù)接收,需要保持本身的捆綁信息,而miniport就可以由ndis接口庫(kù)來(lái)實(shí)現(xiàn)。

在windows nt的早期版本中,full網(wǎng)卡驅(qū)動(dòng)程序要求開(kāi)發(fā)者實(shí)現(xiàn)許多底層操作,來(lái)處理多處理器的核心問(wèn)題以及處理器、線程的同步,這樣不同的開(kāi)發(fā)者在大量重復(fù)著許多相同的工作。

而miniport網(wǎng)卡驅(qū)動(dòng)程序允許開(kāi)發(fā)者僅僅寫(xiě)一些與網(wǎng)絡(luò)硬件相關(guān)的代碼即可,而那些通用的函數(shù)由ndis接口庫(kù)來(lái)實(shí)現(xiàn),這樣開(kāi)發(fā)出來(lái)的驅(qū)動(dòng)程序減少了不必要的工作。

第二節(jié)miniport驅(qū)動(dòng)程序的結(jié)構(gòu)

ndis接口規(guī)范了網(wǎng)卡驅(qū)動(dòng)程序的實(shí)現(xiàn),同時(shí)也對(duì)tdi驅(qū)動(dòng)程序的實(shí)現(xiàn)提出了一定的要求,在nt中,ndis約束下的網(wǎng)卡驅(qū)動(dòng)程序、tdi驅(qū)動(dòng)程序和系統(tǒng)的關(guān)系如下圖所示:

圖2.0 ndis約束下的網(wǎng)卡驅(qū)動(dòng)程序、tdi驅(qū)動(dòng)程序和系統(tǒng)的關(guān)系

miniport驅(qū)動(dòng)程序包括驅(qū)動(dòng)程序?qū)ο蟆Ⅱ?qū)動(dòng)程序源代碼和ndis接口庫(kù)代碼。windows nt ddk提供ndis.h作為miniport驅(qū)動(dòng)程序的主要頭文件,定義了miniport驅(qū)動(dòng)程序的入口點(diǎn)、ndis接口庫(kù)函數(shù)和通用數(shù)據(jù)結(jié)構(gòu)。

上邊緣函數(shù)的作用是網(wǎng)卡驅(qū)動(dòng)與ndis接口庫(kù)進(jìn)行通信,而下邊緣函數(shù)是tdi協(xié)議驅(qū)動(dòng)程序與ndis通信的手段。ndis用一個(gè)叫做邏輯網(wǎng)卡的軟件對(duì)象來(lái)描述系統(tǒng)中的每塊網(wǎng)卡,而邏輯網(wǎng)卡與windows nt設(shè)備對(duì)象的通信由i/o子系統(tǒng)來(lái)管理,描述網(wǎng)卡的設(shè)備對(duì)象包括相關(guān)的網(wǎng)絡(luò)信息如名字、網(wǎng)絡(luò)地址和網(wǎng)卡內(nèi)存基地址等,它還包含與硬件相關(guān)的驅(qū)動(dòng)程序狀態(tài)數(shù)據(jù)(捆綁數(shù)目,捆綁句柄,包過(guò)濾數(shù)據(jù)庫(kù)等)。ndis分配一個(gè)句柄到miniportinitialize這個(gè)上邊緣函數(shù)的一個(gè)結(jié)構(gòu)中,然后miniport網(wǎng)卡驅(qū)動(dòng)程序?qū)⒃谝院筇峁┻@個(gè)句柄來(lái)給ndis調(diào)用,這個(gè)結(jié)構(gòu)一直被ndis保持,并且對(duì)miniport驅(qū)動(dòng)程序不透明。 當(dāng)miniport網(wǎng)卡驅(qū)動(dòng)程序初始化一塊網(wǎng)卡時(shí),它創(chuàng)立自己的內(nèi)部數(shù)據(jù)結(jié)構(gòu)來(lái)描述網(wǎng)卡,記錄需要它管理的與設(shè)備相關(guān)的狀態(tài)信息。當(dāng)miniport網(wǎng)卡驅(qū)動(dòng)程序調(diào)用ndismsetatttibutes或ndismsetattributesex兩ndis庫(kù)函數(shù)時(shí),它傳遞一個(gè)句柄給這數(shù)據(jù)結(jié)構(gòu)。這樣,當(dāng)調(diào)用miniport驅(qū)動(dòng)程序入口點(diǎn)時(shí),它就傳遞這個(gè)句柄來(lái)驗(yàn)證驅(qū)動(dòng)程序所對(duì)應(yīng)的網(wǎng)卡的正確性。這個(gè)數(shù)據(jù)結(jié)構(gòu)為miniport網(wǎng)卡驅(qū)動(dòng)程序所擁有并維護(hù)。miniport nic驅(qū)動(dòng)程序還需要維護(hù)一組對(duì)象,這些對(duì)象是系統(tǒng)定義的對(duì)象標(biāo)識(shí)符(object idetifier:oid)來(lái)標(biāo)識(shí),以描述驅(qū)動(dòng)程序的性能和當(dāng)前狀態(tài)信息。為查詢這些信息,上層驅(qū)動(dòng)程序調(diào)用ndisrequest向ndis接口庫(kù)指示oid。oid表示了調(diào)用所需的信息類(lèi)型,如miniport驅(qū)動(dòng)程序所支持的lookahead緩沖區(qū)大小等。ndis接到上層驅(qū)動(dòng)程序的查詢請(qǐng)求,將oid傳遞給上邊緣函數(shù)miniportqueryinformation實(shí)現(xiàn)對(duì)oid的查詢,如果上層驅(qū)動(dòng)程序請(qǐng)求改變狀態(tài)信息則調(diào)用miniportsetinformation實(shí)現(xiàn)對(duì)oid的設(shè)置。典型的miniport nic驅(qū)動(dòng)程序必須有一些函數(shù)來(lái)通過(guò)ndis接口實(shí)現(xiàn)上層驅(qū)動(dòng)程序與硬件的通信。這些函數(shù)稱為上邊緣服務(wù)函數(shù)。

這些上邊緣服務(wù)函數(shù)由驅(qū)動(dòng)程序的開(kāi)發(fā)者根據(jù)驅(qū)動(dòng)程序面向的特定低層網(wǎng)絡(luò)類(lèi)型和硬件以及相應(yīng)環(huán)境,可以有選擇地實(shí)現(xiàn),但必須保證驅(qū)動(dòng)程序最基本的功能,這些基本功能包括初始化、發(fā)送、中斷處理、重置、參數(shù)查詢與設(shè)置和報(bào)文接收。

miniportinitialize:操作系統(tǒng)根據(jù)系統(tǒng)配置信息,檢測(cè)出網(wǎng)卡已安裝時(shí),由ndis接口在初始化時(shí)調(diào)用,主要完成低層網(wǎng)絡(luò)類(lèi)型確定,對(duì)應(yīng)于物理網(wǎng)卡的邏輯網(wǎng)卡初始化,中斷信息注冊(cè),網(wǎng)卡與主機(jī)通訊方式的確認(rèn)。i/o端口的申請(qǐng)與注冊(cè),內(nèi)存映像,mib的初始化,物理網(wǎng)卡的驗(yàn)證與初始化等。

miniportreconfigure:支持網(wǎng)卡參數(shù)動(dòng)態(tài)變化,和miniportinitilize一樣由ndis接口以初始化級(jí)別調(diào)度執(zhí)行(不能屏蔽中斷,必須由驅(qū)動(dòng)程序承認(rèn)并清除在此期間產(chǎn)生的中斷),支持即插即用和軟配置的網(wǎng)卡在動(dòng)態(tài)改變參數(shù)時(shí),必須提供此函數(shù)。

miniportqueryinformation:查詢網(wǎng)卡的狀態(tài)以及網(wǎng)卡驅(qū)動(dòng)程序的操作或統(tǒng)計(jì)參數(shù),如是否支持組通訊、網(wǎng)卡的物理速率是否支持回環(huán)、是否支持直接拷貝等,這些參數(shù)以oid方式統(tǒng)一管理。

miniportsetinformation:ndis接口或協(xié)議驅(qū)動(dòng)程序通過(guò)調(diào)用此接口改變驅(qū)動(dòng)程序維護(hù)的oid庫(kù),一些操作參數(shù)的改變也將同時(shí)改變驅(qū)動(dòng)程序狀態(tài),例如組地址的設(shè)置。

miniportreset:包括網(wǎng)卡硬件重置和驅(qū)動(dòng)程序軟件重置,軟件重置包括驅(qū)動(dòng)程序狀態(tài)重置,以及一些相關(guān)的參數(shù)重置,還需考慮有些參數(shù)的恢復(fù),重置時(shí)不必完成所有正在活躍的外部請(qǐng)求,但必須釋放已占用的外部資源。

miniporthalt:掛起網(wǎng)卡并釋放該網(wǎng)卡驅(qū)動(dòng)程序占用的所有資源,在此期間不屏蔽中斷。

miniportisr:高優(yōu)先級(jí)的中斷處理程序,進(jìn)行的工作包括初始中斷處理類(lèi)型,決定是否進(jìn)行中斷轉(zhuǎn)交,對(duì)卡上中斷進(jìn)行處理 等,該服務(wù)類(lèi)型只在以下情況被調(diào)用:

ndis接口調(diào)用miniportinitialize和miniporthalt兩函數(shù)時(shí)。

.中斷處理類(lèi)型設(shè)為每此中斷處理過(guò)程都調(diào)用時(shí)。

為使系統(tǒng)能及時(shí)響應(yīng)所有硬件中斷,高優(yōu)先級(jí)的硬件中斷處理程序應(yīng)盡可能的減少運(yùn)行時(shí)間,防止長(zhǎng)時(shí)間的屏蔽低優(yōu)先級(jí)中斷,避免造程中斷丟失。

miniporthandleinterrupt:由中斷延時(shí)處理程序在中斷延時(shí)處理時(shí)進(jìn)行調(diào)用。ndis排隊(duì)所有的延時(shí)處理,該服務(wù)主要處理發(fā)送完成、報(bào)文接收、描述符用盡、溢出、網(wǎng)卡異常等中斷。

miniportsend:ndis收到上層發(fā)送請(qǐng)求時(shí)經(jīng)過(guò)若干協(xié)議處理再向下調(diào)用此服務(wù)過(guò)程,發(fā)送的packet已含有l(wèi)lc和mac頭,該服務(wù)過(guò)程進(jìn)行邊界對(duì)齊、packet約束重整、描述符映射和報(bào)文發(fā)送、以及發(fā)送資源和packet緩沖隊(duì)列管理。

miniporttransferdata:多個(gè)已和網(wǎng)卡捆綁的協(xié)議驅(qū)動(dòng)程序在接收到報(bào)文到達(dá)指示后,向網(wǎng)卡驅(qū)動(dòng)程序發(fā)出傳送請(qǐng)求以拷貝各自所需的報(bào)文數(shù)據(jù)部分,網(wǎng)卡驅(qū)動(dòng)程序根據(jù)各協(xié)議驅(qū)動(dòng)程序?qū)蝹€(gè)packet是否進(jìn)行多次拷貝,以決定是否暫存只允許單次拷貝的packet等。

miniportcheckhandle:ndis每秒調(diào)用此服務(wù)函數(shù)一次,驅(qū)動(dòng)程序發(fā)現(xiàn)網(wǎng)卡異常時(shí)報(bào)告給ndis由ndis調(diào)用miniportreset進(jìn)行硬件重恢復(fù)。

miniportenableintrrupt:中斷使能。

miniportdisableinterrupt:中斷屏蔽。

另外,每個(gè)網(wǎng)卡驅(qū)動(dòng)程序必須有一個(gè)初始化入口點(diǎn),由driver entry函數(shù)實(shí)現(xiàn),它和系統(tǒng)相關(guān),由操作系統(tǒng)在裝入驅(qū)動(dòng)程序時(shí)調(diào)用,主要完成初始化ndis wrapper,再由wrapper初始生成驅(qū)動(dòng)程序管理塊并完成相應(yīng)各種初始化工作,登錄網(wǎng)卡驅(qū)動(dòng)程序所有上邊緣服務(wù)入口點(diǎn),同時(shí)寫(xiě)入ndis版本信息。ndis接口庫(kù)包括在ndis.sys中,它是一個(gè)核態(tài)函數(shù)庫(kù),有一套抽象的函數(shù),無(wú)論協(xié)議驅(qū)動(dòng)程序還是nic驅(qū)動(dòng)程序都連接到這個(gè)庫(kù)中,以實(shí)現(xiàn)上下層之間的操作。

第二章fddi網(wǎng)卡驅(qū)動(dòng)程序的加載和運(yùn)行

第一節(jié) 網(wǎng)卡驅(qū)動(dòng)程序的安裝

windows nt網(wǎng)卡驅(qū)動(dòng)程序安裝的目的是實(shí)現(xiàn)網(wǎng)卡相應(yīng)硬件信息和驅(qū)動(dòng)程序在windows nt注冊(cè)庫(kù)中的注冊(cè),使windows nt能夠正確識(shí)別網(wǎng)卡,了解所必需的軟硬件信息并能在windows nt啟動(dòng)時(shí)加載相應(yīng)驅(qū)動(dòng)程序。

網(wǎng)卡驅(qū)動(dòng)程序安裝時(shí),首先在主群組的控制面板中選擇“網(wǎng)絡(luò)”,然后添加網(wǎng)卡,指定相應(yīng)信息文件──oemsetup.inf的路徑,以完成以下兩個(gè)必要的操作:

復(fù)制驅(qū)動(dòng)程序到相應(yīng)的系統(tǒng)目錄(windows nt根目錄system32drivers)中;

在windows nt注冊(cè)庫(kù)中存入相應(yīng)軟硬件信息。

下面主要以fddi網(wǎng)卡為例介紹安裝驅(qū)動(dòng)程序所必需的工作:

§2.1.1網(wǎng)卡一般硬件參數(shù)

對(duì)于fddi網(wǎng)卡,必須在編寫(xiě)其oemsetup.inf文件時(shí)確定以下硬件參數(shù):

總線類(lèi)型:pci(5)……括號(hào)中的數(shù)字5表示pci總線在ndis中的總線類(lèi)型代碼;

廠商代號(hào):0x5588……系統(tǒng)加載時(shí)確定網(wǎng)卡的標(biāo)記,也是編程時(shí)確定pci槽號(hào)的標(biāo)識(shí);

cfid: 0x01;

介質(zhì)類(lèi)型:光纖(3) ……括號(hào)中的數(shù)字表示光纖在ndis中的介質(zhì)類(lèi)型代碼;

是否支持全雙工:支持。

對(duì)于其它的硬件信息在此inf配置信息文件中可有可無(wú),如若配置,則可在驅(qū)動(dòng)程序的編寫(xiě)時(shí)利用這些信息,方便編程,同時(shí)有利于其它應(yīng)用對(duì)其參數(shù)的確定和使用。網(wǎng)卡驅(qū)動(dòng)程序的安裝通常將創(chuàng)建登錄表中的四個(gè)不同子鍵:

software registrion鍵,對(duì)應(yīng)于驅(qū)動(dòng)程序,存在于hkey_local_machinesoftwarecompany productnameversion中。我們的fddi網(wǎng)卡驅(qū)動(dòng)程序所對(duì)應(yīng)的是hkey_local_machinesoftwarenet612yhfddiyhfddi1.0;

網(wǎng)卡的軟件登錄鍵,存在于hkey_local_machinesoftwaremicrosoft windows ntnt3.51networkcardsyhfddi1;

驅(qū)動(dòng)程序的服務(wù)登錄鍵,存在于hkey_local_machinesystemcurrentcontrolsetservices

網(wǎng)卡的服務(wù)登錄鍵,存在于hkey_local_machinesystemcurrentcontrolsetservices

對(duì)于每一個(gè)網(wǎng)絡(luò)部件,一個(gè)名為netrules的特殊子鍵在鄰近的驅(qū)動(dòng)程序或網(wǎng)卡登錄子鍵里創(chuàng)建,netrules標(biāo)識(shí)網(wǎng)絡(luò)部件為網(wǎng)絡(luò)整體的一部分。

fddi網(wǎng)卡驅(qū)動(dòng)程序?qū)?yīng)的標(biāo)準(zhǔn)軟件登錄表項(xiàng)將出現(xiàn)在以下路徑:

hkey_local_machinesoftwarenet612yhfddiyhfddi1.0;

驅(qū)動(dòng)程序?qū)?yīng)的標(biāo)準(zhǔn)項(xiàng)的值為:

description =yhfddi/pci adapter controller

install date =……

……

refcount =0x01

servicename =yhfddi

softwaretype =driver

title =yhfddi/pci adapter controller

而且在yhfddi驅(qū)動(dòng)程序相關(guān)的netrules子鍵下,這些值項(xiàng)為:

bindable =yhfddi driver yhfddi adapter non exclusiver

bindform =“yhfddisys”yes no container

class = reg_multi_sz “yhfddi driver basic”

infname =oemnad1.inf

type =yhfddisys ndisdriver yhfddidriver

use =driver

yhfddi網(wǎng)卡在如下路徑的networkcards子鍵里介紹:

hkey_local_machinesoftwaremicrosoft

windows ntnt3.51networkcardsyhfddi1;

網(wǎng)卡的標(biāo)準(zhǔn)項(xiàng)包括以下這些值:

description =yhfddi/pci adapter controller

install date =……

manufacturer =net612

productname =yhfddi

servicename =yhfddi01

title =[01]yhfddi/pci adapter controller

§2.1.3編寫(xiě)inf信息配置文件

gui inf描述語(yǔ)言被windows nt用以書(shū)寫(xiě)系統(tǒng)所有部件的配置文件,當(dāng)然也可以用以書(shū)寫(xiě)網(wǎng)絡(luò)系統(tǒng)各部件的配置文件,該配置文件描述了網(wǎng)絡(luò)部件安裝、配置、刪除的執(zhí)行過(guò)程。當(dāng)網(wǎng)絡(luò)部件進(jìn)行初始安裝或二次安裝(通常通過(guò)ncpa進(jìn)行)時(shí),安裝程序讀取部件對(duì)應(yīng)的配置文件,進(jìn)行解釋執(zhí)行。gui inf描述語(yǔ)言由節(jié)、命令、邏輯操作、變量規(guī)范、流程控制以及一套調(diào)用dll或外部程序的機(jī)制組成,其中,節(jié)是配置文件的主體,節(jié)可分為install節(jié)(類(lèi)似于函數(shù)),shell節(jié)(也類(lèi)似于函數(shù),但可調(diào)用insall和shell節(jié)),detect節(jié)(不包含命令),一個(gè)配置文件一般由若干不同類(lèi)型的節(jié)組成。驅(qū)動(dòng)程序的開(kāi)發(fā)者根據(jù)需要可以在配置文件中編寫(xiě)相應(yīng)代碼,使得用戶和系統(tǒng)之間能進(jìn)行交互,并且由用戶決定一些配置參數(shù)。

nt網(wǎng)卡配置文件有其一套規(guī)范,驅(qū)動(dòng)程序開(kāi)發(fā)者必須按規(guī)范編寫(xiě)配置文件,一般來(lái)說(shuō),一個(gè)配置文件至少應(yīng)該提供下面三個(gè)節(jié):

安裝入口點(diǎn):[identify]shell節(jié)。該節(jié)主要功能是給出安裝部件的類(lèi)型名,系統(tǒng)通過(guò)它識(shí)別該部件屬于哪一大類(lèi)(display,mouse,scsi,network等)中的哪一類(lèi)(網(wǎng)絡(luò)adapter,driver,transport,service,network和netprovidor),同時(shí),還需要給出映像文件和配置文件所在的源介質(zhì)及標(biāo)識(shí)。

[returnoption]shell節(jié)。系統(tǒng)執(zhí)行安裝identify節(jié)后,執(zhí)行該節(jié)。它主要功能是檢查所需安裝的部件是否支持的硬件平臺(tái)和語(yǔ)言,并給出網(wǎng)卡名(有些配置文件支持多類(lèi)網(wǎng)卡,此時(shí)必須讓用戶進(jìn)行選擇,并獲得選擇結(jié)果)。

[installoption]shell節(jié)。該節(jié)是配置文件得主體,也是上次安裝完后再次進(jìn)行配置、刪除、更新的入口點(diǎn)。主要功能是拷貝映像文件和配置文件,生成配置的各種選項(xiàng),創(chuàng)建該部件在注冊(cè)庫(kù)中對(duì)應(yīng)的各種登錄子樹(shù)并更新重寫(xiě)。

第二節(jié) 驅(qū)動(dòng)程序的加載過(guò)程

篇(2)

1、單擊右鍵,點(diǎn)開(kāi)管理中的設(shè)備管理窗口;2、再點(diǎn)擊網(wǎng)絡(luò)適配器,顯示的是當(dāng)前電腦所有的網(wǎng)絡(luò)適配器;3、然后單擊右鍵,出現(xiàn)屬性框,即可查看網(wǎng)卡驅(qū)動(dòng)。

網(wǎng)卡驅(qū)動(dòng)是CPU控制和使用網(wǎng)卡的程序。驅(qū)動(dòng)程序全稱為“設(shè)備驅(qū)動(dòng)程序”,是一種可以使計(jì)算機(jī)中央處理器控制和使用設(shè)備的特殊程序,相當(dāng)于硬件的接口,操作系統(tǒng)通過(guò)這個(gè)接口,控制硬件設(shè)備的工作。網(wǎng)卡驅(qū)動(dòng)程序就是中央處理器控制和使用網(wǎng)卡的程序。

(來(lái)源:文章屋網(wǎng) )

篇(3)

步驟2 由于這個(gè)Windows PE專(zhuān)做下載之用,因此還要為它安裝上本本的網(wǎng)卡驅(qū)動(dòng)。對(duì)此可運(yùn)行“智能光盤(pán)驅(qū)動(dòng)2008”,單擊“驅(qū)動(dòng)備份”,按提示選擇上網(wǎng)卡驅(qū)動(dòng),點(diǎn)擊“下一步”將網(wǎng)卡驅(qū)動(dòng)提取到“D:\本機(jī)驅(qū)動(dòng)程序備份\WinXp”文件夾中(如圖11)。完成后使用winRAR打開(kāi)提取出的網(wǎng)卡驅(qū)動(dòng),將其中的NET目錄解壓到D盤(pán)下備用。

步驟3 現(xiàn)在運(yùn)行“xcab.exe”系統(tǒng)封包程序,在打開(kāi)窗口中,定位到“待壓縮”欄,并輸入要添加的網(wǎng)卡驅(qū)動(dòng)所在文件夾,這里為“d:\net”。在“保存為”輸入欄內(nèi),鍵入SD卡上Windows PE系統(tǒng)“外置程序”目錄的位置,這里為“e:\外置程序\PE_OUTERPART\DRlVERS_NET01.CAB”(如圖12)。完成后點(diǎn)擊“壓縮”按鈕,即可將當(dāng)前網(wǎng)卡驅(qū)動(dòng)重新壓縮為CAB文件,并放置在Windows PE的“外置程序”目錄下。這樣當(dāng)進(jìn)入Windows PE系統(tǒng)后。便可自動(dòng)安裝好本本的網(wǎng)卡驅(qū)動(dòng)。

步驟4 現(xiàn)在重啟Windows XP系統(tǒng),進(jìn)入本本BIOS設(shè)置窗口,將SD卡設(shè)置為第一啟動(dòng)設(shè)備。保存退出后,本本即可由SD卡啟動(dòng)到Windows PE系統(tǒng),雙擊桌面上的“啟動(dòng)網(wǎng)絡(luò)支持”圖標(biāo)。Windows PE便會(huì)自動(dòng)加載網(wǎng)絡(luò)服務(wù)和本本的網(wǎng)卡驅(qū)動(dòng)。當(dāng)成功加載后,可看到網(wǎng)絡(luò)配置窗口(如圖13)。

小提示

如果Windows PE提示無(wú)法安裝網(wǎng)卡時(shí),可手動(dòng)為其安裝網(wǎng)卡驅(qū)動(dòng)。方法是右擊點(diǎn)擊“我的電腦’選擇“管理”命令,在打開(kāi)窗口中切換到“設(shè)備管理器”標(biāo)簽,單擊菜單欄上的“查看””顯示隱藏設(shè)備”,之后轉(zhuǎn)到右側(cè)窗格中,依次展開(kāi)“others device”“以太網(wǎng)控制器”,在其上右擊選擇“更新驅(qū)動(dòng)程序”,在彈出窗口中選擇“在這些位置搜索最佳的驅(qū)動(dòng)程序”,然后勾選上“在搜索時(shí)包含這個(gè)位置”,并在輸入欄內(nèi)鍵入“c:\windows\lnf”路徑,這樣即可自動(dòng)搜索硬盤(pán)上Windows XP的網(wǎng)卡驅(qū)動(dòng),接著按提示指定驅(qū)動(dòng)文件位置“c:\Wlndowsksystem32\drivers”,就可成功安裝網(wǎng)卡。注意在安裝完成后,系統(tǒng)提示是否需要重啟時(shí),一定要選擇“否”。

步驟5 一切就緒,只要雙擊桌面上的“寬帶連接”圖標(biāo),按提示輸入ADSL帳號(hào)密碼就可以聯(lián)機(jī)上網(wǎng)了。現(xiàn)在再來(lái)試試是否能夠進(jìn)行下載操作,點(diǎn)擊“開(kāi)始”“程序”“聊天下載工具”“迅雷5.0”(如圖14),之后在網(wǎng)上找到要下載的電影和軟件。點(diǎn)擊下載鏈接后便可使用迅雷開(kāi)始下載了。注意在選擇下載文件保存路徑時(shí),要將其保存到SD卡上,這樣才不會(huì)對(duì)硬盤(pán)進(jìn)行讀寫(xiě)操作。

篇(4)

同Windows 7系統(tǒng)一樣,Windows 8系統(tǒng)內(nèi)部集成了許多網(wǎng)卡芯片的驅(qū)動(dòng),將無(wú)線網(wǎng)卡插到電腦上后,系統(tǒng)會(huì)發(fā)現(xiàn)硬件并自動(dòng)安裝驅(qū)動(dòng),稍等片刻后,右鍵點(diǎn)擊桌面上的“計(jì)算機(jī)”并選擇“管理”。 點(diǎn)擊設(shè)備管理器,即可看到網(wǎng)卡已經(jīng)被正常識(shí)別(如圖1)。

在Windows 8 Metro界面下,我們可以直接用鼠標(biāo)左鍵點(diǎn)擊桌面右下角的無(wú)線網(wǎng)絡(luò)連接圖標(biāo),即可打開(kāi)無(wú)線信號(hào)列表。選擇對(duì)應(yīng)自己無(wú)線路由器的無(wú)線信號(hào)并點(diǎn)擊連接按鈕,輸入無(wú)線信號(hào)的密碼后點(diǎn)擊下一步,稍等片刻,就可以通過(guò)無(wú)線方式上網(wǎng)了(如圖2)。

手動(dòng)安裝驅(qū)動(dòng)

而當(dāng)遇到Windows 8系統(tǒng)不能直接識(shí)別無(wú)線網(wǎng)卡的時(shí)候(如圖3),的確有部分網(wǎng)卡并未直接推出Windows 8系統(tǒng)驅(qū)動(dòng),這就需要用戶手動(dòng)為USB網(wǎng)卡安裝驅(qū)動(dòng)了。

遇到這樣的情況可嘗試手動(dòng)安裝該網(wǎng)卡,對(duì)應(yīng)Windows 7系統(tǒng)的驅(qū)動(dòng)看是否可以正常使用。登錄USB網(wǎng)卡官方網(wǎng)站,下載Windows 7系統(tǒng)的驅(qū)動(dòng)程序,解壓縮后放在桌面?zhèn)溆谩=酉聛?lái)在設(shè)備管理器的黃色標(biāo)識(shí)的設(shè)備上點(diǎn)擊右鍵,選擇“更新驅(qū)動(dòng)程序軟件”。選擇“瀏覽計(jì)算機(jī)以查找驅(qū)動(dòng)程序軟件”,再點(diǎn)擊“瀏覽”,找到驅(qū)動(dòng)程序所在的文件夾后,點(diǎn)擊“確定” (如圖4)。

篇(5)

1、原因:win10系統(tǒng)下,未安裝網(wǎng)卡驅(qū)動(dòng)程序。

2、解決方法:進(jìn)入MAC系統(tǒng)或者其它可以上網(wǎng)的電腦下載網(wǎng)卡驅(qū)動(dòng),返回安裝即可。操作如下:首先在MAC系統(tǒng)中,或者其它可以聯(lián)網(wǎng)的電腦上下載“驅(qū)動(dòng)精靈網(wǎng)卡版”;然后將下載的驅(qū)動(dòng)精靈網(wǎng)卡版通過(guò)U盤(pán)復(fù)制到當(dāng)前WIN10系統(tǒng)下,打開(kāi)軟件,點(diǎn)擊“一鍵體檢”;然后軟件就會(huì)提示“電腦未安裝網(wǎng)卡驅(qū)動(dòng)”,點(diǎn)擊彈出的網(wǎng)卡驅(qū)動(dòng)進(jìn)行安裝;等待安裝完成即可;安裝完成之后,即可正常上網(wǎng)。

(來(lái)源:文章屋網(wǎng) )

篇(6)

3、然后在設(shè)備管理器下面找到“網(wǎng)絡(luò)適配器”。

4、在下面的網(wǎng)卡驅(qū)動(dòng)中發(fā)現(xiàn)有黃色感嘆號(hào)和黃色問(wèn)號(hào)。

5、在有問(wèn)號(hào)、感嘆號(hào)的程序上面單擊右鍵選擇“更新驅(qū)動(dòng)程序軟件”。

篇(7)

步驟2 由于這個(gè)Windows PE專(zhuān)做下載之用,因此還要為它安裝上本本的網(wǎng)卡驅(qū)動(dòng)。對(duì)此可運(yùn)行“智能光盤(pán)驅(qū)動(dòng)2008”,單擊“驅(qū)動(dòng)備份”,按提示選擇上網(wǎng)卡驅(qū)動(dòng),點(diǎn)擊“下一步”將網(wǎng)卡驅(qū)動(dòng)提取到“D:\本機(jī)驅(qū)動(dòng)程序備份\WinXp”文件夾中(如圖11)。完成后使用winRAR打開(kāi)提取出的網(wǎng)卡驅(qū)動(dòng),將其中的NET目錄解壓到D盤(pán)下備用。

步驟3 現(xiàn)在運(yùn)行“xcab.exe”系統(tǒng)封包程序,在打開(kāi)窗口中,定位到“待壓縮”欄,并輸入要添加的網(wǎng)卡驅(qū)動(dòng)所在文件夾,這里為“d:\net”。在“保存為”輸入欄內(nèi),鍵入SD卡上Windows PE系統(tǒng)“外置程序”目錄的位置,這里為“e:\外置程序\PE_OUTERPART\DRlVERS_NET01.CAB”(如圖12)。完成后點(diǎn)擊“壓縮”按鈕,即可將當(dāng)前網(wǎng)卡驅(qū)動(dòng)重新壓縮為CAB文件,并放置在Windows PE的“外置程序”目錄下。這樣當(dāng)進(jìn)入Windows PE系統(tǒng)后。便可自動(dòng)安裝好本本的網(wǎng)卡驅(qū)動(dòng)。

步驟4 現(xiàn)在重啟Windows XP系統(tǒng),進(jìn)入本本BIOS設(shè)置窗口,將SD卡設(shè)置為第一啟動(dòng)設(shè)備。保存退出后,本本即可由SD卡啟動(dòng)到Windows PE系統(tǒng),雙擊桌面上的“啟動(dòng)網(wǎng)絡(luò)支持”圖標(biāo)。Windows PE便會(huì)自動(dòng)加載網(wǎng)絡(luò)服務(wù)和本本的網(wǎng)卡驅(qū)動(dòng)。當(dāng)成功加載后,可看到網(wǎng)絡(luò)配置窗口(如圖13)。

小提示

如果Windows PE提示無(wú)法安裝網(wǎng)卡時(shí),可手動(dòng)為其安裝網(wǎng)卡驅(qū)動(dòng)。方法是右擊點(diǎn)擊“我的電腦’選擇“管理”命令,在打開(kāi)窗口中切換到“設(shè)備管理器”標(biāo)簽,單擊菜單欄上的“查看””顯示隱藏設(shè)備”,之后轉(zhuǎn)到右側(cè)窗格中,依次展開(kāi)“others device”“以太網(wǎng)控制器”,在其上右擊選擇“更新驅(qū)動(dòng)程序”,在彈出窗口中選擇“在這些位置搜索最佳的驅(qū)動(dòng)程序”,然后勾選上“在搜索時(shí)包含這個(gè)位置”,并在輸入欄內(nèi)鍵入“c:\windows\lnf”路徑,這樣即可自動(dòng)搜索硬盤(pán)上Windows XP的網(wǎng)卡驅(qū)動(dòng),接著按提示指定驅(qū)動(dòng)文件位置“c:\Wlndowsksystem32\drivers”,就可成功安裝網(wǎng)卡。注意在安裝完成后,系統(tǒng)提示是否需要重啟時(shí),一定要選擇“否”。

步驟5 一切就緒,只要雙擊桌面上的“寬帶連接”圖標(biāo),按提示輸入ADSL帳號(hào)密碼就可以聯(lián)機(jī)上網(wǎng)了。現(xiàn)在再來(lái)試試是否能夠進(jìn)行下載操作,點(diǎn)擊“開(kāi)始”“程序”“聊天下載工具”“迅雷5.0”(如圖14),之后在網(wǎng)上找到要下載的電影和軟件。點(diǎn)擊下載鏈接后便可使用迅雷開(kāi)始下載了。注意在選擇下載文件保存路徑時(shí),要將其保存到SD卡上,這樣才不會(huì)對(duì)硬盤(pán)進(jìn)行讀寫(xiě)操作。

步驟6 考慮到要整夜下載軟件,所以盡管此時(shí)本本上的硬盤(pán)已不在有讀寫(xiě)操作,但為更好保護(hù)本本硬盤(pán),達(dá)到節(jié)能、降溫、減噪的效果,此時(shí)不妨將硬盤(pán)關(guān)閉。對(duì)此,如果是采用SATA接口硬盤(pán)的本本,可在Windows PE系統(tǒng)托盤(pán)中,點(diǎn)擊“安 全刪除硬件”圖標(biāo),在彈出的提示條中選擇硬盤(pán)即可將其關(guān)閉。

小提示

如果本本采用的是lDE接口硬盤(pán),那么可在Windows PE系統(tǒng)中,右鍵點(diǎn)擊“我的電腦”,選擇“管理”,在打開(kāi)窗口中依次展開(kāi)“存儲(chǔ)”“磁盤(pán)管理”鏈接,之后在右側(cè)窗格的各個(gè)硬盤(pán)盤(pán)符上,逐個(gè)點(diǎn)擊右鍵選擇“更改驅(qū)動(dòng)器號(hào)和路徑”,并在彈出窗口中單擊“刪除”按鈕,將所有硬盤(pán)盤(pán)符刪除。這樣即可在windowsPE中進(jìn)行下載操作時(shí)避免數(shù)據(jù)的讀寫(xiě),從而使硬盤(pán)處于“停用”狀態(tài)。

第四次親密接觸SD卡全面加速系統(tǒng)

使用過(guò)Windows Vista的朋友,可能知道其帶有一個(gè)“ReadyBoost”功能,它能夠利用高速閃存存儲(chǔ)設(shè)備來(lái)加速系統(tǒng)。而由于本本內(nèi)存槽有限,加到2GB內(nèi)存后基本就占滿了,這時(shí)把手中的高速SD卡拿出來(lái)用作加速,可是個(gè)額外提升性能的不錯(cuò)選擇。

SD卡為Windows XP加速

由于Windows XP系統(tǒng)沒(méi)有內(nèi)置ReadyBoost功能,因此要想獲得同等的效果,就要借助“eBoostr”這款軟件。除此之外,用來(lái)做加速的SD卡必須是SDHC高速產(chǎn)品,本本上的讀卡器也要工作在USB 2.0接口上。

步驟1 安裝并運(yùn)行“eBoostr”,完成后系統(tǒng)將會(huì)重新啟動(dòng)并自動(dòng)打開(kāi)程序設(shè)置窗口,此時(shí)可在“選擇裝置”欄中的下拉列表內(nèi),選取本本上的SD卡,并設(shè)置“選擇快取大小”為一個(gè)較合適的范圍。比如這里采用4GB的高速SD卡,就可選擇1GB空間用于系統(tǒng)加速(如圖15)。

步驟2 設(shè)置完成后,單擊“確定”按鈕,程序便開(kāi)始設(shè)置加速參數(shù)并切換到控制臺(tái)窗口,在這里將顯示當(dāng)前硬盤(pán)負(fù)載等參數(shù)。現(xiàn)在同時(shí)運(yùn)行多個(gè)大型程序,看看運(yùn)行速度是不是有了明顯提升呢(如圖16)。

SD卡啟動(dòng)ReadyBoost

如果使用了Windows Vista系統(tǒng)。那么其已內(nèi)置了“ReadyBoost”加速功能,只要將其開(kāi)啟并應(yīng)用在SD卡上即可。對(duì)此,可在本本上插入SD卡后,打開(kāi)“我的電腦”,右鍵點(diǎn)擊SD卡盤(pán)符選擇“屬性”,然后在打開(kāi)的屬性窗口中切換到“ReadyBoost'’標(biāo)簽,選擇“使用這個(gè)設(shè)備”單選框,接著在“用于加快系統(tǒng)速度調(diào)節(jié)的保留空間”選項(xiàng)中,拖動(dòng)滑塊選擇適當(dāng)?shù)拇鎯?chǔ)空間用作加速即可(如圖17)。

小提示

要在Windows Vista中激活“ReadyBoost”功能,所使用的SD卡要支持在4K隨機(jī)讀取時(shí)不低于2.5MB/s或512K隨機(jī)寫(xiě)入時(shí)不低于1.75MB/s的傳輸率,并保證帶有64MB到8 GB的空閑空間。

因?yàn)殚_(kāi)啟“ReadyBoost”功能需要SD卡具備一定條件。所以當(dāng)某些兼容性較差的SD卡插入本本后,在windows Vista系統(tǒng)下可能會(huì)自動(dòng)屏蔽“ReadyBoost”功能。如果確認(rèn)SD卡為高速產(chǎn)品,這時(shí)可手動(dòng)開(kāi)啟該功能。

步驟1 插入SD卡,并切換到“ReadyBoost”設(shè)置窗口后,如果系統(tǒng)提示該設(shè)備無(wú)法用于加速,那么可取消系統(tǒng)默認(rèn)勾選的“插入設(shè)備時(shí)不要再測(cè)試此設(shè)備”復(fù)選框,并單擊“確定”退出(如圖18)。

篇(8)

1 背景

當(dāng)今的物聯(lián)網(wǎng)時(shí)代,移動(dòng)終端設(shè)備的通信得到廣泛的應(yīng)用。各種設(shè)備相繼接入無(wú)線網(wǎng)絡(luò),從而實(shí)現(xiàn)更靈活、更方便快速的網(wǎng)絡(luò)通信。

無(wú)線網(wǎng)卡模塊是實(shí)現(xiàn)無(wú)線網(wǎng)絡(luò)通信的硬件條件,目前來(lái)看主要有兩種形式(1)內(nèi)置式無(wú)線網(wǎng)卡:即將網(wǎng)卡芯片與主板集成在一起,如手機(jī)、筆記本電腦等;(2)外置式無(wú)線網(wǎng)卡:利用USB接口外接USB無(wú)線網(wǎng)卡。這兩種方式各有優(yōu)勢(shì),本文主要研究外置式無(wú)線網(wǎng)卡的實(shí)際應(yīng)用。

2 無(wú)線網(wǎng)卡驅(qū)動(dòng)程序的配置與移植

2.1 無(wú)線網(wǎng)卡的選擇

從技術(shù)角度看,無(wú)線網(wǎng)卡的選擇要注意以下幾點(diǎn):

(1)支持802.11b/g/n無(wú)線傳輸協(xié)議。

(2)采用主流廠商的無(wú)線網(wǎng)卡芯片.

(3)具備外置增益天線。

根據(jù)以上要求,本論文中選用了磊科的NW335型號(hào)的無(wú)線網(wǎng)卡來(lái)進(jìn)行測(cè)試操作。

2.2軟硬件平臺(tái)

硬件平臺(tái):S3c6410

軟件平臺(tái):linux2.36.2

交叉編譯工具:arm-linux-gcc 4.3.2

2.3 NW335驅(qū)動(dòng)程序的移植

不同廠商,不同型號(hào)的無(wú)線網(wǎng)卡的驅(qū)動(dòng)程序不盡相同。因此,對(duì)于無(wú)線網(wǎng)卡驅(qū)動(dòng)程序的移植就必不可少了。下面開(kāi)始介紹對(duì)該款網(wǎng)卡的驅(qū)動(dòng)程序移植到嵌入式linux操作系統(tǒng)的過(guò)程:

(1)登錄realtek官網(wǎng):http://.tw/Default.aspx,獲取驅(qū)動(dòng)程序源代碼,rtl8188C_8192C_usb_linux_v3.4.4_4749.20120730.tar.gz

(2)將驅(qū)動(dòng)程序以共享文件夾的方式移動(dòng)到ubuntu虛擬機(jī)中,然后解壓縮,運(yùn)行: tar xzvf rtl8188C_8192C_usb_linux_v3.4.4_4749.20120730.tar.gz

(3) 打開(kāi)解壓后的文件夾,如下圖:

修改Makefile,運(yùn)行g(shù)edit Makefie,打開(kāi)文件,將原來(lái)的代碼

CONFIG_PLATFORM_ANDROID_X86=y

CONFIG_PLATFORM_ARM_S3C6K4 =n

改為:

CONFIG_PLATFORM_ANDROID_X86=n

CONFIG_PLATFORM_ARM_S3C6K4 =y

執(zhí)行make命令,會(huì)生成一個(gè).ko文件,這里生成一個(gè)8188cu.ko文件。即是我們生成的linux下無(wú)線網(wǎng)卡的驅(qū)動(dòng)程序。將該文件復(fù)制到開(kāi)發(fā)板存儲(chǔ)器中,執(zhí)行:insmod /8188cu.ko 即可加載該網(wǎng)卡的驅(qū)動(dòng)程序。

3 安全認(rèn)證與加密

對(duì)于無(wú)線網(wǎng)絡(luò)來(lái)說(shuō),由于信號(hào)不是在密閉的線路中傳輸,其安全性是必須要考慮的因素,數(shù)據(jù)傳輸過(guò)程中的協(xié)議與加密算法是非常重要的。目前主要的加密算法有兩種(1) WEP安全加密方式(2) WPA安全加密方式,其中wpa加密方式是目前最安全的加密技術(shù),其配置過(guò)程如下:

一、下載并解壓縮源碼

登錄 http://hostap.epitest.fi/wpa_supplicant/,下載wpa_supplicant-0.7.3.tar.gz (openssl用到0.7.3提供的補(bǔ)丁),并進(jìn)行解壓縮:

#tar xvfz wpa_supplicant-0.7.3.tar.gz

下載/source/openssl-0.9.8e.tar.gz,并進(jìn)行解壓縮

#tar zxvf openssl-0.9.8e.tar.gz

二、編譯openssl庫(kù)

將wpa_supplicant中的補(bǔ)丁拷貝到openssl中 ,修改配置文件,如下圖所示:

三、編譯wpa_supplicant ,修改配置文件后進(jìn)行編譯,如下圖所示:

經(jīng)過(guò)編譯后的wpa_supplicant源程序可以看到兩個(gè)主要的可執(zhí)行工具:wpa_supplicant和wpa_cli。 wpa_supplicant是核心程序,它和wpa_cli的關(guān)系就是服務(wù)和客戶端的關(guān)系:后臺(tái)運(yùn)行wpa_supplicant,使用wpa_cli 來(lái)搜索、設(shè)置、和連接網(wǎng)絡(luò)。

四、配置wpa_supplicant工具

修改wpa_supplicant.conf配置文件,其內(nèi)容如下:

wpa_supplicant -B -i wlan0 -c /mnt/disk/home/wireless/wpa_supplicant.conf

4 保證不斷網(wǎng)的方案

因?yàn)楦鞣N各樣的原因,網(wǎng)絡(luò)有可能會(huì)連接不成功。如網(wǎng)絡(luò)設(shè)備故障,斷電,設(shè)備自身重啟,軟件硬件故障等。為了保證網(wǎng)絡(luò)連接的穩(wěn)定性,需要制定的聯(lián)網(wǎng)策略,對(duì)斷網(wǎng)情況進(jìn)行修復(fù)處理。

1.啟動(dòng)時(shí)進(jìn)行網(wǎng)絡(luò)檢測(cè),若不能通過(guò)便重新啟動(dòng),代碼如下:

2.在運(yùn)行期間每隔一段時(shí)間檢測(cè)網(wǎng)絡(luò),若不成功便重新連接網(wǎng)絡(luò):

5 結(jié)論

通過(guò)對(duì)磊科NW335無(wú)線網(wǎng)卡的移植,可以實(shí)現(xiàn)帶有USB接口的LINUX設(shè)備的聯(lián)網(wǎng),實(shí)用效果比較理想。在具備網(wǎng)絡(luò)連接檢測(cè)軟件運(yùn)行的情況下,設(shè)備可以實(shí)現(xiàn)不間斷的網(wǎng)絡(luò)通信。

參考文獻(xiàn)

[1] 李俊.嵌入式Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解[M].北京:人民郵電出版社,2008.126-167

[2] 宋寶華.Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解[M].北京:人民郵電出版社,2008.477-528

[3] 劉淼.嵌入式系統(tǒng)接口設(shè)計(jì)與Linux驅(qū)動(dòng)程序開(kāi)發(fā)[M].北京:航空航天大學(xué)出版社,2006.205-234

篇(9)

中圖分類(lèi)號(hào):TP319文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2011)24-5928-03

A Shell Extension of Ghost Software for Network Multicast Clone

LUO Hai-feng

(School of Politics and Public Administration, Shaoguan University, Shaoguan, 512005, China)

Abstract: This paper analyzes the start process and command-line format in the Ghost software cloning process, makes a shell extension of the Ghost software by using the C programming language. Through the application of software at boot stage, The Ghost setup and operating procedure is automatically set to simplify the Ghost software, make it possible to restore large numbers of computer system rapidly in a LAN (Local Area network). The article also introduce the client universal boot disk production, and the implementation process of the network multicast cloning.

Key words: Ghost; multicast; clone; system restore

Ghost是著名的硬盤(pán)復(fù)制備份工具,具有硬盤(pán)克隆、硬盤(pán)分區(qū)備份、系統(tǒng)安裝等功能。Ghost一對(duì)多的克隆方式,可通過(guò)TCP/IP網(wǎng)絡(luò)協(xié)議可同時(shí)從一臺(tái)電腦上克隆多臺(tái)電腦的硬盤(pán)數(shù)據(jù),使Ghost具有網(wǎng)絡(luò)安裝功能。通常稱為Ghost的網(wǎng)絡(luò)多播克隆技術(shù)。

使用Ghost,管理員可以在數(shù)分鐘之內(nèi)把一個(gè)操作系統(tǒng)鏡像或者應(yīng)用程序部署或者恢復(fù)到另一臺(tái)PC機(jī)器上。利用多播技術(shù)遠(yuǎn)程克隆多個(gè)計(jì)算機(jī),可實(shí)現(xiàn)快速、安全、批量地恢復(fù)操作系統(tǒng)。

1 簡(jiǎn)介

同一個(gè)計(jì)算機(jī)實(shí)驗(yàn)室內(nèi)的機(jī)器,可能硬件配置不一致,但軟件環(huán)境要求都是相同的。面對(duì)這種應(yīng)用環(huán)境,為了實(shí)現(xiàn)多播克隆,有兩個(gè)關(guān)鍵步驟:一是“樣機(jī)”的準(zhǔn)備。先做好一個(gè)通用的系統(tǒng)“樣板”,再針對(duì)不同硬件配置的計(jì)算機(jī)分別安裝不同的設(shè)備驅(qū)動(dòng)程序,每種樣機(jī)需要備份出一個(gè).gho文件;二是如何引導(dǎo)計(jì)算機(jī)進(jìn)入準(zhǔn)備克隆狀態(tài)。計(jì)算機(jī)啟動(dòng)到準(zhǔn)備克隆狀態(tài),需要運(yùn)行一系列命令。每臺(tái)機(jī)器需要執(zhí)行的啟動(dòng)命令都不一樣,因?yàn)榫W(wǎng)卡不同的機(jī)器需要不同的網(wǎng)卡驅(qū)動(dòng)程序,同一批次克隆的每臺(tái)機(jī)器也需要分別賦以不同的IP地址。這一系列命令如果使用手工輸入,將會(huì)非常繁瑣,工作效率低。經(jīng)過(guò)試驗(yàn),采用C語(yǔ)言編程實(shí)現(xiàn)引導(dǎo)命令的自動(dòng)生成,制作出通用的引導(dǎo)光盤(pán),使客戶端進(jìn)入準(zhǔn)備克隆狀態(tài)的過(guò)程盡量減少手工鍵盤(pán)輸入,系統(tǒng)維護(hù)工作變得易行、快速、高效。

2 實(shí)現(xiàn)方法

多播克隆進(jìn)行系統(tǒng)恢復(fù)的步驟是,首先在服務(wù)器運(yùn)行多播服務(wù)器程序,選擇要廣播的.gho文件,執(zhí)行一個(gè)會(huì)話(Session),等待客戶機(jī)的連接。需要恢復(fù)軟件系統(tǒng)的計(jì)算機(jī)(稱為客戶機(jī))使用網(wǎng)絡(luò)引導(dǎo)盤(pán)啟動(dòng),連接到多播服務(wù)器,處于準(zhǔn)備克隆狀態(tài),等待接受數(shù)據(jù)。所有客戶機(jī)都連接好后,在多播服務(wù)器程序窗口選擇“發(fā)送”(Send),即可將操作系統(tǒng)樣板多播發(fā)送到每個(gè)客戶機(jī)。克隆過(guò)程完成后,客戶機(jī)重新啟動(dòng),修改機(jī)器名和IP地址,軟件系統(tǒng)的恢復(fù)宣告完成。

下面對(duì)引導(dǎo)客戶機(jī)啟動(dòng)進(jìn)入到準(zhǔn)備克隆過(guò)程的實(shí)現(xiàn)方法進(jìn)行論述。

2.1 客戶機(jī)的引導(dǎo)過(guò)程

客戶機(jī)可采用光盤(pán)啟動(dòng)、U盤(pán)啟動(dòng)、軟盤(pán)啟動(dòng)或硬盤(pán)啟動(dòng)等多種方式。引導(dǎo)過(guò)程分成啟動(dòng)進(jìn)入Windows 98命令行界面、運(yùn)行網(wǎng)卡驅(qū)動(dòng)程序、運(yùn)行g(shù)host程序三步。

以光盤(pán)啟動(dòng)為例,光盤(pán)根目錄下的內(nèi)容有Windows 98引導(dǎo)程序文件、網(wǎng)卡驅(qū)動(dòng)程序和ghost程序。下面是Win98啟動(dòng)盤(pán)自動(dòng)批處理文件(autoexec.bat)的實(shí)例:

@echo off

prompt $p$g

0x60 rem 運(yùn)行網(wǎng)卡驅(qū)動(dòng)程序

set ghostip=wintcp.cfg rem 該句句用來(lái)指定該計(jì)算機(jī)使用的配置文件

ghost.exe rem 運(yùn)行g(shù)host程序連接多播服務(wù)器進(jìn)行克隆

其中是8139網(wǎng)卡的封包驅(qū)動(dòng)程序。封包驅(qū)動(dòng)程序是介于TCP程序與網(wǎng)卡之間的橋梁,以軟件中斷呼叫的方式提供一個(gè)標(biāo)準(zhǔn)的界面服務(wù)。網(wǎng)卡不同的機(jī)器需要不同的網(wǎng)卡驅(qū)動(dòng)程序,該程序可在網(wǎng)卡的驅(qū)動(dòng)程序軟盤(pán)上找到。

配置文件wintcp.cfg用于設(shè)置ghost.exe程序的運(yùn)行參數(shù)(IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)),典型內(nèi)容如下:

IP = 192.168.0.10

NETMASK = 255.255.255.0

GATEWAY = 192.168.0.1

同一批次克隆的每臺(tái)機(jī)器也需要分別賦以不同的IP地址。若服務(wù)器安裝有DHCP服務(wù),有可自動(dòng)給每臺(tái)機(jī)器分配IP地址,則配置文件wintcp.cfg的第一行可以略去。也可以采取程序交互方式,由用戶手工指定IP地址。多播服務(wù)器同時(shí)也作為網(wǎng)關(guān),按默認(rèn)設(shè)置將該機(jī)的IP地址修改為192.168.0.1。

ghost.exe是客戶機(jī)進(jìn)行網(wǎng)絡(luò)克隆的執(zhí)行程序。由于程序運(yùn)行過(guò)程中需要對(duì)配置文件wintcp.cfg進(jìn)行寫(xiě)操作,在制作啟動(dòng)盤(pán)時(shí)要求設(shè)置成將以上所有程序和文件裝載到內(nèi)存虛擬盤(pán)中存放和執(zhí)行,這樣還能保證程序執(zhí)行速度非常快,在程序啟動(dòng)后、ghost程序運(yùn)行前還能將光盤(pán)(或U盤(pán)、軟盤(pán))取出放到其他機(jī)器上運(yùn)行,這樣一張引導(dǎo)盤(pán)能夠同時(shí)引導(dǎo)多臺(tái)機(jī)器。

2.2 Ghost的命令行參數(shù)

為了使克隆過(guò)程自動(dòng)進(jìn)行,減少人工干預(yù),可在執(zhí)行g(shù)host程序時(shí)使用命令行參數(shù)。多播克隆時(shí)涉及的命令行參數(shù)如下:

1) -rb本次 Ghost 操作結(jié)束退出時(shí)自動(dòng)重啟。

2)Csure對(duì)所有要求確認(rèn)的提示或警告一律回答“Yes”。

3) 這是實(shí)現(xiàn) Ghost 無(wú)人備份/恢復(fù)的核心參數(shù)。使用語(yǔ)法為:

-clone,mode=(operation),src=(source),dst=(destination),[SZE(size),SZE(size)...]

此參數(shù)行較為復(fù)雜,且各參數(shù)之間不能含有空格。其中 operation意為操作類(lèi)型,值可取:copy:磁盤(pán)到磁盤(pán);load:文件到磁盤(pán);dump:磁盤(pán)到文件;pcopy:分區(qū)到分區(qū);pload:文件到分區(qū);pdump:分區(qū)到文件。Source 意為操作源,值可取:驅(qū)動(dòng)器號(hào),從1開(kāi)始;或者為文件名,需要寫(xiě)絕對(duì)路徑。Destination 意為目標(biāo)位置,值可取:驅(qū)動(dòng)器號(hào),從 1開(kāi)始;或者為文件名,需要寫(xiě)絕對(duì)路徑。

例如輸入以下命令:

ghost Cclone,mode LOAD,src=@MCa,dst=1 Csure -rb

表示從網(wǎng)絡(luò)會(huì)話a克隆系統(tǒng)到本機(jī)第1個(gè)硬盤(pán),不詢問(wèn),完成后重啟系統(tǒng)。

2.3 引導(dǎo)程序的設(shè)計(jì)

在本設(shè)計(jì)中引導(dǎo)程序取名為go.exe,存放在啟動(dòng)盤(pán)根目錄。該程序的任務(wù)是引導(dǎo)客戶機(jī)進(jìn)入到準(zhǔn)備克隆狀態(tài)。

引導(dǎo)程序分成三部分:

1) 選擇并運(yùn)行網(wǎng)卡封包驅(qū)動(dòng)程序。為了將引導(dǎo)程序做成一個(gè)通用的程序,能引導(dǎo)實(shí)驗(yàn)室所有裝有不同的網(wǎng)卡的機(jī)器,需要事先在網(wǎng)卡的驅(qū)動(dòng)程序軟盤(pán)上提取相應(yīng)的程序。例如8139網(wǎng)卡的封包驅(qū)動(dòng)程序名稱為“”。

為了便于擴(kuò)充,將網(wǎng)卡名稱和對(duì)應(yīng)的驅(qū)動(dòng)命令成對(duì)存放在文本文件“netcard.txt”中,當(dāng)增加新的網(wǎng)卡時(shí),只需將新的驅(qū)動(dòng)程序添加進(jìn)指定目錄,并修改網(wǎng)卡信息文件“netcard.txt”即可。如果用戶愿意,甚至可將網(wǎng)卡命名為自己習(xí)慣的名字。網(wǎng)卡信息文件示例如下:

//網(wǎng)卡描述與驅(qū)動(dòng)程序指引文件。由程序讀入。

//Script=:網(wǎng)卡描述。Driver=:DOS下網(wǎng)卡驅(qū)動(dòng)命令,必須跟在上一行Script之后。

Script=Realtek RTL8139(A) PCI fast Ethernet Adapter

Driver=RTSPKT 0x60

Script=Realtek RTL8139 Family PCI fast Ethernet NIC

Driver=RTSPKT2 0x60

Script=Macronix MX987x5 Family Fast Ethernet Adapter

Driver=MX32PD 0x60

Script=Accton En1207D Series PCI fast Ethernet Adapter

Driver=ACCPKT 0x60

Script=D-Link DFE-530TX fast Ethernet Adapter

Driver=DLKFET 0x60

2) 生成配置文件wintcp.cfg。如果局域網(wǎng)有DHCP服務(wù)器,則可以采用固定格式的配置文件,文件內(nèi)容只有兩行,“NETMASK = 255.255.255.0”和“GATEWAY = 192.168.0.1”,無(wú)需用戶干預(yù)。對(duì)于手工設(shè)置IP地址的情形,只需鍵入一個(gè)1~255之間的數(shù),生成形如“IP = 192.168.0.*”的字符串添加進(jìn)配置文件wintcp.cfg中,作為IP地址的配置。其中“*”號(hào)代表輸入的數(shù)字(通常是機(jī)器編號(hào))。

3) 運(yùn)行帶命令行參數(shù)的Ghost程序命令。命令實(shí)例見(jiàn)上一小節(jié)。

引導(dǎo)程序采用TC 2.0進(jìn)行了編程實(shí)現(xiàn),代碼并不復(fù)雜,主要用到了讀寫(xiě)文本文件函數(shù)和調(diào)用外部命令函數(shù)system()。

2.4 客戶端通用引導(dǎo)盤(pán)的制作

首先按常規(guī)方法制作出DOS啟動(dòng)盤(pán),在自動(dòng)批處理文件autoexec.bat的最后面添加一行“go”,調(diào)用上一小節(jié)編制出的go.exe程序。

再將引導(dǎo)程序go.exe,網(wǎng)卡信息文件netcard.txt,客戶端克隆程序ghost.exe,各種網(wǎng)卡的封包驅(qū)動(dòng)程序包括、、等復(fù)制到啟動(dòng)盤(pán)根目錄。

通過(guò)以上兩步,引導(dǎo)盤(pán)制作完畢,已經(jīng)可以使用了。

實(shí)現(xiàn)過(guò)程中使用WinImage、WinISO、NERO等軟件配合,將以上所列內(nèi)容制作成引導(dǎo)光盤(pán)。需要注意的是,引導(dǎo)程序go.exe運(yùn)行時(shí)會(huì)寫(xiě)配置文件wintcp.cfg,而光盤(pán)是只讀的。解決辦法是光盤(pán)啟動(dòng)初始階段在計(jì)算機(jī)內(nèi)存中建立一個(gè)虛擬盤(pán)。

由于提取了本實(shí)驗(yàn)室現(xiàn)有各種網(wǎng)卡的封包驅(qū)動(dòng)程序,該引導(dǎo)盤(pán)能引導(dǎo)所有計(jì)算機(jī)通過(guò)網(wǎng)絡(luò)連接到多播服務(wù)器,進(jìn)入準(zhǔn)備克隆狀態(tài)。因此稱之為“客戶端通用引導(dǎo)盤(pán)”。

3 網(wǎng)絡(luò)多播克隆的實(shí)施

準(zhǔn)備好了克隆服務(wù)器、樣板計(jì)算機(jī)的.gho映像文件,以及客戶端引導(dǎo)盤(pán),接下來(lái)就可以實(shí)施網(wǎng)絡(luò)多播克隆了。

事先將服務(wù)器IP地址設(shè)置為“192.168.0.1”,然后啟動(dòng)多播克隆服務(wù)器程序GhostCast Server,在服務(wù)器程序界面的會(huì)話名“Session Name”框中,輸入會(huì)話名稱“a”(與引導(dǎo)程序中g(shù)host的命令行參數(shù)相一致)。選中加載到客戶的單選框“Load To Clients”。在映像文件“Image File”框中,給出映像文件所在的路徑,如輸入“d:\system\P 4 2.4G\win2k.gho”。選中“Disk”單選框。單擊接受客戶“Accept Clients”按鈕,等待客戶機(jī)的連接。

克隆服務(wù)器啟動(dòng)后,客戶機(jī)就可以開(kāi)始連接服務(wù)器了。用按第2節(jié)實(shí)現(xiàn)方法制作的啟動(dòng)光盤(pán)啟動(dòng)計(jì)算機(jī),出現(xiàn)下面的交互式界面(圖1)。

鍵入“1”選擇第1種網(wǎng)卡,出現(xiàn)以下提示行(圖2)。

鍵入客戶機(jī)編號(hào)(比如“10”)并按下回車(chē)鍵,就會(huì)自動(dòng)連接上克隆服務(wù)器,此時(shí)在服務(wù)器端的窗口中可看見(jiàn)客戶機(jī)10的地址,表示客戶機(jī)10已經(jīng)登錄,等待服務(wù)器開(kāi)始克隆。再用引導(dǎo)盤(pán)啟動(dòng)其他客戶機(jī),操作方法同上。當(dāng)所有的客戶機(jī)都連結(jié)上服務(wù)器后,就可以在服務(wù)器端按發(fā)送“Send”按鈕,開(kāi)始網(wǎng)絡(luò)多播克隆(如圖3)。

4 應(yīng)用效果

由于界面易于使用,技術(shù)門(mén)檻降低,即使是非技術(shù)人員也能協(xié)助進(jìn)行系統(tǒng)維護(hù)工作。每臺(tái)客戶機(jī)在引導(dǎo)過(guò)程只需要輸入1到2個(gè)數(shù)字即可進(jìn)入到克隆預(yù)備狀態(tài),在進(jìn)行大面積系統(tǒng)恢復(fù)時(shí)更體現(xiàn)出高效率。以一個(gè)配備百兆以太網(wǎng)絡(luò)的計(jì)算機(jī)房為例,每批同時(shí)克隆30~40臺(tái)機(jī),一個(gè)小時(shí)內(nèi)可將這些機(jī)器的軟件系統(tǒng)全部恢復(fù)完畢。本文所述方案在高校實(shí)驗(yàn)室成功應(yīng)用兩年多,減輕了實(shí)驗(yàn)室工作人員的工作壓力,加快了計(jì)算機(jī)系統(tǒng)快速恢復(fù)的過(guò)程,也提高了工作效率,取得了很好的應(yīng)用效果,對(duì)學(xué)校計(jì)算機(jī)實(shí)驗(yàn)室建設(shè)和管理工作有著積極的促進(jìn)作用。

參考文獻(xiàn):

[1] 李欣.機(jī)房管理中Ghost軟件的應(yīng)用[J].實(shí)驗(yàn)室研究與探索,2004(6):14-16.

[2] 瞿波,陳偉.如何用GHOST進(jìn)行網(wǎng)絡(luò)多播克隆[J].計(jì)算機(jī)應(yīng)用與軟件,2004(9):115-117.

[3] 蘇航,王勇軍,于淼.基于Ghost軟件的快速數(shù)據(jù)恢復(fù)方法的研究[J].科技資訊,2008(28):20.

[4] 王月,鄭浩,宮豪,等.用Ghost軟件快速備份和恢復(fù)操作系統(tǒng)[J].吉林師范大學(xué)學(xué)報(bào):自然科學(xué)版,2009(3):154-156.

[5] 楊海瑞.淺談機(jī)房使用GHOST恢復(fù)系統(tǒng)的方法[J].河套大學(xué)學(xué)報(bào),2009(4):69-71,82.

篇(10)

一、引言

隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,個(gè)人用戶在網(wǎng)絡(luò)中的活動(dòng)不僅僅是瀏覽網(wǎng)頁(yè)和查詢信息,越來(lái)越多的用戶開(kāi)通網(wǎng)上支付功能進(jìn)行網(wǎng)上購(gòu)物和炒股等商業(yè)性活動(dòng)。如何防備計(jì)算機(jī)病毒和黑客的威脅成為用戶非常關(guān)注的問(wèn)題,越來(lái)越多的用戶選擇安裝個(gè)人防火墻來(lái)抵御黑客的攻擊,保護(hù)自己信息的安全,因此,研究和實(shí)現(xiàn)高性能的個(gè)人防火墻,提高個(gè)人計(jì)算機(jī)的安全是一件非常重要的工作。

個(gè)人防火墻的核心技術(shù)是網(wǎng)絡(luò)數(shù)據(jù)包截獲技術(shù),在Windows平臺(tái)上網(wǎng)絡(luò)數(shù)據(jù)包的攔截有多種方案,本文選取核心態(tài)的NDIS中間驅(qū)動(dòng)程序與用戶態(tài)的Winsock2 SPI技術(shù)相結(jié)合。

二、應(yīng)用層過(guò)濾的實(shí)現(xiàn)

(一)Winsock2 SPI技術(shù)原理

Winsock是為上層應(yīng)用程序提供的一種標(biāo)準(zhǔn)網(wǎng)絡(luò)接口,它為應(yīng)用程序提供透明服務(wù)。而 SPI是Winsock 2.0版本提供的一種允許用戶編寫(xiě)服務(wù)提供者接口程序的新機(jī)制,利用該技術(shù)在Winsock的下方插入一層或幾層處理程序,完成諸如傳輸質(zhì)量控制、擴(kuò)展TCP/IP協(xié)議棧、封包過(guò)濾及網(wǎng)絡(luò)安全控制等功能。

Winsock2 SPI對(duì)網(wǎng)絡(luò)的傳輸是通過(guò)傳輸服務(wù)提供者來(lái)完成的,傳輸服務(wù)提供者又分為分層服務(wù)提供者和基礎(chǔ)提供者如圖1。

(二)SPI的實(shí)現(xiàn)

SPI的實(shí)現(xiàn)就是編寫(xiě)一個(gè)動(dòng)態(tài)鏈接庫(kù),并且將其安裝到Winsock目錄中的基礎(chǔ)服務(wù)提供者上,讓?xiě)?yīng)用程序先調(diào)用用戶編寫(xiě)的服務(wù)提供者函數(shù),實(shí)現(xiàn)數(shù)據(jù)的過(guò)濾。再由用戶編寫(xiě)的服務(wù)提供者再調(diào)用下層的提供者。在本文所編寫(xiě)的分層服務(wù)提供者主要是截獲了Ws_32.dll對(duì)以下7個(gè)函數(shù)的調(diào)用:WSPSocket、WSPBind、WSPCloseSocket、WSPAccept、WSPConnect、WSPSendTo、WSPRecvFrom。

(三)LSP的安裝與卸載

本文中的用戶層過(guò)濾模塊實(shí)際上就是一個(gè)分層服務(wù)提供者。編寫(xiě)好服務(wù)提供者后,再將它安裝在Winsock目錄中:

(1)安 裝 新 的 分 層 服 務(wù) 提 供 者 即 向 Winsock 目 錄 中 安 裝 一 個(gè)WSAPROTOCAL_INFO 結(jié)構(gòu)(協(xié)議的入口),使創(chuàng)建套接字的應(yīng)用程序可以枚舉到它。

(2)每一個(gè)安裝的提供者都必須用一個(gè) GUID 唯一標(biāo)識(shí)它的入口。在卸載 LSP 時(shí),首先根據(jù)分層協(xié)議的 GUID 找到其目錄 ID 號(hào),然后逐個(gè)移除各協(xié)議鏈,最后再調(diào)用系統(tǒng)函數(shù)移除分層協(xié)議的提供者。

三、核心層過(guò)濾的實(shí)現(xiàn)

(一)NDIS中間驅(qū)動(dòng)程序原理

NDIS中間驅(qū)動(dòng)程序拓?fù)浣Y(jié)構(gòu)如圖2所示。利用NDIS中間驅(qū)動(dòng)程序可以在網(wǎng)卡驅(qū)動(dòng)程序和傳輸驅(qū)動(dòng)程序之間插入一層自己的處理,從而用來(lái)截獲網(wǎng)絡(luò)封包并重新進(jìn)行封包、加密、網(wǎng)絡(luò)地址轉(zhuǎn)換和過(guò)濾等操作。中間層驅(qū)動(dòng)源于Windows NT中的分層設(shè)計(jì),允許系統(tǒng)在協(xié)議層驅(qū)動(dòng)和微端口驅(qū)動(dòng)之間存在任意多個(gè)中間層驅(qū)動(dòng),以完成所需的工作。

(二)NDIS中間驅(qū)動(dòng)程序的實(shí)現(xiàn)

Windows 2003 DDK中的PassThru提供了一個(gè)用戶接口框架,本核心層過(guò)濾模塊就是在這個(gè)框架基礎(chǔ)上進(jìn)行擴(kuò)展的。擴(kuò)展的流程如下:

(1)驅(qū)動(dòng)初始化過(guò)程DriverEntry。所有的驅(qū)動(dòng)程序在開(kāi)始調(diào)用前都要進(jìn)行程序的初始化操作。這個(gè)初始化過(guò)程和DLL的初始化操作過(guò)程相似。

(2)微端口的注冊(cè)。中間層驅(qū)動(dòng)程序在進(jìn)行為端口程序的注冊(cè)時(shí),調(diào)用NdisIMRegisterLayeredMiniport的導(dǎo)出函數(shù)。

(3)注冊(cè)中間層驅(qū)動(dòng)協(xié)議。在中間層驅(qū)動(dòng)程序中,通過(guò)調(diào)用NdisRegisterProtoco1向NDIS注冊(cè)Protocolxxx函數(shù)。

聲明方式如下:

VOID

NdisRegisterProtocol(

OUT PNDIS_STATUS Status,

OUT PNDIS_HANDLE NdisProtocolHandler,

IN NDIS_PROTOCOL_CHARACTERISTICS Protoco1Charaeter-

istics,

IN UINT CharaeteristicsLength);

上一篇: 銀監(jiān)局匯報(bào)材料 下一篇: 黨員民主評(píng)議自我評(píng)價(jià)
相關(guān)精選
主站蜘蛛池模板: 咸丰县| 嘉定区| 光泽县| 奉贤区| 安阳县| 天等县| 井陉县| 理塘县| 秦安县| 溆浦县| 惠安县| 余干县| 白城市| 灯塔市| 东光县| 鄄城县| 进贤县| 凌源市| 南木林县| 林口县| 滦南县| 嘉峪关市| 澄江县| 安乡县| 涡阳县| 维西| 冕宁县| 大理市| 成武县| 祁连县| 萍乡市| 富宁县| 高青县| 南华县| 锡林浩特市| 夏邑县| 沈阳市| 唐河县| 综艺| 庆云县| 花莲市|