一種同時實現(xiàn)ipv4和ipv6的URL過濾方法【專利摘要】本發(fā)明提供了一種同時實現(xiàn)ipv4和ipv6的URL過濾方法,包括步驟:a:在內(nèi)核中創(chuàng)建一個URLfilter模塊;b:根據(jù)用戶自定義的URL名單,生成URLfilter模塊可識別的URL配置文件,并將所述URL配置文件加載到內(nèi)核中;c:注冊兩個hook規(guī)則函數(shù)分別掛靠到NF_IP6_FORWARD和NF_IP_FORWARD鏈中;d:獲取數(shù)據(jù)包信息并與URL配置文件中的URL信息進(jìn)行匹配過濾。本發(fā)明提供的URL過濾方法,通過在netfilter模塊的forward表中添加一個URL過濾規(guī)則用來進(jìn)行URL過濾,以同時實現(xiàn)ipv4和ipv6下的URL過濾,而且支持配置不同端口號的URL過濾,還可以實現(xiàn)白名單和黑名單兩種過濾方式。【專利說明】—種同時實現(xiàn)ipv4和ipv6的URL過濾方法【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及通信【
技術(shù)領(lǐng)域:
】,尤其涉及一種同時實現(xiàn)ipV4和ipv6的URL過濾方法。【
背景技術(shù):
】[0002]URL,也被稱為網(wǎng)頁地址,是Internet上標(biāo)準(zhǔn)資源的地址,用于完整地描述Internet上網(wǎng)頁和其他資源的地址的一種標(biāo)識方法。Internet上的每一個網(wǎng)頁都具有一個唯一的URL地址名稱標(biāo)識,通常稱之為URL地址,這種地址可以是本地磁盤,也可以是局域網(wǎng)上的某一臺計算機,更多的是Internet上的站點。簡單地說,URL就是Web地址,俗稱“網(wǎng)址”。[0003]在通信【
技術(shù)領(lǐng)域:
】中,URL過濾是一個很重要的功能,現(xiàn)有的URL過濾一般都是在iptables中擴展出來的,這樣有個局限性,那就是只能用于ipv4,而且有很多限制,導(dǎo)致過濾功能不是很全面。【
發(fā)明內(nèi)容】[0004]本發(fā)明的目的在于提供一種同時實現(xiàn)ipv4和ipv6的URL過濾方法,以更大限度的提升URL過濾功能。[0005]本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的。[0006]—種同時實現(xiàn)ipv4和ipv6的URL過濾方法,包括步驟:a:在內(nèi)核中創(chuàng)建一個URLfilter模塊;b:根據(jù)用戶自定義的URL名單,生成URLfilter模塊可識別的URL配置文件,并將所述URL配置文件通過socket通信動態(tài)傳送到內(nèi)核中;c:注冊兩個hook規(guī)則函數(shù)分別掛靠到NF_IP6_F0RWARD和NF_IP_F0RWARD鏈中;d:獲取數(shù)據(jù)包信息并與URL配置文件中的URL信息進(jìn)行匹配過濾。[0007]進(jìn)一步優(yōu)選的,所述用戶自定義的URL名單為白名單或黑名單。[0008]進(jìn)一步優(yōu)選的,步驟d具體包括:判斷配置是否為黑名單并且沒有規(guī)則,如果不是,且數(shù)據(jù)包協(xié)議為ipv6協(xié)議,則解析ipv6數(shù)據(jù)包,提取URL字符串信息,若URL字符串信息與URL配置文件中的URL信息匹配,并且是黑名單則返回拒絕。[0009]進(jìn)一步優(yōu)選的,判斷是否為黑名單并且沒有規(guī)則,如果是,則直接選擇返回接收。[0010]進(jìn)一步優(yōu)選的,解析ipv6數(shù)據(jù)包,如果不是URL包,則返回接收。[0011]進(jìn)一步優(yōu)選的,若URL字符串信息與URL配置文件中的URL信息不匹配,并且是白名單則返回拒絕;其它情況則返回接收。[0012]進(jìn)一步優(yōu)選的,判斷配置是否為黑名單并且沒有規(guī)則,如果不是,且數(shù)據(jù)包協(xié)議為ipv4協(xié)議,則解析ipv4數(shù)據(jù)包,提取URL字符串信息,若URL字符串信息與URL配置文件中的URL信息匹配,并且是黑名單則返回拒絕。[0013]進(jìn)一步優(yōu)選的,若URL字符串信息與URL配置文件中的URL信息不匹配,并且是白名單則返回拒絕;其它情況則返回接收。[0014]進(jìn)一步優(yōu)選的,判斷是否為黑名單并且沒有規(guī)則步驟前,還包括判斷URL是否開啟,如果沒有開啟,則直接選擇返回接收。[0015]進(jìn)一步優(yōu)選的,解析ipv4數(shù)據(jù)包,如果不是URL包,則返回接收。[0016]本發(fā)明與現(xiàn)有技術(shù)相比,有益效果在于:本發(fā)明提供的URL過濾方法,通過在netfilter模塊的forward表中添加一個URL過濾規(guī)則用來進(jìn)行URL過濾,以同時實現(xiàn)ipv4和ipv6下的URL過濾,而且支持配置不同端口號的URL過濾,還可以實現(xiàn)白名單和黑名單兩種過濾方式?!緦@綀D】【附圖說明】[0017]圖1為本發(fā)明URL過濾方法流程圖;圖2為本發(fā)明中數(shù)據(jù)包與URL配置文件匹配流程圖?!揪唧w實施方式】[0018]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。[0019]請參閱圖1所示,本發(fā)明同時實現(xiàn)ipv4和ipv6的URL過濾方法,包括:步驟101:在內(nèi)核中創(chuàng)建一個URLfilter模塊;步驟102:根據(jù)用戶自定義的URL名單及規(guī)則,生成URLfilter模塊可識別的URL配置文件,并將所述URL配置文件通過socket通信動態(tài)傳送到到內(nèi)核中;步驟103:注冊兩個hook規(guī)則函數(shù)分別掛靠到NF_IP6_F0RWARD和NF_IP_F0RWARD鏈中;步驟104:獲取數(shù)據(jù)包信息并與URL配置文件中的URL信息進(jìn)行匹配過濾。[0020]具體地,如圖2所示,數(shù)據(jù)包與URL配置文件匹配流程,包括:步驟201:判斷URL是否開啟,如果是,進(jìn)入步驟202;否則,直接選擇返回接收;步驟202:判斷URL配置文件是否為黑名單并且沒有規(guī)則,如果是,直接選擇返回接收;否則,進(jìn)入步驟203;步驟203:判斷數(shù)據(jù)包協(xié)議是否為ipv6協(xié)議,如果是,進(jìn)入步驟204;否則,進(jìn)入步驟205;步驟204:解析ipv6數(shù)據(jù)包,如果不是URL包,則返回接收;否則,提取URL字符串信息,進(jìn)入步驟206;具體地,還包括解析ipv6數(shù)據(jù)包,如果不是tcp包,則返回接收。[0021]步驟205:解析ipv4數(shù)據(jù)包,如果不是URL包,則返回接收;否則,提示URL字符串信息,進(jìn)入步驟206;具體地,還包括解析ipv4數(shù)據(jù)包,如果不是tcp包,則返回接收。[0022]步驟206:若URL字符串信息與URL配置文件中的URL信息匹配,并且配置是黑名單則返回拒絕;如果不匹配,并且是白名單則返回拒絕;其它情況則返回接收。[0023]本發(fā)明中,所述黑名單:URL配置中的url與數(shù)據(jù)包匹配則禁止通過,不匹配則允許通過;所述白名單:URL配置中的url與數(shù)據(jù)包匹配才允許通過,不匹配則禁止通過。[0024]上述方法,將URL過濾信息從應(yīng)用層傳遞到內(nèi)核中,并保存到內(nèi)核中供調(diào)用,并不依賴于iptables的防火墻功能,是一個獨立的內(nèi)核與應(yīng)用層通信通道;通過在NF_IP6_FORWARD和NF_IP_F0RWARD中插入hook規(guī)則函數(shù),獲取數(shù)據(jù)包并與URL配置文件中的URL信息匹配來進(jìn)行過濾功能。可以同時實現(xiàn)ipv4和ipv6下的URL過濾,而且支持配置不同端口號的URL過濾,還可以實現(xiàn)白名單和黑名單兩種過濾方式。[0025]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)?!緳?quán)利要求】1.一種同時實現(xiàn)ipv4和ipv6的URL過濾方法,其特征在于,包括步驟:a:在內(nèi)核中創(chuàng)建一個URLfilter模塊;b:根據(jù)用戶自定義的URL名單及規(guī)則,生成URLfilter模塊可識別的URL配置文件,并將所述URL配置文件通過socket通信動態(tài)傳送到到內(nèi)核中;c:注冊兩個hook規(guī)則函數(shù)分別掛靠到NF_IP6_F0RWARD和NF_IP_FORWARD鏈中;d:獲取數(shù)據(jù)包信息并與URL配置文件中的URL規(guī)則進(jìn)行匹配過濾。2.如權(quán)利要求1所述的同時實現(xiàn)ipv4和ipv6的URL過濾方法,其特征在于,所述用戶自定義的URL名單及規(guī)則為白名單或黑名單。3.如權(quán)利要求2所述的同時實現(xiàn)ipv4和ipv6的URL過濾方法,其特征在于,步驟d具體包括:判斷配置是否為黑名單并且沒有規(guī)則,如果不是,且數(shù)據(jù)包協(xié)議為ipv6協(xié)議,則解析ipv6數(shù)據(jù)包,提取URL字符串信息,若URL字符串信息與URL配置規(guī)則文件中的URL信息匹配,并且是黑名單則返回拒絕。4.如權(quán)利要求3所述的同時實現(xiàn)ipv4和ipv6的URL過濾方法,其特征在于,判斷配置是否為黑名單并且沒有規(guī)則,如果是,則不用解析數(shù)據(jù)包直接選擇返回接收。5.如權(quán)利要求3所述的同時實現(xiàn)ipv4和ipv6的URL過濾方法,其特征在于,解析ipv6數(shù)據(jù)包,如果不是URL包,則返回接收。6.如權(quán)利要求3所述的同時實現(xiàn)ipv4和ipv6的URL過濾方法,其特征在于,若URL字符串信息與URL配置文件中的URL信息不匹配,并且是白名單則返回拒絕;其它情況則返回接收。7.如權(quán)利要求3所述的同時實現(xiàn)ipv4和ipv6的URL過濾方法,其特征在于,判斷配置是否為黑名單并且沒有規(guī)則,如果不是,且數(shù)據(jù)包協(xié)議為ipv4協(xié)議,則解析ipv4數(shù)據(jù)包,提取URL字符串信息,若URL字符串信息與URL配置文件中的URL信息匹配,并且是黑名單則返回拒絕。8.如權(quán)利要求7所述的同時實現(xiàn)ipv4和ipv6的URL過濾方法,其特征在于,若URL字符串信息與URL配置文件中的URL信息不匹配,并且是白名單則返回拒絕;其它情況則返回接收。9.如權(quán)利要求3所述的同時實現(xiàn)ipv4和ipv6的URL過濾方法,其特征在于,判斷是否為黑名單并且沒有規(guī)則步驟前,還包括判斷URL是否開啟,如果沒有開啟,則直接選擇返回接收。10.如權(quán)利要求7所述的同時實現(xiàn)ipv4和ipv6的URL過濾方法,其特征在于,解析ipv4數(shù)據(jù)包,如果不是URL包,則返回接收?!疚臋n編號】H04L29/06GK103560995SQ201310439596【公開日】2014年2月5日申請日期:2013年9月25日優(yōu)先權(quán)日:2013年9月25日【發(fā)明者】胡一報,王金桂申請人:深圳市共進(jìn)電子股份有限公司