一種局域網(wǎng)dhcp數(shù)據(jù)包過濾方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種局域網(wǎng)DHCP數(shù)據(jù)包過濾方法,該方法通過在網(wǎng)卡驅(qū)動與協(xié)議驅(qū)動之間的中間層對局域網(wǎng)中發(fā)送到DHCP客戶機的網(wǎng)絡(luò)數(shù)據(jù)包進行過濾,過濾步驟包括網(wǎng)絡(luò)數(shù)據(jù)包采集、網(wǎng)絡(luò)數(shù)據(jù)包篩選、DHCP數(shù)據(jù)包分析、網(wǎng)絡(luò)數(shù)據(jù)包處理四個步驟,從發(fā)送到DHCP客戶機的數(shù)據(jù)包中逐步分離出DHCP數(shù)據(jù)包,并對DHCP數(shù)據(jù)包進行分析,接收指定DHCP服務(wù)器發(fā)送的合法數(shù)據(jù)包,丟棄非法DHCP服務(wù)器發(fā)送的數(shù)據(jù)包,從而實現(xiàn)DHCP客戶機從指定的DHCP服務(wù)器獲取IP地址,防止非法DHCP服務(wù)器為DHCP客戶機分配IP地址,同時本發(fā)明還公開了一種局域網(wǎng)DHCP數(shù)據(jù)包過濾系統(tǒng)。
【專利說明】一種局域網(wǎng)DHCP數(shù)據(jù)包過濾方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機應(yīng)用技術(shù)及計算機網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,具體涉及一種局域網(wǎng)中DHCP數(shù)據(jù)包過濾方法及系統(tǒng)。
【背景技術(shù)】
[0002]DHCP 協(xié)議是動態(tài)主機配置協(xié)議(Dynamic Host Configuration Protocol)的縮寫,它是一種局域網(wǎng)網(wǎng)絡(luò)協(xié)議,通過此協(xié)議網(wǎng)絡(luò)管理員可以集中管理和自動分配、回收局域網(wǎng)中DHCP客戶機的IP地址,在大、中、小型局域網(wǎng)中應(yīng)用廣泛,尤其是大、中型局域網(wǎng)中,比如高校校園網(wǎng)、大型企業(yè)網(wǎng),這些網(wǎng)絡(luò)中的客戶機數(shù)量眾多,幾乎不可能手工為每臺客戶機分配網(wǎng)絡(luò)IP(Internet Protocol,互聯(lián)網(wǎng)協(xié)議)地址,所以通過DHCP協(xié)議為網(wǎng)絡(luò)中的客戶機動態(tài)分配IP地址成為一種最佳的方案。
[0003]但是,這些大、中型局域網(wǎng)的網(wǎng)絡(luò)管理員一般只能掌握網(wǎng)絡(luò)中合法的DHCP服務(wù)器數(shù)量,一些非法的DHCP服務(wù)器,比如學(xué)生在寢室、實驗室等私自架設(shè)的DHCP服務(wù)器,企業(yè)員工在辦公室私自架設(shè)的DHCP服務(wù)器等的數(shù)量不易掌握,因此一般這些大、中型局域網(wǎng)中往往存在著許多合法與非法的DHCP服務(wù)器,而DHCP協(xié)議有一個缺點就是每一個接入局域網(wǎng)的DHCP客戶機需要通過廣播的方式向局域網(wǎng)中發(fā)送DHCP discover數(shù)據(jù)包來尋找DHCP服務(wù)器,接收到數(shù)據(jù)包的DHCP服務(wù)器都會做出響應(yīng),在自己地址池中尚未出租的IP地址中挑選一個分配給請求的DHCP客戶機,并通過DHCP offer數(shù)據(jù)包發(fā)送到DHCP客戶機,此時如果DHCP客戶機收到多臺DHCP服務(wù)器的響應(yīng)信息,那么DHCP客戶機只會接收第一個收到的DHCP服務(wù)器響應(yīng)信息,然后即向局域網(wǎng)中發(fā)送DHCP request廣播數(shù)據(jù)包,告訴局域網(wǎng)中的所有DHCP服務(wù)器它已經(jīng)接受了哪臺DHCP服務(wù)器所提供的IP地址,此時接收到DHCPrequest數(shù)據(jù)包的其它DHCP服務(wù)器便會收回剛才所分配的IP地址,這樣便產(chǎn)生了一個問題,就是如果DHCP客戶機接收的IP地址不是其想要的DHCP服務(wù)器所分配的IP地址,就會造成很多問題,比如DHCP客戶機無法訪問互聯(lián)網(wǎng),或者DHCP客戶機無法訪問某些內(nèi)網(wǎng)資源,或者DHCP客戶機接入了 一個不安全的內(nèi)部網(wǎng)絡(luò)造成DHCP客戶機被非法訪問、網(wǎng)絡(luò)數(shù)據(jù)包被非法攔截、分析等情況的發(fā)生。
[0004]所以如何為接入這些大、中型局域網(wǎng)的DHCP客戶機,指定其所需的合法DHCP服務(wù)器為其分配網(wǎng)絡(luò)IP地址,過濾非法DHCP服務(wù)器為其分配的網(wǎng)絡(luò)IP地址,是這些網(wǎng)絡(luò)中網(wǎng)絡(luò)管理員所面臨的一個現(xiàn)實而棘手的問題。而事實上,我們可以通過在網(wǎng)卡驅(qū)動和協(xié)議驅(qū)動之間的中間層,通過編寫中間層驅(qū)動的方式來采集所有局域網(wǎng)中發(fā)送到DHCP客戶機的數(shù)據(jù)包,并選取其中的DHCP數(shù)據(jù)包進行分析,從而接收指定DHCP服務(wù)器發(fā)送的數(shù)據(jù)包,丟棄其它非法DHCP服務(wù)器發(fā)送的數(shù)據(jù)包。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供了一種局域網(wǎng)DHCP數(shù)據(jù)包過濾方法,這種方法通過對局域網(wǎng)中網(wǎng)絡(luò)數(shù)據(jù)包采集、網(wǎng)絡(luò)數(shù)據(jù)包篩選、DHCP數(shù)據(jù)包分析,網(wǎng)絡(luò)數(shù)據(jù)包處理四個步驟,來實現(xiàn)對局域網(wǎng)中發(fā)送到DHCP客戶機的DHCP數(shù)據(jù)包進行分析、判斷與選擇,以實現(xiàn)局域網(wǎng)中DHCP客戶機接收指定DHCP服務(wù)器發(fā)送的數(shù)據(jù)包,丟棄其它非法DHCP服務(wù)器發(fā)送的數(shù)據(jù)包,同時本發(fā)明還提供了一種局域網(wǎng)DHCP數(shù)據(jù)包過濾系統(tǒng)。
[0006]本發(fā)明是通過以下技術(shù)方案實現(xiàn)的:
[0007]本發(fā)明提供了一種局域網(wǎng)DHCP數(shù)據(jù)包過濾方法,包括以下幾個步驟:
[0008](I)網(wǎng)絡(luò)數(shù)據(jù)包采集過程,即在DHCP客戶機網(wǎng)卡驅(qū)動和協(xié)議驅(qū)動之間的中間層偵聽并截獲局域網(wǎng)中發(fā)送到本機的所有數(shù)據(jù)包,并對每個數(shù)據(jù)包進行逐一的采集。首先,在內(nèi)存中分配一個大于或等于局域網(wǎng)中最大數(shù)據(jù)包長度的內(nèi)存緩沖區(qū)來存放所截獲的數(shù)據(jù)包,然后將所述的內(nèi)存緩沖區(qū)內(nèi)容清零,最后將所截獲的數(shù)據(jù)包內(nèi)容分塊拷貝到所述的內(nèi)存緩沖區(qū)中。
[0009](2)網(wǎng)絡(luò)數(shù)據(jù)包篩選過程,首先取出所述的內(nèi)存緩沖區(qū)第13和第14字節(jié)的值,如果第13字節(jié)的值等于8,并且第14字節(jié)的值等于0,那么所述的數(shù)據(jù)包為IP數(shù)據(jù)包,然后取出所述的內(nèi)存緩沖區(qū)第24字節(jié)的值,如果第24字節(jié)的值等于17,說明所述的IP數(shù)據(jù)包為UDP(User Datagram Protocol,用戶數(shù)據(jù)報協(xié)議)數(shù)據(jù)包,此時需要計算所述的IP數(shù)據(jù)包的長度,IP數(shù)據(jù)包長度的計算方法由如下兩個公式產(chǎn)生:
【權(quán)利要求】
1.一種局域網(wǎng)DHCP數(shù)據(jù)包過濾方法,其特征在于,包括以下步驟: (1)網(wǎng)絡(luò)數(shù)據(jù)包采集過程,即在DHCP客戶機網(wǎng)卡驅(qū)動和協(xié)議驅(qū)動之間的中間層偵聽并截獲局域網(wǎng)中發(fā)送到本機的所有數(shù)據(jù)包,并對每個數(shù)據(jù)包進行逐一的采集,首先,在內(nèi)存中分配一個大于或等于局域網(wǎng)中最大數(shù)據(jù)包長度的內(nèi)存緩沖區(qū)來存放所截獲的數(shù)據(jù)包,然后將所述的內(nèi)存緩沖區(qū)內(nèi)容清零,最后將所截獲的數(shù)據(jù)包內(nèi)容分塊拷貝到所述的內(nèi)存緩沖區(qū)中; (2)網(wǎng)絡(luò)數(shù)據(jù)包篩選過程,即首先取出所述的內(nèi)存緩沖區(qū)第13字節(jié)和第14字節(jié)的值,如果第13字節(jié)的值等于8,并且第14字節(jié)的值等于O,那么所述的數(shù)據(jù)包為IP數(shù)據(jù)包,然后取出所述的內(nèi)存緩沖區(qū)第24字節(jié)的值,如果第24字節(jié)的值等于17,說明所述的IP數(shù)據(jù)包為UDP數(shù)據(jù)包,此時需要計算所述的IP數(shù)據(jù)包的長度,IP數(shù)據(jù)包長度的計算方法由如下兩個公式產(chǎn)生:
2.一種局域網(wǎng)DHCP數(shù)據(jù)包過濾系統(tǒng),其特征在于,包括驅(qū)動子系統(tǒng)和應(yīng)用子系統(tǒng)兩部分,所述的驅(qū)動子系統(tǒng)包括網(wǎng)絡(luò)數(shù)據(jù)包采集模塊、數(shù)據(jù)包篩選模塊、DHCP數(shù)據(jù)包分析模塊、網(wǎng)絡(luò)數(shù)據(jù)包處理模塊、通訊處理模塊;所述的應(yīng)用子系統(tǒng)包括底層通訊模塊、DHCP服務(wù)器管理模塊、DHCP服務(wù)器綁定管理模塊、IP地址更新模塊、系統(tǒng)界面模塊; 所述的網(wǎng)絡(luò)數(shù)據(jù)包采集模塊,用于偵聽并截獲局域網(wǎng)中發(fā)送到本機的所有數(shù)據(jù)包,并對數(shù)據(jù)包進行逐一的采集和處理;所述的網(wǎng)絡(luò)數(shù)據(jù)包篩選模塊,用于對采集到的數(shù)據(jù)包進行分類篩選,分離出其中的DHCP數(shù)據(jù)包,并將其它類型的數(shù)據(jù)包提交到網(wǎng)絡(luò)數(shù)據(jù)包處理模塊等待處理; 所述的DHCP數(shù)據(jù)包分析模塊,用于對篩選出的DHCP數(shù)據(jù)包進行分析與判斷,找出其中合法DHCP服務(wù)器發(fā)送到本機的數(shù)據(jù)包,并將分析完畢的DHCP數(shù)據(jù)包提交到網(wǎng)絡(luò)數(shù)據(jù)包處理模塊等待處理; 所述的網(wǎng)絡(luò)數(shù)據(jù)包處理模塊,用于對分析完畢的數(shù)據(jù)包進行處理,接收合法DHCP服務(wù)器發(fā)送到本機的數(shù)據(jù)包以及發(fā)送到本機的其它類型的數(shù)據(jù)包,丟棄非法DHCP服務(wù)器發(fā)送到本機的數(shù)據(jù)包; 所述的通訊處理模塊,用于接收上層應(yīng)用程序發(fā)送到中間層的信息,以及將中間層的反饋信息發(fā)送到上層應(yīng)用程序; 所述的底層通訊模塊,用于上層應(yīng)用程序向中間層驅(qū)動發(fā)送信息,或者上層應(yīng)用程序從中間層驅(qū)動獲取所需的信息,并能實時顯示已經(jīng)丟棄的DHCP數(shù)據(jù)包信息; 所述的DHCP服務(wù)器管理模塊,用于管理合法DHCP服務(wù)器列表,包括插入DHCP服務(wù)器記錄,刪除DHCP服務(wù)器記錄,清空DHCP服務(wù)器列表,保存DHCP服務(wù)器列表四個功能;所述的DHCP服務(wù)器綁定管理模塊,用來綁定當(dāng)前指定的合法DHCP服務(wù)器,并將DHCP服務(wù)器信息通過所述的底層通訊模塊發(fā)送到中間層驅(qū)動,作為DHCP數(shù)據(jù)包過濾的規(guī)則,也可以解除綁定DHCP服務(wù)器,允許DHCP客戶機接收局域網(wǎng)中所有的DHCP數(shù)據(jù)包; 所述的IP地址更新模塊,用來當(dāng)更換完畢指定的合法DHCP服務(wù)器后,清空當(dāng)前DHCP客戶機的IP地址,并更新當(dāng)前DHCP客戶機的IP地址到新DHCP服務(wù)器所分配的IP地址;所述的系統(tǒng)界面模塊,用來生成上層應(yīng)用程序的操作界面、界面中各個組件的顯示,以及各個組件中數(shù)據(jù)的輸入與輸 出。
【文檔編號】H04L29/06GK103888481SQ201410160521
【公開日】2014年6月25日 申請日期:2014年4月21日 優(yōu)先權(quán)日:2014年4月21日
【發(fā)明者】馬俊 申請人:黑龍江中醫(yī)藥大學(xué)