本發(fā)明涉及移動(dòng)互聯(lián)網(wǎng)技術(shù)領(lǐng)域,具體涉及一種應(yīng)用程序信息獲取系統(tǒng)、設(shè)備、裝置及方法。
背景技術(shù):
相關(guān)技術(shù)中,安卓應(yīng)用程序客戶端如果輸出原始網(wǎng)絡(luò)交互請(qǐng)求日志,很容易被黑客利用,進(jìn)而對(duì)系統(tǒng)發(fā)起攻擊。因此,在普通用戶權(quán)限下,應(yīng)用程序不應(yīng)輸出網(wǎng)絡(luò)交互請(qǐng)求日志。但是,在進(jìn)行安卓應(yīng)用程序測(cè)試時(shí),一般又需要捕獲及分析安卓應(yīng)用程序的網(wǎng)絡(luò)交互請(qǐng)求日志。
相關(guān)技術(shù)中一般通過第三方抓包軟件例如tcpdump(一種Linux操作系統(tǒng)下的網(wǎng)絡(luò)監(jiān)控軟件)實(shí)現(xiàn)獲取安卓應(yīng)用程序的網(wǎng)絡(luò)交互請(qǐng)求日志,而安卓是一種基于Linux內(nèi)核的操作系統(tǒng),需要root(超級(jí)用戶)權(quán)限才可以運(yùn)行第三方抓包軟件。相關(guān)技術(shù)是通過破解技術(shù)得到移動(dòng)終端的超級(jí)用戶權(quán)限,進(jìn)而運(yùn)行tcpdump等軟件獲取網(wǎng)絡(luò)交互請(qǐng)求日志,tcpdump軟件可以將網(wǎng)絡(luò)中傳送的數(shù)據(jù)包完全截獲下來提供分析。但這種方案存在很嚴(yán)重的機(jī)型兼容性問題,而且這種侵入式的方案也存在系統(tǒng)安全隱患。如果無root權(quán)限的情況下,則無法獲取安卓應(yīng)用程序的網(wǎng)絡(luò)交互請(qǐng)求日志。
技術(shù)實(shí)現(xiàn)要素:
為解決上述技術(shù)問題,本發(fā)明提供一種應(yīng)用程序信息獲取系統(tǒng)、設(shè)備、裝置及方法,能實(shí)現(xiàn)獲取安卓應(yīng)用程序的網(wǎng)絡(luò)交互請(qǐng)求日志。
根據(jù)本發(fā)明的一個(gè)方面,提供一種應(yīng)用程序信息獲取系統(tǒng),包括:
終端,通過虛擬局域網(wǎng)服務(wù)編程接口獲取終端的應(yīng)用程序所發(fā)出的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù),根據(jù)所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)生成設(shè)定格式的二進(jìn)制文件,向服務(wù)器發(fā)送所述二進(jìn)制文件;
服務(wù)器,獲取所述終端發(fā)送的設(shè)定格式的二進(jìn)制文件,根據(jù)所述二進(jìn)制文件進(jìn)行解析獲得網(wǎng)絡(luò)交互請(qǐng)求日志。
根據(jù)本發(fā)明的另一個(gè)方面,提供一種終端,包括:存儲(chǔ)器和處理器;
所述存儲(chǔ)器,存儲(chǔ)處理器生成的設(shè)定格式的二進(jìn)制文件;
所述處理器,通過虛擬局域網(wǎng)服務(wù)編程接口獲取終端的應(yīng)用程序所發(fā)出的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù),根據(jù)所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)生成設(shè)定格式的二進(jìn)制文件,向服務(wù)器發(fā)送所述二進(jìn)制文件以使得所述服務(wù)器根據(jù)所述二進(jìn)制文件進(jìn)行解析獲得網(wǎng)絡(luò)交互請(qǐng)求日志。
根據(jù)本發(fā)明的另一個(gè)方面,提供一種服務(wù)器,包括:存儲(chǔ)器和處理器;
所述存儲(chǔ)器,存儲(chǔ)處理器接收的二進(jìn)制文件和解析得到的網(wǎng)絡(luò)交互請(qǐng)求日志;
所述處理器,獲取終端發(fā)送的設(shè)定格式的二進(jìn)制文件,其中所述二進(jìn)制文件是所述終端通過虛擬局域網(wǎng)服務(wù)編程接口獲取終端的應(yīng)用程序所發(fā)出的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)后,根據(jù)所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)所生成的設(shè)定格式的二進(jìn)制文件,根據(jù)所述二進(jìn)制文件進(jìn)行解析獲得網(wǎng)絡(luò)交互請(qǐng)求日志。
根據(jù)本發(fā)明的另一個(gè)方面,提供一種應(yīng)用程序信息獲取裝置,包括:
獲取模塊,用于通過虛擬局域網(wǎng)服務(wù)編程接口獲取終端的應(yīng)用程序所發(fā)出的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù);
生成模塊,用于根據(jù)所述獲取模塊獲取的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)生成設(shè)定格式的二進(jìn)制文件;
發(fā)送模塊,用于向服務(wù)器發(fā)送所述生成模塊生成的二進(jìn)制文件以使得所述服務(wù)器根據(jù)所述二進(jìn)制文件進(jìn)行解析獲得網(wǎng)絡(luò)交互請(qǐng)求日志。
可選的,所述獲取模塊包括:
創(chuàng)建子模塊,用于通過虛擬局域網(wǎng)服務(wù)編程接口創(chuàng)建虛擬網(wǎng)卡;
接收子模塊,用于通過所述創(chuàng)建子模塊創(chuàng)建的虛擬網(wǎng)卡獲取終端的應(yīng)用程序轉(zhuǎn)發(fā)到所述虛擬網(wǎng)卡的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)。
可選的,所述生成模塊是通過文件句柄將所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)生成設(shè)定格式的二進(jìn)制文件,其中所述文件句柄是在所述終端的應(yīng)用程序?qū)⑺鲈季W(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)轉(zhuǎn)發(fā)到所述虛擬網(wǎng)卡時(shí)生成。
可選的,所述裝置還包括:
壓縮模塊,用于在根據(jù)所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)生成設(shè)定格式的二進(jìn)制文件之后,對(duì)所述二進(jìn)制文件進(jìn)行壓縮。
根據(jù)本發(fā)明的另一個(gè)方面,提供一種應(yīng)用程序信息獲取裝置,包括:
獲取模塊,用于獲取終端發(fā)送的設(shè)定格式的二進(jìn)制文件,其中所述二進(jìn)制文件是所述終端通過虛擬局域網(wǎng)服務(wù)編程接口獲取終端的應(yīng)用程序所發(fā)出的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)后,根據(jù)所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)所生成的設(shè)定格式的二進(jìn)制文件;
解析模塊,用于根據(jù)所述獲取模塊獲取的二進(jìn)制文件進(jìn)行解析獲得網(wǎng)絡(luò)交互請(qǐng)求日志。
可選的,所述解析模塊是根據(jù)約定規(guī)則對(duì)所述二進(jìn)制文件進(jìn)行解析獲得網(wǎng)絡(luò)交互請(qǐng)求日志。
可選的,所述裝置還包括:
解壓及解密模塊,用于在所述解析模塊根據(jù)約定規(guī)則對(duì)所述二進(jìn)制文件進(jìn)行解析得到已壓縮的二進(jìn)制文件后,根據(jù)設(shè)定解壓算法對(duì)所述已壓縮的二進(jìn)制文件進(jìn)行解壓,并根據(jù)設(shè)定解密算法對(duì)解壓后的二進(jìn)制文件中的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)進(jìn)行解密;
所述解析模塊根據(jù)所述解壓及解密模塊進(jìn)行解密后的結(jié)果,獲得解密后的網(wǎng)絡(luò)交互請(qǐng)求日志。
可選的,所述解壓及解密模塊是根據(jù)所述二進(jìn)制文件中所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)所攜帶的設(shè)定標(biāo)識(shí),確定解密算法,根據(jù)確定的解密算法進(jìn)行解密。
根據(jù)本發(fā)明的另一個(gè)方面,提供一種應(yīng)用程序信息獲取方法,包括:
通過虛擬局域網(wǎng)服務(wù)編程接口獲取終端的應(yīng)用程序所發(fā)出的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù);
根據(jù)所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)生成設(shè)定格式的二進(jìn)制文件;
向服務(wù)器發(fā)送所述二進(jìn)制文件以使得所述服務(wù)器根據(jù)所述二進(jìn)制文件進(jìn)行解析獲得網(wǎng)絡(luò)交互請(qǐng)求日志。
可選的,所述通過虛擬局域網(wǎng)服務(wù)編程接口獲取終端的應(yīng)用程序所發(fā)出的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù),包括:
通過虛擬局域網(wǎng)服務(wù)編程接口創(chuàng)建虛擬網(wǎng)卡;
通過所述虛擬網(wǎng)卡獲取終端的應(yīng)用程序轉(zhuǎn)發(fā)到所述虛擬網(wǎng)卡的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)。
可選的,所述終端的應(yīng)用程序是在向物理網(wǎng)卡發(fā)送原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)時(shí),將所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)轉(zhuǎn)發(fā)到所述虛擬網(wǎng)卡。
可選的,所述根據(jù)所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)生成設(shè)定格式的二進(jìn)制文件,包括:
通過文件句柄將所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)生成設(shè)定格式的二進(jìn)制文件,其中所述文件句柄是在所述終端的應(yīng)用程序?qū)⑺鲈季W(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)轉(zhuǎn)發(fā)到所述虛擬網(wǎng)卡時(shí)生成。
可選的,所述方法還包括:
在根據(jù)所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)生成設(shè)定格式的二進(jìn)制文件之后,對(duì)所述二進(jìn)制文件進(jìn)行壓縮。
根據(jù)本發(fā)明的另一個(gè)方面,提供一種應(yīng)用程序信息獲取方法,包括:
獲取終端發(fā)送的設(shè)定格式的二進(jìn)制文件,其中所述二進(jìn)制文件是所述終端通過虛擬局域網(wǎng)服務(wù)編程接口獲取終端的應(yīng)用程序所發(fā)出的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)后,根據(jù)所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)所生成的設(shè)定格式的二進(jìn)制文件;
根據(jù)所述二進(jìn)制文件進(jìn)行解析獲得網(wǎng)絡(luò)交互請(qǐng)求日志。
可選的,所述根據(jù)所述二進(jìn)制文件進(jìn)行解析獲得網(wǎng)絡(luò)交互請(qǐng)求日志,包括:
根據(jù)約定規(guī)則對(duì)所述二進(jìn)制文件進(jìn)行解析獲得網(wǎng)絡(luò)交互請(qǐng)求日志。
可選的,所述方法還包括:
在所述二進(jìn)制文件進(jìn)行了壓縮的情況下,根據(jù)約定規(guī)則對(duì)所述二進(jìn)制文件進(jìn)行解析得到已壓縮的二進(jìn)制文件后,
根據(jù)設(shè)定解壓算法對(duì)所述已壓縮的二進(jìn)制文件進(jìn)行解壓,并根據(jù)設(shè)定解密算法對(duì)解壓后的二進(jìn)制文件中的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)進(jìn)行解密,獲得解密后的網(wǎng)絡(luò)交互請(qǐng)求日志。
可選的,所述根據(jù)設(shè)定解密算法對(duì)解壓后的二進(jìn)制文件中的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)進(jìn)行解密,包括:
根據(jù)所述二進(jìn)制文件中所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)所攜帶的設(shè)定標(biāo)識(shí),確定解密算法,根據(jù)確定的解密算法進(jìn)行解密。
可以發(fā)現(xiàn),本發(fā)明實(shí)施例的技術(shù)方案,可以通過虛擬局域網(wǎng)服務(wù)編程接口來獲取終端的應(yīng)用程序所發(fā)出的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù),然后根據(jù)所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)生成設(shè)定格式的二進(jìn)制文件,再向服務(wù)器發(fā)送所述二進(jìn)制文件,這樣就可以使得所述服務(wù)器可以根據(jù)所述二進(jìn)制文件進(jìn)行解析獲得網(wǎng)絡(luò)交互請(qǐng)求日志,從而實(shí)現(xiàn)無root權(quán)限的情況下,也可以獲取應(yīng)用程序的網(wǎng)絡(luò)交互請(qǐng)求日志,并且可以適合于各種機(jī)型,解決機(jī)型兼容性問題。
進(jìn)一步的,本發(fā)明實(shí)施例可以通過虛擬局域網(wǎng)服務(wù)編程接口創(chuàng)建虛擬網(wǎng)卡,然后再通過所述虛擬網(wǎng)卡獲取終端的應(yīng)用程序轉(zhuǎn)發(fā)到所述虛擬網(wǎng)卡的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)。
進(jìn)一步的,本發(fā)明實(shí)施例可以是終端的應(yīng)用程序在向物理網(wǎng)卡發(fā)送原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)時(shí),將所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)轉(zhuǎn)發(fā)到所述虛擬網(wǎng)卡。
進(jìn)一步的,本發(fā)明實(shí)施例可以是通過文件句柄將所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)生成設(shè)定格式的二進(jìn)制文件,其中所述文件句柄是在所述終端的應(yīng)用程序?qū)⑺鲈季W(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)轉(zhuǎn)發(fā)到所述虛擬網(wǎng)卡時(shí)生成。
附圖說明
通過結(jié)合附圖對(duì)本公開示例性實(shí)施方式進(jìn)行更詳細(xì)的描述,本公開的上述以及其它目的、特征和優(yōu)勢(shì)將變得更加明顯,其中,在本公開示例性實(shí)施方式中,相同的參考標(biāo)號(hào)通常代表相同部件。
圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種應(yīng)用程序信息獲取系統(tǒng)的示意性方框圖;
圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種終端的示意性方框圖;
圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種服務(wù)器的示意性方框圖;
圖4是根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種應(yīng)用程序信息獲取裝置的示意性方框圖;
圖5是根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種應(yīng)用程序信息獲取裝置的另一示意性方框圖;
圖6是根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種應(yīng)用程序信息獲取裝置的另一示意性方框圖;
圖7是根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種應(yīng)用程序信息獲取裝置的另一示意性方框圖;
圖8是根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種應(yīng)用程序信息獲取方法的示意性流程圖;
圖9是根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種應(yīng)用程序信息獲取方法的另一示意性流程圖;
圖10是根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種應(yīng)用程序信息獲取方法的另一示意性流程圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的優(yōu)選實(shí)施方式。雖然附圖中顯示了本公開的優(yōu)選實(shí)施方式,然而應(yīng)該理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施方式所限制。相反,提供這些實(shí)施方式是為了使本公開更加透徹和完整,并且能夠?qū)⒈竟_的范圍完整地傳達(dá)給本領(lǐng)域的技術(shù)人員。
本發(fā)明提供一種應(yīng)用程序信息獲取系統(tǒng),能實(shí)現(xiàn)獲取安卓應(yīng)用程序的網(wǎng)絡(luò)交互請(qǐng)求日志。
以下結(jié)合附圖詳細(xì)描述本發(fā)明實(shí)施例的技術(shù)方案。
圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種應(yīng)用程序信息獲取系統(tǒng)的示意性方框圖。
如圖1所示,在一種應(yīng)用程序信息獲取系統(tǒng)中,包括:終端11和服務(wù)器12。
終端11,通過虛擬局域網(wǎng)服務(wù)編程接口獲取終端11的應(yīng)用程序所發(fā)出的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù),根據(jù)所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)生成設(shè)定格式的二進(jìn)制文件,向服務(wù)器12發(fā)送所述二進(jìn)制文件。
服務(wù)器12,獲取所述終端11發(fā)送的設(shè)定格式的二進(jìn)制文件,根據(jù)所述二進(jìn)制文件進(jìn)行解析獲得網(wǎng)絡(luò)交互請(qǐng)求日志。
圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種終端的示意性方框圖。
如圖2所述,在一種終端20中包括:存儲(chǔ)器21和處理器22。
所述存儲(chǔ)器21,存儲(chǔ)處理器22生成的設(shè)定格式的二進(jìn)制文件。
所述處理器22,通過虛擬局域網(wǎng)服務(wù)編程接口獲取終端的應(yīng)用程序所發(fā)出的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù),根據(jù)所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)生成設(shè)定格式的二進(jìn)制文件,向服務(wù)器發(fā)送所述二進(jìn)制文件以使得所述服務(wù)器根據(jù)所述二進(jìn)制文件進(jìn)行解析獲得網(wǎng)絡(luò)交互請(qǐng)求日志。
圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種服務(wù)器的示意性方框圖。
如圖3所示,在一種服務(wù)器30中包括:存儲(chǔ)器31和處理器32。
所述存儲(chǔ)器31,存儲(chǔ)處理器32接收的二進(jìn)制文件和解析得到的網(wǎng)絡(luò)交互請(qǐng)求日志。
所述處理器32,獲取終端發(fā)送的設(shè)定格式的二進(jìn)制文件,其中所述二進(jìn)制文件是所述終端通過虛擬局域網(wǎng)服務(wù)編程接口獲取終端的應(yīng)用程序所發(fā)出的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)后,根據(jù)所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)所生成的設(shè)定格式的二進(jìn)制文件,根據(jù)所述二進(jìn)制文件進(jìn)行解析獲得網(wǎng)絡(luò)交互請(qǐng)求日志。
在上述設(shè)備中的處理器22或處理器32,可以作為一個(gè)獨(dú)立的裝置結(jié)構(gòu),該獨(dú)立的裝置結(jié)構(gòu)可以稱為一種應(yīng)用程序信息獲取裝置,該應(yīng)用程序信息獲取裝置可以包括多個(gè)子模塊,下文將結(jié)合圖4到圖7對(duì)應(yīng)用程序信息獲取裝置的結(jié)構(gòu)進(jìn)行詳細(xì)說明。
圖4是根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種應(yīng)用程序信息獲取裝置的示意性方框圖。
如圖4所示,在一種應(yīng)用程序信息獲取裝置40中,包括:獲取模塊41、生成模塊42、發(fā)送模塊43。
獲取模塊41,用于通過虛擬局域網(wǎng)服務(wù)編程接口獲取終端的應(yīng)用程序所發(fā)出的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù);
生成模塊42,用于根據(jù)所述獲取模塊41獲取的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)生成設(shè)定格式的二進(jìn)制文件;
發(fā)送模塊43,用于向服務(wù)器發(fā)送所述生成模塊42生成的二進(jìn)制文件以使得所述服務(wù)器根據(jù)所述二進(jìn)制文件進(jìn)行解析獲得網(wǎng)絡(luò)交互請(qǐng)求日志。
由該實(shí)施例可見,本發(fā)明實(shí)施例的技術(shù)方案,可以通過虛擬局域網(wǎng)服務(wù)編程接口來獲取終端的應(yīng)用程序所發(fā)出的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù),然后根據(jù)所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)生成設(shè)定格式的二進(jìn)制文件,再向服務(wù)器發(fā)送所述二進(jìn)制文件,這樣就可以使得所述服務(wù)器可以根據(jù)所述二進(jìn)制文件進(jìn)行解析獲得網(wǎng)絡(luò)交互請(qǐng)求日志,從而實(shí)現(xiàn)無root權(quán)限的情況下,也可以獲取應(yīng)用程序的網(wǎng)絡(luò)交互請(qǐng)求日志,并且可以適合于各種機(jī)型,解決機(jī)型兼容性問題。
圖5是根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種應(yīng)用程序信息獲取裝置的另一示意性方框圖;
如圖5所示,在一種應(yīng)用程序信息獲取裝置40中,包括:獲取模塊41、生成模塊42、發(fā)送模塊43、壓縮模塊44。
其中,獲取模塊41、生成模塊42、發(fā)送模塊43的功能可以參見圖4所示。
其中,所述獲取模塊41可以包括:創(chuàng)建子模塊411、接收子模塊412。
創(chuàng)建子模塊411,用于通過虛擬局域網(wǎng)服務(wù)編程接口創(chuàng)建虛擬網(wǎng)卡。
接收子模塊412,用于通過所述創(chuàng)建子模塊411創(chuàng)建的虛擬網(wǎng)卡獲取終端的應(yīng)用程序轉(zhuǎn)發(fā)到所述虛擬網(wǎng)卡的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)。
其中,所述生成模塊42是通過文件句柄將所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)生成設(shè)定格式的二進(jìn)制文件,其中所述文件句柄是在所述終端的應(yīng)用程序?qū)⑺鲈季W(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)轉(zhuǎn)發(fā)到所述虛擬網(wǎng)卡時(shí)生成。
其中,壓縮模塊44,用于在根據(jù)所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)生成設(shè)定格式的二進(jìn)制文件之后,對(duì)所述二進(jìn)制文件進(jìn)行壓縮。
圖6是根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種應(yīng)用程序信息獲取裝置的另一示意性方框圖。
如圖6所示,在一種應(yīng)用程序信息獲取裝置60中,包括:獲取模塊61、解析模塊62。
獲取模塊61,用于獲取終端發(fā)送的設(shè)定格式的二進(jìn)制文件,其中所述二進(jìn)制文件是所述終端通過虛擬局域網(wǎng)服務(wù)編程接口獲取終端的應(yīng)用程序所發(fā)出的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)后,根據(jù)所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)所生成的設(shè)定格式的二進(jìn)制文件。
解析模塊62,用于根據(jù)所述獲取模塊61獲取的二進(jìn)制文件進(jìn)行解析獲得網(wǎng)絡(luò)交互請(qǐng)求日志。
圖7是根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種應(yīng)用程序信息獲取裝置的另一示意性方框圖。
如圖7所示,在一種應(yīng)用程序信息獲取裝置60中,包括:獲取模塊61、解析模塊62、解壓及解密模塊63。
其中,獲取模塊61、解析模塊62、解壓及解密模塊63的功能可以參見圖6所示。
其中,所述解析模塊62是根據(jù)約定規(guī)則對(duì)所述二進(jìn)制文件進(jìn)行解析獲得網(wǎng)絡(luò)交互請(qǐng)求日志。
解壓及解密模塊63,用于在所述解析模塊62根據(jù)約定規(guī)則對(duì)所述二進(jìn)制文件進(jìn)行解析得到已壓縮的二進(jìn)制文件后,根據(jù)設(shè)定解壓算法對(duì)所述已壓縮的二進(jìn)制文件進(jìn)行解壓,并根據(jù)設(shè)定解密算法對(duì)解壓后的二進(jìn)制文件中的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)進(jìn)行解密。
所述解析模塊62根據(jù)所述解壓及解密模塊63進(jìn)行解密后的結(jié)果,獲得解密后的網(wǎng)絡(luò)交互請(qǐng)求日志。
其中,所述解壓及解密模塊63是根據(jù)所述二進(jìn)制文件中所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)所攜帶的設(shè)定標(biāo)識(shí),確定解密算法,根據(jù)確定的解密算法進(jìn)行解密。
上述詳細(xì)介紹了本發(fā)明的一種應(yīng)用程序信息獲取系統(tǒng)、設(shè)備及裝置,以下介紹本發(fā)明對(duì)應(yīng)的應(yīng)用程序信息獲取方法。
圖8是根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種應(yīng)用程序信息獲取方法的示意性流程圖。
如圖8所示,所述方法應(yīng)用于終端中,包括:
在步驟801中,通過虛擬局域網(wǎng)服務(wù)編程接口獲取終端的應(yīng)用程序所發(fā)出的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)。
在步驟802中,根據(jù)所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)生成設(shè)定格式的二進(jìn)制文件。
在步驟803中,向服務(wù)器發(fā)送所述二進(jìn)制文件以使得所述服務(wù)器根據(jù)所述二進(jìn)制文件進(jìn)行解析獲得網(wǎng)絡(luò)交互請(qǐng)求日志。
由該實(shí)施例可見,本發(fā)明實(shí)施例的技術(shù)方案,可以通過虛擬局域網(wǎng)服務(wù)編程接口來獲取終端的應(yīng)用程序所發(fā)出的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù),然后根據(jù)所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)生成設(shè)定格式的二進(jìn)制文件,再向服務(wù)器發(fā)送所述二進(jìn)制文件,這樣就可以使得所述服務(wù)器可以根據(jù)所述二進(jìn)制文件進(jìn)行解析獲得網(wǎng)絡(luò)交互請(qǐng)求日志,從而實(shí)現(xiàn)無root權(quán)限的情況下,也可以獲取應(yīng)用程序的網(wǎng)絡(luò)交互請(qǐng)求日志,并且可以適合于各種機(jī)型,解決機(jī)型兼容性問題。
圖9是根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種應(yīng)用程序信息獲取方法的另一示意性流程圖。
如圖9所示,所述方法應(yīng)用于服務(wù)器中,包括:
在步驟901中,獲取終端發(fā)送的設(shè)定格式的二進(jìn)制文件,其中所述二進(jìn)制文件是所述終端通過虛擬局域網(wǎng)服務(wù)編程接口獲取終端的應(yīng)用程序所發(fā)出的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)后,根據(jù)所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)所生成的設(shè)定格式的二進(jìn)制文件。
在步驟902中,根據(jù)所述二進(jìn)制文件進(jìn)行解析獲得網(wǎng)絡(luò)交互請(qǐng)求日志。
圖10是根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種應(yīng)用程序信息獲取方法的另一示意性流程圖。
圖10相對(duì)于圖8和圖9更詳細(xì)描述了本發(fā)明實(shí)施例的技術(shù)方案。
圖10通過客戶端例如終端與服務(wù)端例如服務(wù)器的交互描述本發(fā)明實(shí)施例方案,如圖10所示,包括:
在步驟1001中,終端啟動(dòng)虛擬局域網(wǎng)服務(wù)編程接口。
該步驟中,終端啟動(dòng)虛擬局域網(wǎng)服務(wù)編程接口(在Android 4.0以后由谷歌官方提供的編程接口),也即啟動(dòng)一個(gè)Android VpnService(安卓虛擬專用網(wǎng)絡(luò)服務(wù)),該服務(wù)啟動(dòng)時(shí)會(huì)自動(dòng)在終端創(chuàng)建一個(gè)安卓系統(tǒng)虛擬網(wǎng)卡。
在步驟1002中,終端通過虛擬局域網(wǎng)服務(wù)編程接口獲取終端的應(yīng)用程序所發(fā)出的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)。
終端的任意應(yīng)用程序發(fā)送原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)到終端的物理網(wǎng)卡時(shí),Android VpnService會(huì)自動(dòng)將原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)轉(zhuǎn)發(fā)到已創(chuàng)建的虛擬網(wǎng)卡,并返回一個(gè)文件句柄。文件句柄,可以簡(jiǎn)單理解為操作系統(tǒng)提供的一個(gè)管道,它提供數(shù)據(jù)讀、寫的能力,本公開所說的文件句柄的作用,是提供一個(gè)通道,可以將網(wǎng)絡(luò)數(shù)據(jù)寫入到指定的文件中。
也就是說,終端通過虛擬局域網(wǎng)服務(wù)編程接口創(chuàng)建虛擬網(wǎng)卡后,可以通過所述虛擬網(wǎng)卡獲取終端的應(yīng)用程序轉(zhuǎn)發(fā)到所述虛擬網(wǎng)卡的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)。
在步驟1003中,終端根據(jù)所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)生成設(shè)定格式的二進(jìn)制文件。
該步驟中,可以通過文件句柄將所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)生成設(shè)定格式的二進(jìn)制文件,其中所述文件句柄是在所述終端的應(yīng)用程序?qū)⑺鲈季W(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)轉(zhuǎn)發(fā)到所述虛擬網(wǎng)卡時(shí)生成。例如,可以通過這個(gè)文件句柄,將所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)生成遵循libpcap(Promiscuous Capture Library,一種使用C語言編寫的底層網(wǎng)絡(luò)數(shù)據(jù)包捕獲函數(shù)包,大多數(shù)網(wǎng)絡(luò)監(jiān)控軟件都以它為基礎(chǔ))規(guī)范格式的二進(jìn)制文件。
在步驟1004中,終端向服務(wù)器發(fā)送所述進(jìn)行壓縮的二進(jìn)制文件。
該步驟中,終端將生成的二進(jìn)制文件進(jìn)行壓縮后上傳至服務(wù)器的日志收集平臺(tái)。需說明的是,也可以不進(jìn)行壓縮。壓縮算法可以采用通用的gzip算法等但不局限于此。
在步驟1005中,服務(wù)器接收獲取終端發(fā)送的設(shè)定格式的二進(jìn)制文件,進(jìn)行解析。
該步驟中,服務(wù)器可以根據(jù)約定規(guī)則對(duì)所述二進(jìn)制文件進(jìn)行解析,例如可以使用tshark(一種Linux下的網(wǎng)絡(luò)監(jiān)控軟件,是基于libpcap的上層軟件,提供監(jiān)控、分析網(wǎng)絡(luò)日志請(qǐng)求的能力)軟件對(duì)文件進(jìn)行解析,得到壓縮的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)二進(jìn)制流。
該步驟中,使用tshark軟件進(jìn)行文件解析時(shí),服務(wù)器事先已經(jīng)知道此文件遵循libpcap規(guī)范格式。
在步驟1006中,服務(wù)器根據(jù)設(shè)定解壓算法進(jìn)行解壓,并根據(jù)設(shè)定解密算法對(duì)解壓后的二進(jìn)制文件中的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)進(jìn)行解密,獲得解密后的網(wǎng)絡(luò)交互請(qǐng)求日志。
該步驟中,服務(wù)器將原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)二進(jìn)制流按設(shè)定解壓算法進(jìn)行解壓操作,該解壓算法與終端的壓縮算法相對(duì)應(yīng)。
需說明的是,一般原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)本身是加密后的數(shù)據(jù),而不同的安卓應(yīng)用程序在終端的客戶端對(duì)原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)所采用的加密算法有所不同,本步驟選擇對(duì)解壓后的二進(jìn)制文件中的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)進(jìn)行解密的解密算法時(shí),可以根據(jù)經(jīng)驗(yàn)分析不同的原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)二進(jìn)制流,進(jìn)而選擇不同的解密算法。也就是說,解壓后,可以選擇不同的解密算法對(duì)加密后的二進(jìn)制流進(jìn)行逆向解密操作,最終得到解密后的網(wǎng)絡(luò)交互請(qǐng)求日志。
例如,可以根據(jù)所述二進(jìn)制文件中所述原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)所攜帶的設(shè)定標(biāo)識(shí),確定解密算法,根據(jù)確定的解密算法進(jìn)行解密。所攜帶的設(shè)定標(biāo)識(shí),例如可以是在原始網(wǎng)絡(luò)交互請(qǐng)求數(shù)據(jù)前增加四位標(biāo)識(shí),每一位標(biāo)識(shí)可以設(shè)置不同的含義,或者在HTTP請(qǐng)求頭增加一個(gè)字段標(biāo)識(shí)等但不局限于此。
進(jìn)一步的,還可以將得到的網(wǎng)絡(luò)交互請(qǐng)求日志展現(xiàn)在服務(wù)器的WEB界面供相關(guān)人員使用分析。
綜上所述,本發(fā)明方案可以利用終端的安卓操作系統(tǒng)所提供的虛擬局域網(wǎng)服務(wù)編程接口,實(shí)現(xiàn)不需要超級(jí)用戶權(quán)限就可以進(jìn)行網(wǎng)絡(luò)日志捕捉分析,即可以獲取安卓應(yīng)用程序的網(wǎng)絡(luò)交互請(qǐng)求日志,可以供相關(guān)技術(shù)人員進(jìn)行網(wǎng)絡(luò)日志分析,滿足相關(guān)技術(shù)人員的測(cè)試要求。
上文中已經(jīng)參考附圖詳細(xì)描述了根據(jù)本發(fā)明的技術(shù)方案。
此外,根據(jù)本發(fā)明的方法還可以實(shí)現(xiàn)為一種計(jì)算機(jī)程序,該計(jì)算機(jī)程序包括用于執(zhí)行本發(fā)明的上述方法中限定的上述各步驟的計(jì)算機(jī)程序代碼指令?;蛘?,根據(jù)本發(fā)明的方法還可以實(shí)現(xiàn)為一種計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀介質(zhì),在該計(jì)算機(jī)可讀介質(zhì)上存儲(chǔ)有用于執(zhí)行本發(fā)明的上述方法中限定的上述功能的計(jì)算機(jī)程序。本領(lǐng)域技術(shù)人員還將明白的是,結(jié)合這里的公開所描述的各種示例性邏輯塊、模塊、電路和算法步驟可以被實(shí)現(xiàn)為電子硬件、計(jì)算機(jī)軟件或兩者的組合。
附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的系統(tǒng)和方法的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)記的功能也可以以不同于附圖中所標(biāo)記的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。
以上已經(jīng)描述了本發(fā)明的各實(shí)施例,上述說明是示例性的,并非窮盡性的,并且也不限于所披露的各實(shí)施例。在不偏離所說明的各實(shí)施例的范圍和精神的情況下,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說許多修改和變更都是顯而易見的。本文中所用術(shù)語的選擇,旨在最好地解釋各實(shí)施例的原理、實(shí)際應(yīng)用或?qū)κ袌?chǎng)中的技術(shù)的改進(jìn),或者使本技術(shù)領(lǐng)域的其它普通技術(shù)人員能理解本文披露的各實(shí)施例。