一種基于OpenWRT系統(tǒng)的網絡嗅探方法
【專利摘要】本發(fā)明公開了一種基于OpenWRT系統(tǒng)的網絡嗅探方法,具體步驟包括數(shù)據包抓取、數(shù)據包特征判斷和數(shù)據包解析,軟件啟動后,先檢查路由器本身的狀態(tài),獲取其有線和無線網卡的信息,再根據網卡的狀態(tài),數(shù)據獲取模塊選擇性的運行在不同網卡上,從而獲取不同網卡的數(shù)據。本發(fā)明對提取到的數(shù)據包信息進行再次提取,自主實現(xiàn)基于OpenWRT路由器系統(tǒng)上網絡數(shù)據包的獲取和解析,根據OSI對于網絡協(xié)議棧的規(guī)定和RFC對于協(xié)議格式的規(guī)定,將其中難以辨識的二進制數(shù)據以文本形式呈現(xiàn),方便讀者使用的同時也降低了軟件入門門檻,更利于軟件的推廣和使用,利用Linux網卡的工作模式,獲取不同途徑的網絡數(shù)據包,擴大了數(shù)據流量的來源途徑。
【專利說明】
一種基于OpenWRT系統(tǒng)的網絡嗅探方法
技術領域
[0001]本發(fā)明涉及通信技術領域,具體是一種基于OpenWRT系統(tǒng)的網絡嗅探方法。
【背景技術】
[0002]現(xiàn)階段,網絡數(shù)據探嗅技術發(fā)展迅速,涌現(xiàn)出很多網絡數(shù)據探嗅方案。典型的一種方案是使用以Wireshark為代表的嗅探工具,功能強大而全面,內容解析詳細,以及適配多種協(xié)議的優(yōu)勢,占據了PC端的主要市場,然而使用以Wireshark為代表的嗅探工具,適用于PC平臺,而不適用于路由器平臺。
[0003]路由器端的網絡嗅探技術方面,實現(xiàn)形式大多以完整呈現(xiàn)數(shù)據包原本信息的形式為主。目前的嗅探技術,由于網絡數(shù)據包會采用二進制格式進行傳輸,即使將數(shù)據包內容呈現(xiàn)出來,不利與讀者或者非專業(yè)認識閱讀,因此對二進制內容的進一步提取尤為重要。
【發(fā)明內容】
[0004]本發(fā)明的目的在于提供一種數(shù)據來源廣、信息解析全面的基于OpenWRT系統(tǒng)的網絡嗅探方法,以解決上述【背景技術】中提出的問題。
[0005]為實現(xiàn)上述目的,本發(fā)明提供如下技術方案:
[0006]—種基于OpenWRT系統(tǒng)的網絡嗅探方法,具體步驟如下:
[0007](I)數(shù)據包抓取:軟件啟動后,先檢查路由器本身的狀態(tài),獲取其有線和無線網卡的信息,再根據網卡的狀態(tài),數(shù)據獲取模塊選擇性的運行在不同網卡上,從而獲取不同網卡的數(shù)據;數(shù)據獲取模塊獲取到一個數(shù)據包之后,判斷溝通模塊現(xiàn)在是否有空間存儲獲取的數(shù)據,若空間不足則丟棄數(shù)據包,若空間足夠就把數(shù)據包寫入溝通模塊,從而為數(shù)據解析模塊提供數(shù)據;
[0008](2)數(shù)據包特征判斷:完成數(shù)據包獲取后,數(shù)據解析模塊先對獲取到的數(shù)據包進行特征提取,從而區(qū)分數(shù)據包的類型;在軟件的配置文件中設置有數(shù)據包的類型的配置項;
[0009](3)數(shù)據包解析:對于經過數(shù)據包特征判斷階段的數(shù)據包進行內容提取,根據請求評議RFC對不同協(xié)議格式的規(guī)定,按照格式要求解析其中的信息,將二進制數(shù)據轉換成對應的字符串型數(shù)據,同時,對信息做重復性檢驗,以確保該信息的正確性。
[0010]作為本發(fā)明再進一步的方案:所述數(shù)據包的類型包括無線數(shù)據包、有線數(shù)據包,HTTTP數(shù)據包和FTP數(shù)據包。
[0011]與現(xiàn)有技術相比,本發(fā)明的有益效果是:
[0012]本發(fā)明對提取到的數(shù)據包信息進行再次提取,自主實現(xiàn)基于OpenWRT路由器系統(tǒng)上網絡數(shù)據包的獲取和解析,根據OSI對于網絡協(xié)議棧的規(guī)定和RFC對于協(xié)議格式的規(guī)定,將其中難以辨識的二進制數(shù)據以文本形式呈現(xiàn),方便讀者使用的同時也降低了軟件入門門檻,更利于軟件的推廣和使用,利用Linux網卡的工作模式,獲取不同途徑的網絡數(shù)據包,擴大了數(shù)據流量的來源途徑。
【附圖說明】
[0013]圖1為本發(fā)明中TCP協(xié)議過程圖。
[0014]圖2為本發(fā)明中解析HTTTP協(xié)議流程圖。
[0015]圖3為本發(fā)明中實施流程示意圖。
【具體實施方式】
[0016]下面結合【具體實施方式】對本專利的技術方案作進一步詳細地說明。
[0017]請參閱圖1-3,一種基于OpenWRT系統(tǒng)的網絡嗅探方法,具體步驟如下:
[0018](I)數(shù)據包抓取:軟件啟動后,先檢查路由器本身的狀態(tài),獲取其有線和無線網卡的信息,再根據網卡的狀態(tài),數(shù)據獲取模塊選擇性的運行在不同網卡上,從而獲取不同網卡的數(shù)據;數(shù)據獲取模塊獲取到一個數(shù)據包之后,判斷溝通模塊現(xiàn)在是否有空間存儲獲取的數(shù)據,若空間不足則丟棄數(shù)據包,若空間足夠就把數(shù)據包寫入溝通模塊,從而為數(shù)據解析模塊提供數(shù)據;
[0019](2)數(shù)據包特征判斷:完成數(shù)據包獲取后,數(shù)據解析模塊先對獲取到的數(shù)據包進行特征提取,從而區(qū)分數(shù)據包的類型;所述數(shù)據包的類型包括無線數(shù)據包、有線數(shù)據包,HTTTP數(shù)據包和FTP數(shù)據包;在軟件的配置文件中設置有數(shù)據包的類型的配置項,主要功能是過濾用戶不感興趣的數(shù)據包,減少要解析的數(shù)據量,提高解析效率;
[0020](3)數(shù)據包解析:對于經過數(shù)據包特征判斷階段的數(shù)據包進行內容提取,根據請求評議RFC對不同協(xié)議格式的規(guī)定,按照格式要求解析其中的信息,將不易理解的二進制數(shù)據轉換成對應的字符串型數(shù)據,同時,對用戶感興趣的信息做重復性檢驗,以確保該信息的正確性。
[0021]所述的基于openwrt系統(tǒng)的網絡嗅探方法針對路由器端,基于已經為眾多廠商適配了統(tǒng)一用戶接口的OpenWRT路由器系統(tǒng),讓路由器在不影響提供上網服務的同時對經過的數(shù)據流量進行解包和分析,并提供純文本形式的配置文件,用戶根據一定格式,簡單的編寫配置文件,即可達到對本發(fā)明產品的個性化修改,以滿足用戶個性化的需求。
[0022]本發(fā)明所解決的網絡嗅探方案可以從三個方面闡述:
[0023]數(shù)據流量來源:本發(fā)明不僅可以對連接上路由器本身的用戶數(shù)據流量進行嗅探和分析,也可以對空其中無線網絡數(shù)據包進行嗅探和分析;眾所周知,無線數(shù)據使用空氣作為傳輸?shù)慕橘|,由于空氣的開放性,任何運行在其中的設備,只要具有接受無線數(shù)據包的硬件設備,均可以獲取到其中的數(shù)據包;因此,本發(fā)明一方面讀取流過路由器本身的數(shù)據流量,另一方面也針對空氣中的數(shù)據流量進行讀取,從而擴大了數(shù)據流量的來源,更易滿足不同用戶的需求。
[0024]數(shù)據獲取和信息解析分開:本發(fā)明實現(xiàn)中,將數(shù)據獲取單元和信息解析單元分開,并在其中配置溝通模塊,數(shù)據獲取單元負責從不同渠道捕獲數(shù)據包,包括經過路由器本身和分布在空氣中的,將捕獲的數(shù)據存入溝通模塊中;信息解析方面,從溝通模塊讀取數(shù)據獲取單元拿到的數(shù)據包,專門負責解析數(shù)據包;如果某個時間段溝通模塊沒有數(shù)據包,則信息解析單元不會解析數(shù)據,直到可以讀取到數(shù)據后才會進行解析;從而降低了數(shù)據獲取和信息解析的耦合度,提高了產品整體的可用性。
[0025]信息解析全面:數(shù)據包在發(fā)送和接收時,網絡協(xié)議棧會根據數(shù)據包的長度多少,決定是否會截斷數(shù)據包和組合數(shù)據包。因此,數(shù)據包在網絡中并不是相對獨立的,某些數(shù)據包可能是更大的數(shù)據包的組成部分。本發(fā)明中,通過對抓取到的數(shù)據包先進行緩存,判斷數(shù)據包是否存在截斷的特征,如果有則會等到讀取完剩余部分的數(shù)據包后在進行組裝和解析,從而大大的提高了對數(shù)據包信息內容的獲取。
[0026]本發(fā)明利用路由器上網絡調制解調器和網絡數(shù)據包特征進行數(shù)據解析和信息提取,對提取到的數(shù)據包信息進行再次提取,自主實現(xiàn)基于OpenWRT路由器系統(tǒng)上網絡數(shù)據包的獲取和解析,根據OSI對于網絡協(xié)議棧的規(guī)定和RFC對于協(xié)議格式的規(guī)定,將其中難以辨識的二進制數(shù)據以文本形式呈現(xiàn),方便讀者使用的同時也降低了軟件入門門檻,更利于軟件的推廣和使用,利用Linux網卡的工作模式,獲取不同途徑的網絡數(shù)據包,擴大了數(shù)據流量的來源途徑。
[0027]上面對本專利的較佳實施方式作了詳細說明,但是本專利并不限于上述實施方式,在本領域的普通技術人員所具備的知識范圍內,還可以在不脫離本專利宗旨的前提下作出各種變化。
【主權項】
1.一種基于OpenWRT系統(tǒng)的網絡嗅探方法,其特征在于,具體步驟如下: (1)數(shù)據包抓取:軟件啟動后,先檢查路由器本身的狀態(tài),獲取其有線和無線網卡的信息,再根據網卡的狀態(tài),數(shù)據獲取模塊選擇性的運行在不同網卡上,從而獲取不同網卡的數(shù)據;數(shù)據獲取模塊獲取到一個數(shù)據包之后,判斷溝通模塊現(xiàn)在是否有空間存儲獲取的數(shù)據,若空間不足則丟棄數(shù)據包,若空間足夠就把數(shù)據包寫入溝通模塊,從而為數(shù)據解析模塊提供數(shù)據; (2)數(shù)據包特征判斷:完成數(shù)據包獲取后,數(shù)據解析模塊先對獲取到的數(shù)據包進行特征提取,從而區(qū)分數(shù)據包的類型;在軟件的配置文件中設置有數(shù)據包的類型的配置項; (3)數(shù)據包解析:對于經過數(shù)據包特征判斷階段的數(shù)據包進行內容提取,根據請求評議RFC對不同協(xié)議格式的規(guī)定,按照格式要求解析其中的信息,將二進制數(shù)據轉換成對應的字符串型數(shù)據,同時,對信息做重復性檢驗,以確保該信息的正確性。2.根據權利要求1所述的基于OpenWRT系統(tǒng)的網絡嗅探方法,其特征在于,所述數(shù)據包的類型包括無線數(shù)據包、有線數(shù)據包,HTTTP數(shù)據包和FTP數(shù)據包。
【文檔編號】H04L29/06GK105871658SQ201610369541
【公開日】2016年8月17日
【申請日】2016年5月26日
【發(fā)明人】閆高峰, 郭建勛, 劉寧, 許劍橋, 李明亮
【申請人】廣州納斯威爾信息技術有限公司