本申請(qǐng)涉及信息技術(shù)領(lǐng)域,尤其涉及一種IP地址獲取方法及裝置。
背景技術(shù):
隨著信息化社會(huì)的發(fā)展,人們?cè)絹?lái)越習(xí)慣于使用是網(wǎng)絡(luò)來(lái)進(jìn)行社會(huì)活動(dòng),如,進(jìn)行網(wǎng)上購(gòu)物、通過(guò)網(wǎng)上銀行繳費(fèi)、網(wǎng)絡(luò)即時(shí)通訊等。其中,關(guān)系到人們財(cái)產(chǎn)安全的社會(huì)活動(dòng)的安全性,尤為受到人們關(guān)注(如,金融活動(dòng)、交易行為等)。于是,人們開(kāi)始通過(guò)監(jiān)測(cè)網(wǎng)絡(luò)中活動(dòng)的各終端的互聯(lián)網(wǎng)協(xié)議(Internet Protocol,IP)地址,來(lái)評(píng)估該終端對(duì)網(wǎng)絡(luò)安全的威脅程度,并對(duì)高威脅程度的IP地址的活動(dòng)重點(diǎn)防范,在有必要時(shí)還可以拒絕這類(lèi)IP地址的訪(fǎng)問(wèn)請(qǐng)求,如此來(lái)提高網(wǎng)絡(luò)的整體安全性。
但是,現(xiàn)有的IP地址獲取方法中,在監(jiān)測(cè)終端的IP地址時(shí),僅僅局限于通過(guò)終端采用超文本傳輸協(xié)議(hyper texttransfer protocol,http)傳輸消息的消息頭(message header)中獲取該終端IP地址。而不法分子很容易通過(guò)安裝瀏覽器插件、安裝黑客軟件、使用代理服務(wù)器等方法,改變http消息的消息頭中包含的IP地址信息,導(dǎo)致不能獲得準(zhǔn)確的、真實(shí)的IP地址。
可見(jiàn),通過(guò)現(xiàn)有技術(shù)獲取終端IP地址的方法,其獲得的IP地址的真實(shí)性、準(zhǔn)確性較低,降低了其他需要基于終端IP地址進(jìn)行信息處理的準(zhǔn)確性。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)實(shí)施例提供一種IP地址獲取方法及裝置,用以解決現(xiàn)有技術(shù)中僅通過(guò)http請(qǐng)求的消息頭獲取的IP地址的真實(shí)性、準(zhǔn)確性較低的問(wèn)題。
本申請(qǐng)實(shí)施例提供的一種IP地址獲取的方法,包括:
網(wǎng)絡(luò)側(cè)設(shè)備接收終端發(fā)送的第一協(xié)議的請(qǐng)求消息;
根據(jù)所述第一協(xié)議的請(qǐng)求消息,將攜帶有腳本語(yǔ)言代碼的網(wǎng)頁(yè)返回給所述終端;
接收所述終端通過(guò)運(yùn)行所述腳本語(yǔ)言代碼發(fā)送的建立通訊連接的請(qǐng)求消息;
根據(jù)所述建立通訊連接的請(qǐng)求消息,建立與所述終端的通訊連接;
通過(guò)所述通訊連接確定所述終端的第一IP地址;
本申請(qǐng)實(shí)施例提供的一種IP地址獲取的方法,包括:
終端向網(wǎng)絡(luò)側(cè)設(shè)備發(fā)送第一協(xié)議的請(qǐng)求消息;
接收所述網(wǎng)絡(luò)側(cè)設(shè)備根據(jù)所述第一協(xié)議請(qǐng)求消息發(fā)送的網(wǎng)頁(yè),所述網(wǎng)頁(yè)中攜帶有腳本語(yǔ)言代碼;
運(yùn)行所述腳本語(yǔ)言代碼,并根據(jù)所述腳本語(yǔ)言代碼向所述網(wǎng)絡(luò)側(cè)設(shè)備發(fā)送建立通訊連接的請(qǐng)求消息,使所述網(wǎng)絡(luò)側(cè)設(shè)備建立與所述終端的通訊連接;
通過(guò)所述通訊連接向所述網(wǎng)絡(luò)側(cè)設(shè)備發(fā)送數(shù)據(jù)包,使所述網(wǎng)絡(luò)側(cè)設(shè)備根據(jù)所述數(shù)據(jù)包確定所述終端的第一IP地址。
本申請(qǐng)實(shí)施例提供的一種IP地址獲取的裝置,包括:
第一接收模塊,用于接收終端發(fā)送的第一協(xié)議的請(qǐng)求消息;
返回模塊,用于根據(jù)所述第一協(xié)議的請(qǐng)求消息,將攜帶有腳本語(yǔ)言代碼的網(wǎng)頁(yè)返回給所述終端;
第二接收模塊,用于接收所述終端通過(guò)運(yùn)行所述腳本語(yǔ)言代碼發(fā)送的建立通訊連接的請(qǐng)求消息;
通訊連接模塊,用于根據(jù)所述建立通訊連接的請(qǐng)求消息,建立與所述終端的通訊連接;
獲取模塊,用于通過(guò)所述通訊連接獲取所述終端的第一IP地址。
本申請(qǐng)實(shí)施例提供的一種IP地址獲取的裝置,包括:
第一發(fā)送模塊,用于向網(wǎng)絡(luò)側(cè)設(shè)備發(fā)送第一協(xié)議的請(qǐng)求消息;
接收模塊,用于接收所述網(wǎng)絡(luò)側(cè)設(shè)備根據(jù)所述第一協(xié)議請(qǐng)求消息發(fā)送的網(wǎng) 頁(yè),所述網(wǎng)頁(yè)中攜帶有腳本語(yǔ)言代碼;
通訊連接模塊,用于運(yùn)行所述腳本語(yǔ)言代碼,并根據(jù)所述腳本語(yǔ)言代碼向所述網(wǎng)絡(luò)側(cè)設(shè)備發(fā)送建立通訊連接的請(qǐng)求消息,使所述網(wǎng)絡(luò)側(cè)設(shè)備建立與所述裝置的通訊連接;
第二發(fā)送模塊,用于通過(guò)所述通訊連接向所述網(wǎng)絡(luò)側(cè)設(shè)備發(fā)送數(shù)據(jù)包,使所述網(wǎng)絡(luò)側(cè)設(shè)備根據(jù)所述數(shù)據(jù)包確定所述裝置的第一IP地址。
本申請(qǐng)實(shí)施例提供一種IP地址獲取的方法及裝置,該方法網(wǎng)絡(luò)側(cè)設(shè)備接收終端發(fā)送的第一協(xié)議請(qǐng)求消息,并根據(jù)該請(qǐng)求消息向該終端返回?cái)y帶有腳本語(yǔ)言代碼的網(wǎng)頁(yè),使該終端通過(guò)運(yùn)行該腳本語(yǔ)言代碼建立與網(wǎng)絡(luò)側(cè)設(shè)備的通訊連接,并通過(guò)該通訊連接確定該終端的第一IP地址。上述IP地址獲取方法,使得網(wǎng)絡(luò)側(cè)設(shè)備可確定接入終端的真實(shí)IP地址,并且確定的該真實(shí)IP地址的真實(shí)性、準(zhǔn)確性高,提高了其他需要基于終端IP地址進(jìn)行信息處理的準(zhǔn)確性。
附圖說(shuō)明
此處所說(shuō)明的附圖用來(lái)提供對(duì)本申請(qǐng)的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本申請(qǐng)的示意性實(shí)施例及其說(shuō)明用于解釋本申請(qǐng),并不構(gòu)成對(duì)本申請(qǐng)的不當(dāng)限定。在附圖中:
圖1為本申請(qǐng)實(shí)施例提供的IP地址獲取的過(guò)程;
圖2是本申請(qǐng)實(shí)施例提供的對(duì)應(yīng)于圖1的IP地址獲取過(guò)程;
圖3為本申請(qǐng)實(shí)施例提供的風(fēng)險(xiǎn)控制的詳細(xì)流程圖;
圖4為本申請(qǐng)實(shí)施例提供的第一種IP地址獲取裝置結(jié)構(gòu)示意圖;
圖5為本申請(qǐng)實(shí)施例提供的第二種IP地址獲取裝置結(jié)構(gòu)示意圖。
具體實(shí)施方式
現(xiàn)有獲取IP地址方法,由于僅通過(guò)http請(qǐng)求消息獲取終端的IP地址,而終端的IP地址是由http請(qǐng)求消息的消息頭確定的,這種方法很容易通過(guò)使用 瀏覽器插件、代理服務(wù)器等手段進(jìn)行偽裝篡改,所以獲取的終端IP地址的真實(shí)性、準(zhǔn)確性較低。因此,為了提高獲取的IP地址的真實(shí)性、準(zhǔn)確性,本申請(qǐng)實(shí)施例需要建立一個(gè)通訊連接。建立該通訊連接的目的是使網(wǎng)絡(luò)側(cè)設(shè)備獲得終端的真實(shí)IP地址,所以該通訊連接并不進(jìn)行通常意義上的通訊(如,建立視頻通訊連接,并不會(huì)使終端和網(wǎng)絡(luò)側(cè)設(shè)備之間進(jìn)行視頻數(shù)據(jù)的傳輸),而是以建立通訊連接為表面現(xiàn)象,利用建立通訊連接時(shí)需要獲取終端真實(shí)IP地址這一條件,使網(wǎng)絡(luò)側(cè)設(shè)備通過(guò)該通訊連接獲得該終端的真實(shí)IP地址。具體的,本申請(qǐng)實(shí)施例中,網(wǎng)絡(luò)側(cè)設(shè)備對(duì)發(fā)送該第一協(xié)議請(qǐng)求消息的終端返回?cái)y帶腳本語(yǔ)言代碼的網(wǎng)頁(yè),使該終端通過(guò)運(yùn)行該腳本語(yǔ)言代碼,建立與網(wǎng)絡(luò)側(cè)設(shè)備的通訊連接,并通過(guò)該通訊連接確定該終端的第一IP地址。于是,該終端的IP地址的確定并不僅僅通過(guò)http的請(qǐng)求消息頭所包含的IP地址來(lái)確定,同時(shí)也通過(guò)建立的通訊連接來(lái)確定,可以有效地避免不法分子通過(guò)修改、偽裝http請(qǐng)求消息頭中IP地址使得網(wǎng)絡(luò)側(cè)設(shè)備獲取的終端IP地址準(zhǔn)確度和真實(shí)性低的情況,提高了獲得終端IP地址的可信度(即,獲得的IP地址是真實(shí)的IP地址的程度),而進(jìn)一步的也提高了其他需要基于終端IP地址進(jìn)行信息處理的準(zhǔn)確性。
為使本申請(qǐng)的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本申請(qǐng)具體實(shí)施例及相應(yīng)的附圖對(duì)本申請(qǐng)技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實(shí)施例僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
圖1為本申請(qǐng)實(shí)施例提供的IP地址獲取的過(guò)程,具體包括以下步驟:
S101:網(wǎng)絡(luò)側(cè)設(shè)備接收終端發(fā)送的第一協(xié)議的請(qǐng)求消息。
在本申請(qǐng)實(shí)施例中,由于在實(shí)際應(yīng)用中,終端在訪(fǎng)問(wèn)一個(gè)網(wǎng)站的服務(wù)器之前通常要經(jīng)過(guò)該服務(wù)器的網(wǎng)關(guān),所以在步驟S101中所述的網(wǎng)絡(luò)側(cè)設(shè)備可以是網(wǎng)關(guān),即,網(wǎng)關(guān)接收終端發(fā)送的第一協(xié)議的請(qǐng)求消息。
同時(shí),在本申請(qǐng)中所述的網(wǎng)絡(luò)側(cè)設(shè)備也可以是服務(wù)器,則該服務(wù)器接收終 端發(fā)送的第一協(xié)議的請(qǐng)求消息。另外本申請(qǐng)所述的網(wǎng)關(guān)可以是與服務(wù)器分開(kāi)的單獨(dú)設(shè)備,也可以是與該服務(wù)器集成在一起的一個(gè)設(shè)備。本申請(qǐng)對(duì)此并不做特別限定。
另外,該第一協(xié)議可以是http,由于http采用請(qǐng)求/響應(yīng)的模式,則本申請(qǐng)中提到的請(qǐng)求消息可以是終端根據(jù)http發(fā)送的請(qǐng)求消息,該http請(qǐng)求消息包含請(qǐng)求訪(fǎng)問(wèn)的地址(即,服務(wù)器的地址)和終端的IP地址等。
本申請(qǐng)實(shí)施例中所述的終端可以是手機(jī)、個(gè)人計(jì)算機(jī)(Personal Compuer,PC)、平板電腦等各種終端。
下面以網(wǎng)絡(luò)側(cè)設(shè)備為網(wǎng)關(guān)為例進(jìn)行說(shuō)明。
例如,王先生想要通過(guò)終端訪(fǎng)問(wèn)某銀行的網(wǎng)上銀行網(wǎng)站,對(duì)自己的賬戶(hù)進(jìn)行操作時(shí),王先生需要先在瀏覽器地址欄中輸入該網(wǎng)上銀行網(wǎng)站的地址,終端則根據(jù)該地址生成并發(fā)送http請(qǐng)求消息,用以訪(fǎng)問(wèn)該網(wǎng)上銀行的網(wǎng)站。由于該網(wǎng)上銀行的網(wǎng)站對(duì)應(yīng)的服務(wù)器設(shè)有網(wǎng)關(guān),因此,該網(wǎng)關(guān)會(huì)接收終端發(fā)送的http請(qǐng)求消息。
S102:根據(jù)所述第一協(xié)議的請(qǐng)求消息,將攜帶有腳本語(yǔ)言代碼的網(wǎng)頁(yè)返回給所述終端。
在本申請(qǐng)實(shí)施例中,如果終端通過(guò)路由器、代理服務(wù)器等設(shè)備接入網(wǎng)絡(luò),則該第一協(xié)議的請(qǐng)求消息的消息頭中攜帶的源IP地址并不是該終端自身的真實(shí)IP地址,而是路由器、代理服務(wù)器的IP地址,如果不法分子將第一協(xié)議的請(qǐng)求消息的消息頭中攜帶的源IP地址進(jìn)行了篡改,則該源IP地址也不是該終端自身的真實(shí)IP地址。因此,由于此時(shí)不能確定該第一協(xié)議的請(qǐng)求消息的消息頭中攜帶的源IP地址就是該終端的真實(shí)IP地址,所以本申請(qǐng)?zhí)峁┑姆椒ㄟ€需要對(duì)該終端的真實(shí)IP地址進(jìn)行進(jìn)一步確定。
進(jìn)一步確定終端的真實(shí)IP地址時(shí),若接收該http請(qǐng)求消息的網(wǎng)絡(luò)側(cè)設(shè)備是網(wǎng)關(guān),則該網(wǎng)關(guān)可將終端發(fā)送的該http請(qǐng)求消息轉(zhuǎn)發(fā)給服務(wù)器,服務(wù)器接收到該請(qǐng)求消息后,則會(huì)返回相應(yīng)的網(wǎng)頁(yè),而該網(wǎng)頁(yè)中攜帶有預(yù)設(shè)的腳本語(yǔ)言代 碼,該網(wǎng)關(guān)則可將攜帶有該腳本語(yǔ)言代碼的網(wǎng)頁(yè)返回給終端。該腳本語(yǔ)言代碼用于使終端運(yùn)行該腳本語(yǔ)言代碼后,可以獲取該終端自身的真實(shí)IP地址并發(fā)送給網(wǎng)關(guān)。而若接收該http請(qǐng)求消息的網(wǎng)絡(luò)側(cè)設(shè)備是服務(wù)器,則可以直接根據(jù)該http請(qǐng)求消息返回?cái)y帶有腳本語(yǔ)言代碼的網(wǎng)頁(yè)給終端。
另外,在本申請(qǐng)中,該網(wǎng)絡(luò)側(cè)設(shè)備也可不直接返回?cái)y帶該腳本語(yǔ)言代碼的網(wǎng)頁(yè),而是在該網(wǎng)頁(yè)對(duì)應(yīng)的網(wǎng)頁(yè)代碼中提供一個(gè)下載該腳本語(yǔ)言代碼的地址,使終端后續(xù)在解析該網(wǎng)頁(yè)代碼時(shí),可以從其他網(wǎng)絡(luò)側(cè)設(shè)備(如,服務(wù)器)中下載該腳本語(yǔ)言代碼并運(yùn)行。
其中,所述的腳本語(yǔ)言代碼包括但不限于JavaScript代碼,即,可通過(guò)JavaScript代碼使終端運(yùn)行該JavaScript代碼后,可以獲取該終端自身的真實(shí)IP地址并發(fā)送給網(wǎng)絡(luò)側(cè)設(shè)備。
繼續(xù)沿用上例,當(dāng)該網(wǎng)上銀行的網(wǎng)關(guān)接收了王先生的終端發(fā)送的http請(qǐng)求消息后,該網(wǎng)關(guān)將該http請(qǐng)求消息轉(zhuǎn)發(fā)給服務(wù)器,使該服務(wù)器返回相應(yīng)的網(wǎng)頁(yè)。之后網(wǎng)關(guān)將該服務(wù)器根據(jù)該http請(qǐng)求消息返回的網(wǎng)頁(yè)發(fā)送給該終端,其中該網(wǎng)頁(yè)中攜帶有JavaScript代碼。
S103:接收所述終端通過(guò)運(yùn)行所述腳本語(yǔ)言代碼發(fā)送的建立通訊連接的請(qǐng)求消息。
S104:根據(jù)所述建立通訊連接的請(qǐng)求消息,建立與所述終端的通訊連接。
S105:通過(guò)所述通訊連接確定所述終端的第一IP地址。
在本申請(qǐng)實(shí)施例中,當(dāng)終端接收到網(wǎng)絡(luò)側(cè)設(shè)備發(fā)送的網(wǎng)頁(yè)后,需要解析該網(wǎng)頁(yè)對(duì)應(yīng)的網(wǎng)頁(yè)代碼,而由于該網(wǎng)頁(yè)中攜帶有腳本語(yǔ)言代碼,所以終端解析該網(wǎng)頁(yè)代碼時(shí),就會(huì)加載并運(yùn)行該腳本語(yǔ)言代碼。
同時(shí),本申請(qǐng)實(shí)施例中所述的腳本語(yǔ)言代碼的功能是使該終端向網(wǎng)絡(luò)側(cè)設(shè)備發(fā)送建立通訊連接的請(qǐng)求消息,以使網(wǎng)絡(luò)側(cè)設(shè)備建立與該終端的通訊連接,并通過(guò)該通訊連接獲取該終端的真實(shí)IP地址。所以,當(dāng)該終端運(yùn)行了該腳本語(yǔ)言代碼后,該終端會(huì)向網(wǎng)絡(luò)側(cè)設(shè)備發(fā)送建立通訊連接的請(qǐng)求消息,而該網(wǎng)絡(luò) 側(cè)設(shè)備則通過(guò)步驟S103接收到該建立通訊連接的請(qǐng)求消息。
在步驟S104中,網(wǎng)絡(luò)側(cè)設(shè)備接收到終端發(fā)送的建立通訊連接的請(qǐng)求消息后,則可建立與該終端的通訊連接。進(jìn)一步的,本申請(qǐng)中所述的通訊連接可以是網(wǎng)頁(yè)實(shí)時(shí)通訊連接(Web Real-Time Communication,WebRTC),而WebRTC是基于網(wǎng)絡(luò)地址轉(zhuǎn)換的用戶(hù)數(shù)據(jù)報(bào)簡(jiǎn)單穿越協(xié)議(Simple Traversal of User Datagram Protocol through Network Address Translators,STUN)的。由于STUN規(guī)定了在使用WebRTC這種通訊連接時(shí),建立通訊連接的雙方必須要使用各自的真實(shí)IP地址來(lái)建立連接(即,建立該通訊連接的雙方需要獲取對(duì)方的真實(shí)IP地址),而確定終端的真實(shí)IP地址時(shí)需要進(jìn)行用戶(hù)數(shù)據(jù)報(bào)協(xié)議(User Datagram Protocol,UDP)“打洞”,所以本申請(qǐng)?jiān)诓襟ES105中通過(guò)通訊連接確定終端第一IP地址的方法實(shí)際上就是通過(guò)UDP“打洞”的方法來(lái)確定的終端真實(shí)IP地址,具體過(guò)程可以是:
首先,網(wǎng)絡(luò)側(cè)設(shè)備監(jiān)測(cè)終端發(fā)送的第二協(xié)議數(shù)據(jù)包,該第二協(xié)議數(shù)據(jù)包是該終端根據(jù)運(yùn)行的JavaScript代碼發(fā)送的。該第二協(xié)議可以是UDP。同時(shí),由于本申請(qǐng)中的通訊連接可以是WebRTC,所以,網(wǎng)絡(luò)側(cè)設(shè)備通過(guò)WebRTC接收終端發(fā)送的UDP數(shù)據(jù)包。
其次,網(wǎng)絡(luò)側(cè)設(shè)備可確定該UDP數(shù)據(jù)包的源IP地址。
再次,網(wǎng)絡(luò)側(cè)設(shè)備將該源IP地址寫(xiě)入U(xiǎn)DP應(yīng)答包中,具體的,網(wǎng)絡(luò)側(cè)設(shè)備可將該源IP地址作為該UDP應(yīng)答包的內(nèi)容寫(xiě)入到UDP應(yīng)答包中,而并非作為該UDP應(yīng)答包的源IP地址,之后將攜帶該源IP地址的UDP應(yīng)答包返回給該終端。
然后,當(dāng)該終端在接收到該UDP應(yīng)答包后,該終端將自身的真實(shí)IP地址作為第一IP地址發(fā)送給網(wǎng)絡(luò)側(cè)設(shè)備。其中,該第一IP地址的發(fā)送方式可以是多種的,可以是通過(guò)寫(xiě)入另一個(gè)UDP數(shù)據(jù)包中,再次通過(guò)WebRTC發(fā)送給網(wǎng)絡(luò)側(cè)設(shè)備,或者還可以是是通過(guò)寫(xiě)入另一個(gè)http消息的內(nèi)容中,通過(guò)http消息發(fā)送給網(wǎng)絡(luò)側(cè)設(shè)備。需要說(shuō)明的是,選擇哪種發(fā)送方式,可以視具體實(shí)施情況 而選擇,本申請(qǐng)對(duì)此并不做具體限定。
最后,在本申請(qǐng)實(shí)施例中,假設(shè)終端的第一IP地址是攜帶在UDP數(shù)據(jù)包中,通過(guò)WebRTC發(fā)送給網(wǎng)絡(luò)側(cè)設(shè)備的。則網(wǎng)絡(luò)側(cè)設(shè)備接收到終端發(fā)送的攜帶有該第一IP地址的UDP數(shù)據(jù)包后,即可獲得該終端的第一IP地址,即,獲得該終端的真實(shí)IP地址。
經(jīng)過(guò)上述通過(guò)通訊連接確定終端的第一IP地址的過(guò)程,網(wǎng)絡(luò)側(cè)設(shè)備利用建立的通訊連接(即,WebRTC)和該通訊連接使用的協(xié)議(即,STUN),進(jìn)行第二協(xié)議(即,UDP)的“打洞”行為,使網(wǎng)絡(luò)側(cè)設(shè)備最終獲得了該終端的第一IP地址(即,終端真實(shí)IP地址)。
繼續(xù)沿用上例,網(wǎng)上銀行的網(wǎng)關(guān)接收王先生終端發(fā)送的建立WebRTC的請(qǐng)求消息,并根據(jù)該請(qǐng)求消息建立與該終端的WebRTC。該網(wǎng)關(guān)接收該終端發(fā)送的UDP數(shù)據(jù)包,并確定發(fā)送該數(shù)據(jù)包的源IP地址為206.128.127.25,網(wǎng)關(guān)再將該源IP地址寫(xiě)入返回給該終端的UDP應(yīng)答包中,使該終端根據(jù)接收到的UDP應(yīng)答包中攜帶的該源IP地址,將該終端自身的真實(shí)IP地址(如,118.168.200.18)作為第一IP地址寫(xiě)入http消息的內(nèi)容中,并發(fā)送給該網(wǎng)關(guān),網(wǎng)關(guān)在接收到該http請(qǐng)求消息后,從該http請(qǐng)求消息的內(nèi)容中解析出該終端的第一IP地址,最后該網(wǎng)關(guān)確定該終端的第一IP地址為118.168.200.18。
另外,在本申請(qǐng)實(shí)施例中,網(wǎng)絡(luò)側(cè)設(shè)備還可以通過(guò)步驟S101中接收終端發(fā)送的第一協(xié)議的請(qǐng)求消息,確定該終端的第二IP地址。即,當(dāng)該第一協(xié)議為http時(shí),網(wǎng)絡(luò)側(cè)設(shè)備可獲取該第一協(xié)議的請(qǐng)求消息的消息頭中攜帶的源IP地址,作為該終端的第二IP地址。由于該網(wǎng)絡(luò)側(cè)設(shè)備通過(guò)步驟S105還獲取了該終端的第一IP地址,所以該網(wǎng)絡(luò)側(cè)設(shè)備可以根據(jù)這兩個(gè)IP地址進(jìn)行風(fēng)控處理,或者將這兩個(gè)IP地址發(fā)送給進(jìn)行風(fēng)控處理的設(shè)備(如,風(fēng)險(xiǎn)控制系統(tǒng)的服務(wù)器)進(jìn)行風(fēng)控處理,具體由那些設(shè)備進(jìn)行風(fēng)控處理本申請(qǐng)對(duì)此并不做特別限定。
具體的風(fēng)控處理可以是這樣的,由于終端的兩個(gè)IP地址是通過(guò)不同的方 法獲得的(根據(jù)http請(qǐng)求消息的消息頭確定和根據(jù)WebRTC確定),所以若網(wǎng)絡(luò)側(cè)設(shè)備獲取的該終端的第一IP地址和第二IP地址不一致,則可以認(rèn)為該終端至少是通過(guò)代理服務(wù)器發(fā)送http請(qǐng)求消息的,同時(shí)也有可能是惡意篡改自身IP地址以方便進(jìn)行違法活動(dòng)的,需要提高對(duì)該終端對(duì)應(yīng)的第一IP地址的后續(xù)活動(dòng)的監(jiān)控等級(jí),且由于獲得的該終端的第一IP地址是其真實(shí)IP地址,所以還可以重點(diǎn)檢查該第一IP地址的歷史活動(dòng)記錄,檢查該第一IP地址在歷史上是否有違法活動(dòng)等等。
繼續(xù)沿用上例,由于網(wǎng)關(guān)在步驟S101中獲得了該http請(qǐng)求消息,假設(shè)該網(wǎng)關(guān)將該消息頭中攜帶的源IP地址確定為該終端的第二IP地址,如206.128.127.25。則當(dāng)網(wǎng)關(guān)通過(guò)步驟S105獲取該終端的第一IP地址后,該網(wǎng)關(guān)可將獲得的王先生終端的第一IP地址和第二IP地址發(fā)送給風(fēng)險(xiǎn)控制系統(tǒng)進(jìn)行風(fēng)控處理,由于獲得的第一IP地址(118.168.200.18)與第二IP地址(206.128.127.25)并不相同,所以風(fēng)險(xiǎn)控制系統(tǒng)將第一IP地址(118.168.200.18)作為重點(diǎn)監(jiān)測(cè)對(duì)象,以防該IP地址的活動(dòng)威脅到網(wǎng)上銀行的安全。
通過(guò)如圖1所示的IP地址獲取方法,網(wǎng)絡(luò)側(cè)設(shè)備可以通過(guò)建立偽裝的通訊連接更可以獲取終端的真實(shí)IP地址,相較于通過(guò)http請(qǐng)求消息的消息頭獲得IP地址,通過(guò)偽裝的通訊連接獲得的IP地址更加真實(shí)可信??梢?jiàn)通過(guò)圖1的IP地址獲取方法,網(wǎng)絡(luò)側(cè)設(shè)備可以有效地確定接入終端的真實(shí)IP地址,其獲得的IP地址的真實(shí)性、準(zhǔn)確性較高,并且提高了其他需要基于終端IP地址進(jìn)行信息處理的準(zhǔn)確性。
基于圖1所示網(wǎng)絡(luò)側(cè)設(shè)備所執(zhí)行的IP地址獲取過(guò)程,本申請(qǐng)實(shí)施例還提供了一種終端所執(zhí)行的IP地址獲取過(guò)程,如圖2所示。
圖2是本申請(qǐng)實(shí)施例提供的對(duì)應(yīng)于圖1的IP地址獲取過(guò)程,具體包括以下步驟:
S201:終端向網(wǎng)絡(luò)側(cè)設(shè)備發(fā)送第一協(xié)議的請(qǐng)求消息。
在本申請(qǐng)實(shí)施例中,終端若想訪(fǎng)問(wèn)一個(gè)網(wǎng)站,需要先向該網(wǎng)站發(fā)送請(qǐng)求訪(fǎng)問(wèn)的消息,該請(qǐng)求訪(fǎng)問(wèn)的消息既是第一協(xié)議的請(qǐng)求消息。其中,第一協(xié)議可以為http,那么該第一協(xié)議的請(qǐng)求消息便是http請(qǐng)求消息。由于接收該終端發(fā)送的http請(qǐng)求消息的網(wǎng)絡(luò)側(cè)設(shè)備,可以通過(guò)該http請(qǐng)求消息的消息頭,獲得該終端的第二IP地址,所以終端通過(guò)向網(wǎng)絡(luò)側(cè)設(shè)備發(fā)送http請(qǐng)求消息,便可以使該網(wǎng)絡(luò)側(cè)設(shè)備根據(jù)該http請(qǐng)求消息確定該終端的第二IP地址。
S202:接收所述網(wǎng)絡(luò)側(cè)設(shè)備根據(jù)所述第一協(xié)議請(qǐng)求消息發(fā)送的網(wǎng)頁(yè),所述網(wǎng)頁(yè)中攜帶有腳本語(yǔ)言代碼。
在本申請(qǐng)實(shí)施例中,通過(guò)步驟S201網(wǎng)絡(luò)側(cè)設(shè)備確定了接入終端的第二IP地址,但若只從http請(qǐng)求信息的消息頭中獲得接入終端的第二IP地址,則當(dāng)該終端通過(guò)安裝瀏覽器插件、安裝黑客軟件、使用代理服務(wù)器等方法改變http請(qǐng)求消息的消息頭中的IP地址時(shí),網(wǎng)絡(luò)側(cè)設(shè)備得到的是偽造的、錯(cuò)誤的終端IP地址。這就使得網(wǎng)絡(luò)側(cè)設(shè)備獲得的IP地址是不真實(shí)、不準(zhǔn)確的,于是為了在終端偽造其IP地址時(shí),網(wǎng)絡(luò)側(cè)設(shè)備也能夠獲得終端的真實(shí)IP地址,本申請(qǐng)還需進(jìn)一步使網(wǎng)絡(luò)側(cè)設(shè)備獲得該終端的真實(shí)IP地址。
具體的,當(dāng)該網(wǎng)絡(luò)側(cè)設(shè)備設(shè)備為網(wǎng)關(guān)時(shí),則該終端將第一協(xié)議的請(qǐng)求消息發(fā)送給網(wǎng)關(guān)后,網(wǎng)關(guān)將該第一協(xié)議的請(qǐng)求消息發(fā)送給服務(wù)器,服務(wù)器則根據(jù)該請(qǐng)求消息向網(wǎng)關(guān)返回相應(yīng)的網(wǎng)頁(yè),網(wǎng)關(guān)則將該網(wǎng)頁(yè)返回給終端,終端則接收網(wǎng)關(guān)返回的網(wǎng)頁(yè),該網(wǎng)頁(yè)中攜帶有腳本語(yǔ)言代碼(該腳本語(yǔ)言代碼具體可以是JavaScript代碼)。當(dāng)終端解析該網(wǎng)頁(yè)的網(wǎng)頁(yè)代碼時(shí),該終端就會(huì)加載并運(yùn)行該JavaScript代碼。其中,該JavaScript代碼用于,使終端運(yùn)行該JavaScript代碼來(lái)獲取該終端自身真實(shí)IP地址,并將該真實(shí)IP地址發(fā)送給對(duì)應(yīng)的網(wǎng)關(guān)。
S203:運(yùn)行所述腳本語(yǔ)言代碼,并根據(jù)所述腳本語(yǔ)言代碼向所述網(wǎng)絡(luò)側(cè)設(shè)備發(fā)送建立通訊連接的請(qǐng)求消息,使所述網(wǎng)絡(luò)側(cè)設(shè)備建立與所述終端的通訊連接。
S204:通過(guò)所述通訊連接向所述網(wǎng)絡(luò)側(cè)設(shè)備發(fā)送數(shù)據(jù)包,使所述網(wǎng)絡(luò)側(cè)設(shè) 備根據(jù)所述數(shù)據(jù)包確定所述終端的第一IP地址。
在本申請(qǐng)實(shí)施例中,終端在運(yùn)行該JavaScript代碼后,根據(jù)該JavaScript代碼向發(fā)送網(wǎng)頁(yè)的網(wǎng)絡(luò)側(cè)設(shè)備發(fā)送建立通訊連接的請(qǐng)求消息。該通訊連接具體可以是WebRTC。如在步驟S103~步驟S105中所述的原因,基于該WebRTC,網(wǎng)絡(luò)側(cè)設(shè)備需要通過(guò)UDP“打洞”使終端獲取自身的真實(shí)IP地址,并將該真實(shí)IP地址發(fā)送給網(wǎng)絡(luò)側(cè)設(shè)備,也即,終端通過(guò)后續(xù)的步驟S204將自身的真實(shí)IP地址發(fā)送給網(wǎng)絡(luò)側(cè)設(shè)備。
因此,終端與網(wǎng)絡(luò)側(cè)設(shè)備建立WebRTC之后,在步驟S204中,終端可先向在步驟S201中發(fā)送http請(qǐng)求消息的網(wǎng)絡(luò)側(cè)設(shè)備發(fā)送第二協(xié)議數(shù)據(jù)包,其中該第二協(xié)議可以是UDP,也即,本申請(qǐng)中,終端與網(wǎng)絡(luò)側(cè)設(shè)備建立WebRTC之后,向該網(wǎng)絡(luò)側(cè)設(shè)備發(fā)送UDP數(shù)據(jù)包,其中該UDP數(shù)據(jù)包可以是沒(méi)有任何內(nèi)容的空數(shù)據(jù)包,如此可以節(jié)省網(wǎng)絡(luò)資源,同時(shí)也可以減輕網(wǎng)絡(luò)側(cè)設(shè)備的壓力。
網(wǎng)絡(luò)側(cè)設(shè)備在接收到該UDP數(shù)據(jù)包后,可確定發(fā)送該UDP數(shù)據(jù)包的源IP地址,并將該源IP地址攜帶在返回給該終端的UDP應(yīng)答包中。于是,當(dāng)該終端接收到網(wǎng)絡(luò)側(cè)設(shè)備返回的UDP應(yīng)答包后,可以解析該UDP應(yīng)答包的內(nèi)容,并獲得攜帶在該UDP應(yīng)答包中的該終端的源IP地址。
其次,終端在獲取UDP應(yīng)答包中攜帶的源IP地址后,可將該源IP地址與自身真實(shí)IP地址進(jìn)行對(duì)比。若一致,則將該源IP地址或者自身真實(shí)IP地址,作為第一IP地址發(fā)送給該網(wǎng)絡(luò)側(cè)設(shè)備,若不一致,則將自身真實(shí)IP地址作為第一IP地址發(fā)送給該網(wǎng)絡(luò)側(cè)設(shè)備。將該第一IP地址發(fā)送給網(wǎng)絡(luò)側(cè)設(shè)備,具體可以是,通過(guò)將該第一IP地址寫(xiě)入http請(qǐng)求消息的內(nèi)容中發(fā)送給網(wǎng)絡(luò)側(cè)設(shè)備,或者將該第一IP地址寫(xiě)入另一個(gè)UDP數(shù)據(jù)包中發(fā)送給網(wǎng)絡(luò)側(cè)設(shè)備。具體的將該第一IP地址發(fā)送給網(wǎng)絡(luò)側(cè)設(shè)備方式本申請(qǐng)并不做限定。
另外,當(dāng)源IP地址與自身真實(shí)IP地址一致時(shí),也可以不返回第一IP地址,而是返回一個(gè)確認(rèn)信息,使網(wǎng)絡(luò)側(cè)設(shè)備根據(jù)該確認(rèn)信息確定其獲得的源IP地址就是該終端的真實(shí)IP地址。
進(jìn)一步的,當(dāng)該網(wǎng)絡(luò)側(cè)設(shè)備獲得該終端的第一IP地址之后,便可以根據(jù)該第一IP地址和與在步驟S202獲得的第二IP地址進(jìn)行風(fēng)險(xiǎn)控制。
圖3為本申請(qǐng)實(shí)施例提供的風(fēng)險(xiǎn)控制的詳細(xì)流程圖,如圖3所示。
S301:終端向網(wǎng)關(guān)發(fā)送第一協(xié)議請(qǐng)求消息。
S302:網(wǎng)關(guān)根據(jù)該第一協(xié)議請(qǐng)求消息確定該終端第二IP地址。
S303:網(wǎng)關(guān)轉(zhuǎn)發(fā)該第一協(xié)議請(qǐng)求消息給服務(wù)器。
S304:服務(wù)器返回?cái)y帶有腳本語(yǔ)言代碼的網(wǎng)頁(yè)返回給網(wǎng)關(guān)。
S305:網(wǎng)關(guān)轉(zhuǎn)發(fā)攜帶有腳本語(yǔ)言代碼的網(wǎng)頁(yè)給終端。
S306:終端接收網(wǎng)關(guān)返回的網(wǎng)頁(yè),解析網(wǎng)頁(yè)的網(wǎng)頁(yè)代碼,加載并運(yùn)行該網(wǎng)頁(yè)攜帶的腳本語(yǔ)言代碼。
S307:終端向網(wǎng)關(guān)發(fā)送第二協(xié)議數(shù)據(jù)包。
S308:網(wǎng)關(guān)接收終端發(fā)送的第二協(xié)議數(shù)據(jù)包,確定該終端源IP地址。
S309:網(wǎng)關(guān)向終端發(fā)送攜帶有該終端源IP地址的第二協(xié)議應(yīng)答包。
S310:終端根據(jù)接收的第二協(xié)議應(yīng)答包,將自身真實(shí)IP地址發(fā)送給網(wǎng)關(guān)。
S311:網(wǎng)關(guān)接收終端發(fā)送的真實(shí)IP地址,作為終端的第一IP地址。
S312:網(wǎng)關(guān)將終端的第一IP地址和第二IP地址發(fā)送給風(fēng)險(xiǎn)控制系統(tǒng)。
S313:風(fēng)險(xiǎn)控制系統(tǒng)根據(jù)接收到的終端第一IP地址和第二IP地址進(jìn)行風(fēng)控處理。
以上為本申請(qǐng)實(shí)施例提供的IP地址獲取方法,基于同樣的思路,本申請(qǐng)實(shí)施例還提供相應(yīng)的IP地址獲取裝置,如圖4、圖5所示。
圖4為本申請(qǐng)實(shí)施例提供的第一種IP地址獲取裝置結(jié)構(gòu)示意圖,具體包括:
第一接收模塊401,用于接收終端發(fā)送的第一協(xié)議的請(qǐng)求消息;
返回模塊402,用于根據(jù)所述第一協(xié)議的請(qǐng)求消息,將攜帶有腳本語(yǔ)言代碼的網(wǎng)頁(yè)返回給所述終端;
第二接收模塊403,用于接收所述終端通過(guò)運(yùn)行所述腳本語(yǔ)言代碼發(fā)送的 建立通訊連接的請(qǐng)求消息;
通訊連接模塊404,用于根據(jù)所述建立通訊連接的請(qǐng)求消息,建立與所述終端的通訊連接;
獲取模塊405,用于通過(guò)所述通訊連接確定所述終端的第二IP地址;
所述獲取模塊405,具體用于接收所述終端根據(jù)所述腳本語(yǔ)言代碼,通過(guò)所述通訊連接發(fā)送的第二協(xié)議數(shù)據(jù)包,確定發(fā)送所述第二協(xié)議數(shù)據(jù)包的源IP地址,將所述源IP地址攜帶在第二協(xié)議應(yīng)答包中返回給所述終端,接收所述終端根據(jù)所述第二協(xié)議應(yīng)答包中攜帶的源IP地址返回的IP地址,作為通過(guò)所述通訊連接確定的所述終端的第一IP地址。
所述裝置還包括,風(fēng)控模塊406,用于根據(jù)所述第一協(xié)議的請(qǐng)求消息,確定所述終端的第二IP地址,根據(jù)所述第一IP地址和所述第二IP地址,對(duì)所述終端進(jìn)行風(fēng)控處理。
所述風(fēng)險(xiǎn)控制裝置中,所述第一協(xié)議包括超文本傳輸協(xié)議http,所述腳本語(yǔ)言代碼包括JavaScript代碼,所述通訊連接包括網(wǎng)頁(yè)實(shí)時(shí)通訊連接WebRTC,所述第二協(xié)議包括用戶(hù)數(shù)據(jù)報(bào)協(xié)議UDP。
具體的,上述如圖4所示的IP地址獲取裝置可以位于各類(lèi)網(wǎng)站的網(wǎng)關(guān)中,或者位于服務(wù)器中。
圖5為本申請(qǐng)實(shí)施例提供的第二種IP地址獲取裝置結(jié)構(gòu)示意圖,具體包括:
第一發(fā)送模塊501,用于向網(wǎng)絡(luò)側(cè)設(shè)備發(fā)送第一協(xié)議的請(qǐng)求消息;
接收模塊502,用于接收所述網(wǎng)絡(luò)側(cè)設(shè)備根據(jù)所述第一協(xié)議請(qǐng)求消息發(fā)送的網(wǎng)頁(yè),所述網(wǎng)頁(yè)中攜帶有腳本語(yǔ)言代碼;
通訊連接模塊503,用于運(yùn)行所述腳本語(yǔ)言代碼,并根據(jù)所述腳本語(yǔ)言代碼向所述網(wǎng)絡(luò)側(cè)設(shè)備發(fā)送建立通訊連接的請(qǐng)求消息,使所述網(wǎng)絡(luò)側(cè)設(shè)備建立與所述裝置的通訊連接;
第二發(fā)送模塊504,用于通過(guò)所述通訊連接向所述網(wǎng)絡(luò)側(cè)設(shè)備發(fā)送數(shù)據(jù)包, 使所述網(wǎng)絡(luò)側(cè)設(shè)備根據(jù)所述數(shù)據(jù)包確定所述裝置的第一IP地址。
所述第二發(fā)送模塊504,具體用于根據(jù)所述腳本語(yǔ)言代碼,通過(guò)所述通訊連接向所述網(wǎng)絡(luò)側(cè)設(shè)備發(fā)送第二協(xié)議數(shù)據(jù)包,使所述網(wǎng)絡(luò)側(cè)設(shè)備確定發(fā)送所述第二協(xié)議數(shù)據(jù)包的源IP地址,接收所述網(wǎng)絡(luò)側(cè)設(shè)備返回的攜帶有所述源IP地址的第二協(xié)議應(yīng)答包,并確定所述裝置自身的真實(shí)IP地址,將所述真實(shí)IP地址作為所述裝置的第一IP地址發(fā)送給所述網(wǎng)絡(luò)側(cè)設(shè)備。
所述風(fēng)險(xiǎn)控制裝置中,所述第一協(xié)議包括超文本傳輸協(xié)議http,所述腳本語(yǔ)言代碼包括JavaScript代碼,所述通訊連接包括網(wǎng)頁(yè)實(shí)時(shí)通訊連接WebRTC,所述第二協(xié)議包括用戶(hù)數(shù)據(jù)報(bào)協(xié)議UDP。
具體的,上述如圖5所示的IP地址獲取裝置可以位于各類(lèi)終端中,具體可以位于手機(jī)、PC、平板電腦等各種終端中。
在一個(gè)典型的配置中,計(jì)算設(shè)備包括一個(gè)或多個(gè)處理器(CPU)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲(chǔ)器,隨機(jī)存取存儲(chǔ)器(RAM)和/或非易失性?xún)?nèi)存等形式,如只讀存儲(chǔ)器(ROM)或閃存(flash RAM)。內(nèi)存是計(jì)算機(jī)可讀介質(zhì)的示例。
計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動(dòng)和非可移動(dòng)媒體可以由任何方法或技術(shù)來(lái)實(shí)現(xiàn)信息存儲(chǔ)。信息可以是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計(jì)算機(jī)的存儲(chǔ)介質(zhì)的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、其他類(lèi)型的隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤(pán)只讀存儲(chǔ)器(CD-ROM)、數(shù)字多功能光盤(pán)(DVD)或其他光學(xué)存儲(chǔ)、磁盒式磁帶,磁帶磁磁盤(pán)存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備或任何其他非傳輸介質(zhì),可用于存儲(chǔ)可以被計(jì)算設(shè)備訪(fǎng)問(wèn)的信息。按照本文中的界定,計(jì)算機(jī)可讀介質(zhì)不包括暫存電腦可讀媒體(transitory media),如調(diào)制的數(shù)據(jù)信號(hào)和載波。
還需要說(shuō)明的是,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、商品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、商品或者設(shè)備中還存在另外的相同要素。
本領(lǐng)域技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
以上所述僅為本申請(qǐng)的實(shí)施例而已,并不用于限制本申請(qǐng)。對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),本申請(qǐng)可以有各種更改和變化。凡在本申請(qǐng)的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)的權(quán)利要求范圍之內(nèi)。