基于http協(xié)議在智能網(wǎng)關(guān)中實(shí)現(xiàn)設(shè)備類型識(shí)別的方法【專利摘要】本發(fā)明涉及一種基于HTTP協(xié)議在智能網(wǎng)關(guān)中實(shí)現(xiàn)設(shè)備類型識(shí)別的方法,其中包括智能網(wǎng)關(guān)創(chuàng)建nfqueue隊(duì)列連接通道;在設(shè)備接入后根據(jù)該設(shè)備的接入信息中的MAC地址設(shè)定相應(yīng)的防火墻規(guī)則;根據(jù)防火墻規(guī)則對(duì)該設(shè)備的上網(wǎng)報(bào)文打上標(biāo)記值;監(jiān)聽(tīng)該nfqueue隊(duì)列連接通道的數(shù)據(jù)包,并判斷是否存在具有標(biāo)記值的上網(wǎng)報(bào)文,如果是,則解析具有標(biāo)記值的上網(wǎng)報(bào)文,并獲得相應(yīng)設(shè)備的設(shè)備信息,然后將設(shè)備信息上傳至網(wǎng)關(guān)管理平臺(tái)。采用本發(fā)明的基于HTTP協(xié)議在智能網(wǎng)關(guān)中實(shí)現(xiàn)設(shè)備類型識(shí)別的方法,在實(shí)現(xiàn)過(guò)程中不需要修改任何內(nèi)核代碼即可對(duì)傳統(tǒng)功能進(jìn)行改進(jìn),使之更加快速、有效與智能化,是一種無(wú)侵入式的方法,結(jié)構(gòu)簡(jiǎn)單,易于實(shí)現(xiàn),不受環(huán)境約束,具有更廣泛的應(yīng)用范圍?!緦@f(shuō)明】基于HTTP協(xié)議在智能網(wǎng)關(guān)中實(shí)現(xiàn)設(shè)備類型識(shí)別的方法【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及智能網(wǎng)關(guān)【
技術(shù)領(lǐng)域:
】,尤其涉及設(shè)備類型識(shí)別【
技術(shù)領(lǐng)域:
】,具體是指一種基于計(jì)算機(jī)軟件實(shí)現(xiàn)多功能指紋解鎖的方法?!?br>背景技術(shù):
】[0002]隨著智能家居,智能網(wǎng)關(guān)等概念的逐步發(fā)展與成熟,相關(guān)產(chǎn)品也逐步進(jìn)入人們的生活,傳統(tǒng)網(wǎng)關(guān)一些功能無(wú)法滿足智能化的需求,不能給用戶帶來(lái)方便,有效的體驗(yàn)。[0003]傳統(tǒng)網(wǎng)關(guān)對(duì)LAN側(cè)設(shè)備類別識(shí)別主要使用DHCP協(xié)議OPT1N選項(xiàng)來(lái)實(shí)現(xiàn)的,這要求設(shè)備支持此選項(xiàng)才能被識(shí)別,而且對(duì)操作系統(tǒng),廠家等信息的識(shí)別存在天然缺陷,使用此方式不能滿足智能網(wǎng)關(guān)對(duì)LAN側(cè)設(shè)備類型的識(shí)別需求?!?br/>發(fā)明內(nèi)容】[0004]本發(fā)明的目的是克服了上述現(xiàn)有技術(shù)的缺點(diǎn),提供了一種需要修改任何內(nèi)核代碼,基于HTTP協(xié)議頭解析實(shí)現(xiàn)下掛設(shè)備類型識(shí)別的基于HTTP協(xié)議在智能網(wǎng)關(guān)中實(shí)現(xiàn)設(shè)備類型識(shí)別的方法。[0005]為了實(shí)現(xiàn)上述目的,本發(fā)明的基于HTTP協(xié)議在智能網(wǎng)關(guān)中實(shí)現(xiàn)設(shè)備類型識(shí)別的方法具有如下構(gòu)成:[0006]該基于HTTP協(xié)議在智能網(wǎng)關(guān)中實(shí)現(xiàn)設(shè)備類型識(shí)別的方法,其主要特點(diǎn)是,所述的方法包括以下步驟:[0007](I)所述的智能網(wǎng)關(guān)創(chuàng)建nfqueue隊(duì)列連接通道;[0008](2)所述的智能網(wǎng)關(guān)在設(shè)備接入后根據(jù)該設(shè)備的接入信息中的MAC地址設(shè)定相應(yīng)的防火墻規(guī)則;[0009](3)所述的智能網(wǎng)關(guān)根據(jù)所述的防火墻規(guī)則對(duì)該設(shè)備的上網(wǎng)報(bào)文打上標(biāo)記值;[0010](4)所述的智能網(wǎng)關(guān)監(jiān)聽(tīng)該nfqueue隊(duì)列連接通道的數(shù)據(jù)包,并判斷是否存在具有標(biāo)記值的上網(wǎng)報(bào)文,如果是,則繼續(xù)步驟(5),否則繼續(xù)步驟(4);[0011](5)所述的智能網(wǎng)關(guān)解析所述的具有標(biāo)記值的上網(wǎng)報(bào)文,并獲得相應(yīng)設(shè)備的設(shè)備信息;[0012](6)所述的智能網(wǎng)關(guān)將所述的設(shè)備信息上傳至網(wǎng)關(guān)管理平臺(tái)。[0013]進(jìn)一步地,所述的智能網(wǎng)關(guān)解析所述的具有標(biāo)記值的上網(wǎng)報(bào)文并獲得相應(yīng)設(shè)備的設(shè)備信息,具體包括以下步驟:[0014](5.1)所述的智能網(wǎng)關(guān)判斷所述的具有標(biāo)記值的上網(wǎng)報(bào)文是否為HTTP協(xié)議的數(shù)據(jù)報(bào)文,如果是,則繼續(xù)步驟(5.2),否則返回步驟(4);[0015](5.2)所述的智能網(wǎng)關(guān)判斷所述的具有標(biāo)記值的上網(wǎng)報(bào)文是否帶有用戶信息代理協(xié)議頭,如果是,則繼續(xù)步驟(5.3),否則返回步驟(4);[0016](5.3)所述的智能網(wǎng)關(guān)根據(jù)所述的用戶信息代理協(xié)議頭的信息分析出相應(yīng)設(shè)備的設(shè)備信息。[0017]進(jìn)一步地,所述的步驟(6)之后,哈還包括以下步驟:[0018](7)所述的智能網(wǎng)關(guān)刪除該設(shè)備相應(yīng)的防火墻規(guī)則。[0019]其中,所述的防火墻規(guī)則為ebtables規(guī)則或iptables規(guī)則,所述的設(shè)備信息包括設(shè)備的操作系統(tǒng)、詳細(xì)類型和廠家型號(hào)。[0020]采用了本發(fā)明的基于HTTP協(xié)議在智能網(wǎng)關(guān)中實(shí)現(xiàn)設(shè)備類型識(shí)別的方法,使用ebtables/iptables規(guī)則將LAN側(cè)設(shè)備上網(wǎng)的協(xié)議包通過(guò)nfqueue的方式導(dǎo)入到應(yīng)用層守護(hù)進(jìn)程,守護(hù)進(jìn)程解析出HTTP協(xié)議,根據(jù)user-agent頭里攜帶的信息,分析出設(shè)備的相關(guān)信息(如操作系統(tǒng)類別,是否為移動(dòng)設(shè)備,廠家名稱等),該方法在實(shí)現(xiàn)過(guò)程中不需要修改任何內(nèi)核代碼即可對(duì)傳統(tǒng)功能進(jìn)行改進(jìn),使之更加快速、有效與智能化,是一種無(wú)侵入式的方法,結(jié)構(gòu)簡(jiǎn)單,易于實(shí)現(xiàn),不受環(huán)境約束,具有更廣泛的應(yīng)用范圍?!緦@綀D】【附圖說(shuō)明】[0021]圖1為本發(fā)明的基于HTTP協(xié)議在智能網(wǎng)關(guān)中實(shí)現(xiàn)設(shè)備類型識(shí)別的方法的流程圖。【具體實(shí)施方式】[0022]為了能夠更清楚地描述本發(fā)明的技術(shù)內(nèi)容,下面結(jié)合具體實(shí)施例來(lái)進(jìn)行進(jìn)一步的描述。[0023]如圖1所示,在一種實(shí)施方式中,本發(fā)明的基于HTTP協(xié)議在智能網(wǎng)關(guān)中實(shí)現(xiàn)設(shè)備類型識(shí)別的方法包括以下步驟:[0024](I)所述的智能網(wǎng)關(guān)創(chuàng)建nfqueue隊(duì)列連接通道;[0025](2)所述的智能網(wǎng)關(guān)在設(shè)備接入后根據(jù)該設(shè)備的接入信息中的MAC地址設(shè)定相應(yīng)的防火墻規(guī)則;[0026](3)所述的智能網(wǎng)關(guān)根據(jù)所述的防火墻規(guī)則對(duì)該設(shè)備的上網(wǎng)報(bào)文打上標(biāo)記值;[0027](4)所述的智能網(wǎng)關(guān)監(jiān)聽(tīng)該nfqueue隊(duì)列連接通道的數(shù)據(jù)包,并判斷是否存在具有標(biāo)記值的上網(wǎng)報(bào)文,如果是,則繼續(xù)步驟(5),否則繼續(xù)步驟(4);[0028](5)所述的智能網(wǎng)關(guān)解析所述的具有標(biāo)記值的上網(wǎng)報(bào)文,并獲得相應(yīng)設(shè)備的設(shè)備信息;[0029](6)所述的智能網(wǎng)關(guān)將所述的設(shè)備信息上傳至網(wǎng)關(guān)管理平臺(tái)。[0030]在一種優(yōu)選的實(shí)施方式中,所述的智能網(wǎng)關(guān)解析所述的具有標(biāo)記值的上網(wǎng)報(bào)文并獲得相應(yīng)設(shè)備的設(shè)備信息,具體包括以下步驟:[0031](5.1)所述的智能網(wǎng)關(guān)判斷所述的具有標(biāo)記值的上網(wǎng)報(bào)文是否為HTTP協(xié)議的數(shù)據(jù)報(bào)文,如果是,則繼續(xù)步驟(5.2),否則返回步驟(4);[0032](5.2)所述的智能網(wǎng)關(guān)判斷所述的具有標(biāo)記值的上網(wǎng)報(bào)文是否帶有用戶信息代理協(xié)議頭,如果是,則繼續(xù)步驟(5.3),否則返回步驟(4);[0033](5.3)所述的智能網(wǎng)關(guān)根據(jù)所述的用戶信息代理協(xié)議頭的信息分析出相應(yīng)設(shè)備的設(shè)備信息。[0034]在一種優(yōu)選的實(shí)施方式中,,所述的步驟(6)之后,哈還包括以下步驟:[0035](7)所述的智能網(wǎng)關(guān)刪除該設(shè)備相應(yīng)的防火墻規(guī)則。[0036]其中,所述的防火墻規(guī)則為ebtables規(guī)則或iptables規(guī)則,所述的設(shè)備信息包括設(shè)備的操作系統(tǒng)、詳細(xì)類型和廠家型號(hào)。[0037]在實(shí)際應(yīng)用中,為了實(shí)現(xiàn)上述目的,需要設(shè)計(jì)網(wǎng)關(guān)的應(yīng)用層守護(hù)程序,用來(lái)與網(wǎng)關(guān)的內(nèi)核通信,完成nfqueue消息接收與數(shù)據(jù)包分析,主要實(shí)現(xiàn)如下功能:[0038]當(dāng)有新設(shè)備接入到網(wǎng)關(guān)時(shí),網(wǎng)關(guān)將設(shè)備上線的信息通知給守護(hù)進(jìn)程,守護(hù)進(jìn)程根據(jù)設(shè)備的MAC地址,使用ebtables規(guī)則或iptables規(guī)則打上特定的MARK(標(biāo)記值),帶此MARK標(biāo)記的數(shù)據(jù)包會(huì)在IP層通過(guò)nfqueue導(dǎo)入給應(yīng)用守護(hù)進(jìn)程。當(dāng)應(yīng)該守護(hù)進(jìn)程完成對(duì)此設(shè)備的類型識(shí)別后,清除此設(shè)備的ebtables規(guī)則或iptables規(guī)則,具體步驟如下:[0039]I)應(yīng)用層守護(hù)進(jìn)程啟動(dòng)后,建立與內(nèi)核的nfqueue隊(duì)列連接通道,并配置將帶有特定MARK(其值為任意定義合并值)的數(shù)據(jù)導(dǎo)入到設(shè)定的隊(duì)列;[0040]2)當(dāng)應(yīng)用守護(hù)進(jìn)程收到網(wǎng)關(guān)的上網(wǎng)設(shè)備通知信息后,根據(jù)信息里攜帶的MAC地址,設(shè)定ebtables規(guī)則或iptables規(guī)則,在鏈路層將此MAC的報(bào)文打上步驟I中設(shè)定的MARK值,這樣這些報(bào)文就會(huì)被傳給守護(hù)進(jìn)程;[0041]3)守護(hù)進(jìn)程接收到IP層數(shù)據(jù)庫(kù)包后,開(kāi)始進(jìn)行解析,如果發(fā)現(xiàn)接收到的數(shù)據(jù)包并不是HTTP協(xié)議數(shù)據(jù)包,則忽略解析,繼續(xù)監(jiān)聽(tīng)。[0042]4)如果發(fā)現(xiàn)數(shù)據(jù)報(bào)為正常的http協(xié)議,且?guī)в衭ser-agent(用戶信息代理)協(xié)議頭,則根據(jù)此協(xié)議頭里攜帶的信息,分析出設(shè)備的操作系統(tǒng),詳細(xì)類型和廠家型號(hào)等。由于設(shè)備類型更新很快,這部分的解析可以配合特定我服務(wù)器去解析,讓服務(wù)器完成設(shè)備數(shù)據(jù)庫(kù)信息更新,保證類型識(shí)別的有效性。[0043]5)守護(hù)進(jìn)程將分析出的設(shè)備信息,上報(bào)給網(wǎng)關(guān)管理中心,并刪除相關(guān)設(shè)備的ebtables規(guī)則或iptables規(guī)則。[0044]其中,創(chuàng)建nfqueue通道和ebtables/iptables規(guī)則在守護(hù)進(jìn)程啟動(dòng)時(shí)創(chuàng)建,并且在守護(hù)進(jìn)程生命周期內(nèi)一直存在,守護(hù)進(jìn)程一直監(jiān)聽(tīng)nfqueue隊(duì)列的數(shù)據(jù)包;創(chuàng)建ebtables/iptables規(guī)則打MARK發(fā)生在守護(hù)進(jìn)程接收到網(wǎng)關(guān)的設(shè)備上線通知信息后,守護(hù)進(jìn)程在得到上網(wǎng)設(shè)備的MAC地址的情況下,給此設(shè)備上網(wǎng)包打開(kāi)MARK標(biāo)記;通過(guò)nfqueue通道傳輸報(bào)文發(fā)生在設(shè)備上網(wǎng)時(shí),經(jīng)過(guò)網(wǎng)關(guān)的數(shù)據(jù)包會(huì)使用步驟I中創(chuàng)建的通道傳輸給守護(hù)進(jìn)程,守護(hù)進(jìn)程對(duì)數(shù)據(jù)包進(jìn)行解析;刪除完成解析的設(shè)備的ebtables/iptables規(guī)則發(fā)生在守護(hù)進(jìn)程完成某個(gè)設(shè)備類型識(shí)別后,使其上網(wǎng)走正常流程。[0045]采用了本發(fā)明的基于HTTP協(xié)議在智能網(wǎng)關(guān)中實(shí)現(xiàn)設(shè)備類型識(shí)別的方法,使用ebtables/iptables規(guī)則將LAN側(cè)設(shè)備上網(wǎng)的協(xié)議包通過(guò)nfqueue的方式導(dǎo)入到應(yīng)用層守護(hù)進(jìn)程,守護(hù)進(jìn)程解析出HTTP協(xié)議,根據(jù)user-agent頭里攜帶的信息,分析出設(shè)備的相關(guān)信息(如操作系統(tǒng)類別,是否為移動(dòng)設(shè)備,廠家名稱等),該方法在實(shí)現(xiàn)過(guò)程中不需要修改任何內(nèi)核代碼即可對(duì)傳統(tǒng)功能進(jìn)行改進(jìn),使之更加快速、有效與智能化,是一種無(wú)侵入式的方法,結(jié)構(gòu)簡(jiǎn)單,易于實(shí)現(xiàn),不受環(huán)境約束,具有更廣泛的應(yīng)用范圍。[0046]在此說(shuō)明書(shū)中,本發(fā)明已參照其特定的實(shí)施例作了描述。但是,很顯然仍可以作出各種修改和變換而不背離本發(fā)明的精神和范圍。因此,說(shuō)明書(shū)和附圖應(yīng)被認(rèn)為是說(shuō)明性的而非限制性的?!緳?quán)利要求】1.一種基于HTTP協(xié)議在智能網(wǎng)關(guān)中實(shí)現(xiàn)設(shè)備類型識(shí)別的方法,其特征在于,所述的方法包括以下步驟:(1)所述的智能網(wǎng)關(guān)創(chuàng)建nfqueue隊(duì)列連接通道;(2)所述的智能網(wǎng)關(guān)在設(shè)備接入后根據(jù)該設(shè)備的接入信息中的MAC地址設(shè)定相應(yīng)的防火墻規(guī)則;(3)所述的智能網(wǎng)關(guān)根據(jù)所述的防火墻規(guī)則對(duì)該設(shè)備的上網(wǎng)報(bào)文打上標(biāo)記值;(4)所述的智能網(wǎng)關(guān)監(jiān)聽(tīng)該nfqueue隊(duì)列連接通道的數(shù)據(jù)包,并判斷是否存在具有標(biāo)記值的上網(wǎng)報(bào)文,如果是,則繼續(xù)步驟(5),否則繼續(xù)步驟(4);(5)所述的智能網(wǎng)關(guān)解析所述的具有標(biāo)記值的上網(wǎng)報(bào)文,并獲得相應(yīng)設(shè)備的設(shè)備信息;(6)所述的智能網(wǎng)關(guān)將所述的設(shè)備信息上傳至網(wǎng)關(guān)管理平臺(tái)。2.根據(jù)權(quán)利要求1所述的基于HTTP協(xié)議在智能網(wǎng)關(guān)中實(shí)現(xiàn)設(shè)備類型識(shí)別的方法,其特征在于,所述的智能網(wǎng)關(guān)解析所述的具有標(biāo)記值的上網(wǎng)報(bào)文并獲得相應(yīng)設(shè)備的設(shè)備信息,具體包括以下步驟:(5.1)所述的智能網(wǎng)關(guān)判斷所述的具有標(biāo)記值的上網(wǎng)報(bào)文是否為HTTP協(xié)議的數(shù)據(jù)報(bào)文,如果是,則繼續(xù)步驟(5.2),否則返回步驟(4);(5.2)所述的智能網(wǎng)關(guān)判斷所述的具有標(biāo)記值的上網(wǎng)報(bào)文是否帶有用戶信息代理協(xié)議頭,如果是,則繼續(xù)步驟(5.3),否則返回步驟(4);(5.3)所述的智能網(wǎng)關(guān)根據(jù)所述的用戶信息代理協(xié)議頭的信息分析出相應(yīng)設(shè)備的設(shè)備信息。3.根據(jù)權(quán)利要求1所述的基于HTTP協(xié)議在智能網(wǎng)關(guān)中實(shí)現(xiàn)設(shè)備類型識(shí)別的方法,其特征在于,所述的步驟(6)之后,哈還包括以下步驟:(7)所述的智能網(wǎng)關(guān)刪除該設(shè)備相應(yīng)的防火墻規(guī)則。4.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的基于HTTP協(xié)議在智能網(wǎng)關(guān)中實(shí)現(xiàn)設(shè)備類型識(shí)別的方法,其特征在于,所述的防火墻規(guī)則為ebtables規(guī)則或iptables規(guī)則。5.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的基于HTTP協(xié)議在智能網(wǎng)關(guān)中實(shí)現(xiàn)設(shè)備類型識(shí)別的方法,其特征在于,所述的設(shè)備信息包括設(shè)備的操作系統(tǒng)、詳細(xì)類型和廠家型號(hào)?!疚臋n編號(hào)】H04L29/06GK104410724SQ201410828332【公開(kāi)日】2015年3月11日申請(qǐng)日期:2014年12月23日優(yōu)先權(quán)日:2014年12月23日【發(fā)明者】李慶洋,張定理,晏春平申請(qǐng)人:上海市共進(jìn)通信技術(shù)有限公司