Ap獲取客戶端ip地址的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種獲取客戶端IP地址的方法,尤其涉及在客戶端與AP無(wú)線連接的模式下AP獲取客戶端IP地址的方法。
【背景技術(shù)】
[0002]AP做為網(wǎng)橋,用于鏈接無(wú)線客戶端和上行服務(wù)器,當(dāng)AP的IP地址和上行DHCP服務(wù)器地址池不在同一個(gè)網(wǎng)段的情況下,ARP (Address Resolut1n Protocol,地址解析協(xié)議,是獲取物理地址的一個(gè)TCP/IP協(xié)議)包不會(huì)進(jìn)入AP的網(wǎng)絡(luò)層進(jìn)行處理,AP將獲取不到由DHCP服務(wù)器分配給客戶端的IP地址。因而,AP的IP地址和上行DHCP服務(wù)器地址池要在同一個(gè)網(wǎng)段,AP才能在ARP列表里獲取連接到AP的客戶端的IP地址。而實(shí)際應(yīng)用環(huán)境中,AP的IP地址與DHCP服務(wù)器卻經(jīng)常在不同的網(wǎng)段,這樣可以節(jié)約DHCP服務(wù)器可分配的IP地址。
[0003]因而,需要解決當(dāng)AP和上行DHCP服務(wù)器地址池不在同一個(gè)網(wǎng)段的情況下,AP能夠獲取由DHCP服務(wù)器分配給客戶端的IP地址的問(wèn)題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明需解決的技術(shù)問(wèn)題是提供一種當(dāng)AP的IP地址和上行DHCP服務(wù)器地址池不在同一個(gè)網(wǎng)段的情況下AP獲取客戶端IP地址的方法。
[0005]為解決上述的技術(shù)問(wèn)題,本發(fā)明設(shè)計(jì)了一種AP獲取客戶端IP地址的方法,其包括以下步驟:
[0006]stepl:獲取AP系統(tǒng)日志的ARP信息,再?gòu)腁RP信息中取出客戶端的MAC地址和IP地址;
[0007]step2:從AP的無(wú)線驅(qū)動(dòng)里獲取連接到AP的各個(gè)客戶端的參數(shù)信息,讀取所述參數(shù)信息中的各個(gè)客戶端的MAC地址,并將各個(gè)客戶端的MAC地址保存為無(wú)線MAC地址列表;
[0008]step3:創(chuàng)建/tmp/arp文件來(lái)保存通過(guò)AP連接到上行路由器的客戶端的ARP列表;
[0009]step4:將/tmp/arp文件復(fù)制一份,得到一份tmp/arp備份文件,并配置一個(gè)初始值為O的標(biāo)記變量,同時(shí),將/tmp/arp文件的的ARP列表信息清零;
[0010]step5:打開(kāi)/tmp/arp備份文件,讀取/tmp/arp備份文件中的ARP列表的MAC地址和IP地址,判斷/tmp/arp備份文件中的ARP列表的MAC地址是否包含在所述無(wú)線MAC地址列表中;如果否,則不將該條MAC地址和IP地址保存到/tmp/arp文件中的ARP列表里,繼續(xù)讀取/tmp/arp備份文件中ARP列表下一條的MAC地址和IP地址;如果是,判斷/tmp/arp備份文件中的ARP列表的MAC地址是否與根據(jù)st印I從系統(tǒng)日志的取出的MAC地址相同,如果相同,則把從系統(tǒng)日志的取出的MAC地址以及其對(duì)應(yīng)的IP地址保存到/tmp/arp文件中的ARP列表中,并賦予標(biāo)記變量的值為1,如果不相同,把/tmp/arp備份文件中的ARP列表的MAC地址和IP地址保存到/tmp/arp文件的ARP列表中,繼續(xù)讀取/tmp/arp備份文件中ARP列表下一條的MAC地址和IP地址;逐條讀取/tmp/arp備份文件中的ARP列表的MAC地址和IP地址,直到把/tmp/arp備份文件中ARP列表內(nèi)容讀完為止;
[0011]Step6:判斷標(biāo)記變量的值,如果標(biāo)志變量的值為0,則把從系統(tǒng)日志的取出的MAC地址以及其對(duì)應(yīng)的IP地址保存進(jìn)/tmp/arp文件中的ARP列表中。
[0012]作為本發(fā)明進(jìn)一步改進(jìn),在stepl之前,還先對(duì)AP系統(tǒng)日志中的日志信息進(jìn)行過(guò)濾。
[0013]作為本發(fā)明進(jìn)一步改進(jìn),在stepl中,通過(guò)“iwpriv rao show stainfo”命令,從AP的無(wú)線驅(qū)動(dòng)里獲取連接到AP的各個(gè)客戶端的參數(shù)信息。
[0014]當(dāng)AP和上行DHCP服務(wù)器地址池不在同一個(gè)網(wǎng)段的情況下,本發(fā)明通過(guò)維護(hù)自定義創(chuàng)建的一張ARP列表,將獲取到的各個(gè)客戶端的IP地址保存進(jìn)ARP列表,從而方便獲取鏈接到AP的客戶端的IP地址,進(jìn)而對(duì)客戶端進(jìn)行一系列基于IP地址的管理。
【附圖說(shuō)明】
[0015]圖1為本發(fā)明AP獲取客戶端IP地址的方法流程圖。
【具體實(shí)施方式】
[0016]為了使本領(lǐng)域相關(guān)技術(shù)人員更好地理解本發(fā)明的技術(shù)方案,下面將結(jié)合本發(fā)明實(shí)施方式的附圖,對(duì)本發(fā)明實(shí)施方式中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施方式僅僅是本發(fā)明一部分實(shí)施方式,而不是全部的實(shí)施方式。
[0017]本發(fā)明提供一種AP獲取客戶端IP地址的方法,在當(dāng)AP和上行DHCP服務(wù)器地址池不在同一個(gè)網(wǎng)段的情況下,AP能夠獲取由上行DHCP服務(wù)器分配給連接到AP的客戶端的IP地址。
[0018]如圖1所示,本發(fā)明提供AP獲取客戶端IP地址的方法,包括以下步驟:
[0019]stepl:獲取AP系統(tǒng)日志的ARP信息,再?gòu)腁RP信息中取出客戶端的MAC地址和IP地址。由于,AP系統(tǒng)日志的信息量比較大,為了能準(zhǔn)確獲取到關(guān)于客戶端的MAC地址和IP地址的信息,本發(fā)明還先對(duì)AP系統(tǒng)日志中的日志信息進(jìn)行過(guò)濾,把無(wú)用的信息過(guò)濾掉。
[0020]step2:通過(guò)“iwpriv rao show stainfo”命令,從AP的無(wú)線驅(qū)動(dòng)里獲取連接到AP的各個(gè)客戶端的參數(shù)信息,讀取所述參數(shù)信息中的各個(gè)客戶端的MAC地址,并將各個(gè)客戶端的MAC地址保存為無(wú)線MAC地址列表。
[0021]step3:創(chuàng)建/tmp/arp文件來(lái)保存通過(guò)AP連接到上行路由器的客戶端的ARP列表。ARP列表即用來(lái)保存客戶端的MAC地址和IP地址,通過(guò)維護(hù)/更新該/tmp/arp文件的ARP列表信息,實(shí)現(xiàn)獲取鏈接到AP的客戶端的IP地址。
[0022]step4:為方便維護(hù)tmp/arp文件的ARP列表,首先將/tmp/arp文件復(fù)制一份,得到一份tmp/arp備份文件,并配置一個(gè)初始值為O的標(biāo)記變量,同時(shí),將/tmp/arp文件的ARP列表信息清零。tmp/arp備份文件用作后面步驟的比較和判斷,判斷后將需要保存的客戶端的MAC地址和IP地址信息保存進(jìn)/tmp/arp文件中清零后的ARP列表。
[0023]step5:打開(kāi)/tmp/arp備份文件,逐條讀取/tmp/arp備份文件中的ARP列表的MAC地址和IP地址,判斷/tmp/arp備份文件中的ARP列表的MAC地址是否包含在所述無(wú)線MAC地址列表中。
[0024]如果否,則不將該條MAC地址和IP地址保存到/tmp/arp文件中的ARP列表里,這說(shuō)明該條MAC地址沒(méi)有包含在所述無(wú)線MAC地址列表,該MAC地址對(duì)應(yīng)的客戶端已經(jīng)離開(kāi)AP,因而,不需要再在/tmp/arp文件中的ARP列表保存,應(yīng)當(dāng)刪除。判斷完該條信息,繼續(xù)讀取/tmp/arp備份文件中ARP列表下一條的MAC地址和IP地址。
[0025]如果是,再繼續(xù)判斷/tmp/arp備份文件中的ARP列表的MAC地址是否與根據(jù)step I從系統(tǒng)日志的取出的MAC地址相同。
[0026]如果相同,則把從系統(tǒng)日志的取出的MAC地址以及其對(duì)應(yīng)的IP地址保存到/tmp/arp文件中的ARP列表中,并賦予標(biāo)記變量的值為I。
[0027]如果不相同,把/tmp/arp備份文件中的ARP列表的MAC地址和IP地址保存到/tmp/arp文件的ARP列表中,繼續(xù)讀取/tmp/arp備份文件中ARP列表下一條的MAC地址和IP地址。
[0028]逐條讀取/tmp/arp備份文件中的ARP列表的MAC地址和IP地址,循環(huán)判斷,直到把/tmp/arp備份文件中ARP列表內(nèi)容讀完為止。
[0029]st印6:判斷標(biāo)記變量的值,如果標(biāo)志變量的值為0,則把從系統(tǒng)日志的取出的MAC地址以及其對(duì)應(yīng)的IP地址保存進(jìn)/tmp/arp文件中的ARP列表中。這說(shuō)明AP新增加連接一個(gè)客戶端,該客戶端的MAC地址和IP地址信息從系統(tǒng)日志中得到,而/tmp/arp備份文件和tmp/arp文件兩者ARP列表還未有,step6則直接將AP新增加連接一個(gè)客戶端這種情況的客戶端的MAC地址和IP地址保存進(jìn)/tmp/arp文件中的ARP列表中。
[0030]當(dāng)AP和上行DHCP服務(wù)器地址池不在同一個(gè)網(wǎng)段的情況下,本發(fā)明通過(guò)維護(hù)自定義創(chuàng)建的一張ARP列表,將獲取到的各個(gè)客戶端的IP地址保存進(jìn)ARP列表,從而方便獲取鏈接到AP的客戶端的IP地址,進(jìn)而對(duì)客戶端進(jìn)行一系列基于IP地址的管理。
[0031]以上僅表達(dá)了本發(fā)明的一種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專(zhuān)利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專(zhuān)利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【主權(quán)項(xiàng)】
1.一種AP獲取客戶端IP地址的方法,其特征在于:包括以下步驟: stepl:獲取AP系統(tǒng)日志的ARP信息,再?gòu)腁RP信息中取出客戶端的MAC地址和IP地址; step2:從AP的無(wú)線驅(qū)動(dòng)里獲取連接到AP的各個(gè)客戶端的參數(shù)信息,讀取所述參數(shù)信息中的各個(gè)客戶端的MAC地址,并將各個(gè)客戶端的MAC地址保存為無(wú)線MAC地址列表;step3:創(chuàng)建/tmp/arp文件來(lái)保存通過(guò)AP連接到上行路由器的客戶端的ARP列表;step4:將/tmp/arp文件復(fù)制一份,得到一份tmp/arp備份文件,并配置一個(gè)初始值為O的標(biāo)記變量,同時(shí),將/tmp/arp文件的的ARP列表信息清零; step5:打開(kāi)/tmp/arp備份文件,讀取/tmp/arp備份文件中的ARP列表的MAC地址和IP地址,判斷/tmp/arp備份文件中的ARP列表的MAC地址是否包含在所述無(wú)線MAC地址列表中;如果否,則不將該條MAC地址和IP地址保存到/tmp/arp文件中的ARP列表里,繼續(xù)讀取/tmp/arp備份文件中ARP列表下一條的MAC地址和IP地址;如果是,判斷/tmp/arp備份文件中的ARP列表的MAC地址是否與根據(jù)st印I從系統(tǒng)日志的取出的MAC地址相同,如果相同,則把從系統(tǒng)日志的取出的MAC地址以及其對(duì)應(yīng)的IP地址保存到/tmp/arp文件中的ARP列表中,并賦予標(biāo)記變量的值為I,如果不相同,把/tmp/arp備份文件中的ARP列表的MAC地址和IP地址保存到/tmp/arp文件的ARP列表中,繼續(xù)讀取/tmp/arp備份文件中ARP列表下一條的MAC地址和IP地址;逐條讀取/tmp/arp備份文件中的ARP列表的MAC地址和IP地址,直到把/tmp/arp備份文件中ARP列表內(nèi)容讀完為止; step6:判斷標(biāo)記變量的值,如果標(biāo)志變量的值為O,則把從系統(tǒng)日志的取出的MAC地址以及其對(duì)應(yīng)的IP地址保存進(jìn)/tmp/arp文件中的ARP列表中。
2.根據(jù)權(quán)利要求1所述AP獲取客戶端IP地址的方法,其特征在于:在stepl之前,還先對(duì)AP系統(tǒng)日志中的日志信息進(jìn)行過(guò)濾。
3.根據(jù)權(quán)利要求1所述AP獲取客戶端IP地址的方法,其特征在于:在stepl中,通過(guò)“iwpriv rao show stainfo”命令,從AP的無(wú)線驅(qū)動(dòng)里獲取連接到AP的各個(gè)客戶端的參數(shù)信息。
【專(zhuān)利摘要】本發(fā)明提出了一種AP獲取客戶端IP地址的方法,所述方法創(chuàng)建/tmp/arp文件來(lái)保存客戶端的ARP列表,同時(shí)還備份/tmp/arp文件;讀取/tmp/arp備份文件中的ARP列表的MAC地址和IP地址,判斷是否包含在無(wú)線MAC地址列表中;如果否,則不將該條MAC地址和IP地址保存到/tmp/arp文件中的ARP列表里,繼續(xù)讀取下一條;如果是,判斷是否與系統(tǒng)日志的取出的MAC地址相同,如果相同,則把從系統(tǒng)日志的取出的MAC地址以及其對(duì)應(yīng)的IP地址保存到/tmp/arp文件中的ARP列表中。當(dāng)AP和上行DHCP服務(wù)器地址池不在同一個(gè)網(wǎng)段的情況下,本發(fā)明通過(guò)維護(hù)自定義創(chuàng)建的一張ARP列表,將獲取到的各個(gè)客戶端的IP地址保存進(jìn)ARP列表,從而方便獲取鏈接到AP的客戶端的IP地址,進(jìn)而對(duì)客戶端進(jìn)行一系列基于IP地址的管理。
【IPC分類(lèi)】H04W80-04, H04L29-12
【公開(kāi)號(hào)】CN104601737
【申請(qǐng)?zhí)枴緾N201310534007
【發(fā)明人】黃毅坤, 陳歲平
【申請(qǐng)人】上海斐訊數(shù)據(jù)通信技術(shù)有限公司
【公開(kāi)日】2015年5月6日
【申請(qǐng)日】2013年10月31日