1. 程式人生 > >NetAnalyzer筆記 之 十四 NetAnalyzer 6.0 的使用方法 -- 3.協議分析與統計

NetAnalyzer筆記 之 十四 NetAnalyzer 6.0 的使用方法 -- 3.協議分析與統計

資料分析

完成了資料的抓取,那麼接下來就是NetAnalyzer的第二個重點部分了,協議分析作為整個軟體的核心之一,在最新的NetAnalyzer中已經得到了巨大的提升。NetAnalyzer中協議分析分為單資料包分析,和聯合分析兩種分析方式,對於聯合分析會根據不同的協議特性進行形成不同的分析方案,目前支援傳輸協議(TCP/UDP)協議分析, HTTP協議分析。在資料統計部分部分還增加了針對ARP協議的圖形化分析。對於協議分析,需要了解相關的網路知識或是有相關專業背景支援。

單資料包分析,在獲取到資料包後,軟體工作介面資料包列表框中會顯示所獲取的所用資料包,並且對這次資料做了一些簡單的分析,我們可以憑藉這些資料簡單判斷所對應的的資料包型別。

 

資料包列表

當我們選中一行,即選中一個數據包,我們可以看到對該資料包詳細的資料分析資訊,並一樹狀結構樹呈現出來,並在右側顯示該資料包原始資訊。當我們選中協議樹中一個欄位時,右側的資料就會定位到當前字端所分析資料的位置。

 

資料分析

然後通過對應的協議格式進行匹配與分析,如這部分的IP協議。

 

IPv4協議格式

需要注意的是,NetAnalyzer目前對於選中的欄位只能精確到位元組層次,對於一些協議,其中一個位元組可能包含了多個欄位,或是跨位元組的欄位,則會選擇全部的位元組資料,比如IPv6協議。

 

IPv6協議格式

其中的版本欄位只佔用了4bit(1位元組為8bit),通訊型別佔了8bit 也就是1位元組,但是因為其中前面部分使用了版本欄位所在位元組後面的4bit,所以改欄位為一個典型的跨位元組欄位,同樣流標籤欄位使用了20bit,佔用第二個位元組的4bit加上後面自身的2個位元組(16bit)。

 

解析後的IPv6資料

對於型別的欄位因為NetAnalyzer使用十六進位制顯示資料,並不能清晰表達bit層次的資訊所以當選定欄位後預設選中改欄位所在的位元組,如點選版本選中方式如下,

 

IPv6版本資訊

選中通訊型別和流標籤則呈現方式如下。

 

通訊型別和流標籤共用資料

資料分析標籤

雖然NetAnalyzer儘可能多分析每個資料包所包含的資訊,但是依舊存在很多資料需要我們手動去解析。所以軟體增加了資料標籤。

 

資料分析

在資料標籤頁點選 顯示 按鈕 就可以開啟資料轉換視窗,當然也可以在常規轉換中點選任意功能可以開啟轉換視窗

 

轉換視窗管理

 

關閉按鈕為關閉轉換視窗,清空則是清空當前視窗內的資料。

點選清空按鈕,則清空轉換資訊。

 

常規轉換工具

NetAnalyzer中提供了一部分簡單的轉換功能,這些功能只有在載荷資料被選中的情況的才可以啟用,

如點選二進位制按鈕,則對所選的資料轉換為對應的二進位制字串。如下圖所示。

 

常規資料轉換視窗

除了一些簡單的轉換功能,還集成了MangoScript擴充套件方式和外掛擴充套件方式(無可用外掛的

時候不顯示)的轉換。

 

擴充套件MangoScript的解析

如下面通過MangoScript針對某即時通訊軟體的資料分析。

針對於MangoScript和外掛兩種方式的轉換,將會在在《NetAnalyzer使用說明書 二 擴充套件與開發》中詳細說明,此處不再贅述。

 

 

定位轉換功能需要配合常規轉換進行使用,有時候我們確定某個位元組會在一個確定的位置出現,比如IP地址欄位,我們選中該位置,位置欄位就會出現一串程式碼 (10,1) [26]-4

(x,y)[offset] – length

 x: 十六進位制編輯器水平方向的偏移量

 y :   十六進位制編輯器垂直方向的偏移量

offset : 位元組偏移量,offset = y * 16 + x

length :  當前選擇的資料長度

 

資料轉換

所以程式碼 (10,1) [26]-4 確定了當前IP地址的位置,此時點選 常規轉換 -> IPv4地址 則會在模式中記錄當前的轉換模式,然後點選定位轉換,就會在當前資料包列表中針對每個資料包這個位置執行定位操作,這對於尋找所需要的資料非常重要。

 

選擇了IPv4轉換

 

執行定位轉換

對於MangoScript和外掛擴充套件依然支援定位轉換。

 

區塊複製,主要是對一些已經選中的位元組進行復制轉為程式碼,位元組陣列,以及儲存的功能,以及資料做手動分析,指令碼分析以及自定義轉換等,後續將會說明,此處不再詳細介紹。

 

資料塊操作

 

位元組定位,與定位轉換類似,但是位元組定位主要是用來在資料包列表中查詢相同位置出現相同位元組序列的資料包。算作一個查詢功能。

 

位元組定位

分析標籤

分析標籤下個功能依託於資料包列表,分別有載荷資料提取,資料包標記,編碼轉換,資料查詢,統計等相關功能,是聯合分析的主要功能,下面將會著重對一下功能進行說明。

 

資料分析標籤

TCP/UDP協議分析   前面介紹的都是基於單包的資料分析,而在協議分析中,我們大部分分析的資料都是依託於TCP/UDP的長連線資料,這部分資料的特點就是有多個數據包通過tcp或udp相關協議完成資料重組後才可以使用(基於udp的連線資料可能不是很嚴格)。

NetAnalyzer 除了提供基於單包的資料分析,更提供了基於連線資料的分析,而分析出來的資料不僅僅是在視窗上呈現一堆亂碼,更可以通過DocBar將獲取的資料提取出來進行使用。

在開始 標籤最後一部分就是基於長連線的分析。點選TCP/UDP 按鈕

 

基於TCP/UDP載荷資料檢視

此時NetAnalyzer便會切換到載荷資料模式(該過程可以通過配置,使用獨立視窗開啟)。在該模式下會開啟專有的載荷資料選單,資料區域也會變為對於載荷資料的分析,這裡先介紹一個NetAnalyzer中的DocBar工具,如下圖

 

DocBar

在文字模式下,分析載荷資料會顯示該工具條,該工具條會提供針對當前資料塊的各種操作,當然在不動情況下,顯示的工具和數量,都有所不同,下面是對當前各個功能的說明。

l   對當前資料塊進行摺疊

l   選中當前的分析資料

l   儲存當前原始資料

l   檢視原始資料(bytes資料)

l   MangScript解析資料

l   手動測試資料

 

對於其他情況下的工具在這裡不會一一介紹,但是碰到的時候會有說明,並且隨著後續功能點的增加,DocBar可能會有更多的功能新增進來。

 

tcp/udp 的分析分為 文字模式和 原始模式 ,文字模式主要是用於分析載荷資料為文字的資料,我們可以通過下面兩種方式更改文字編碼方式,分析資料。

文字模式下,呈現方式如下:

 

檢視載荷資料

原始模式分析如下,可用通過TCP/UDP的下拉選單命令 位元組資料 切換為原始資料

 

 

位元組查詢方式

 

位元組方式呈現

對於在該功能下針對TCP的所有資料都已經進行過TCP重組,所以最終分析完成的資料並不是按照資料包方式做簡單呈現就可以的,都會做資料的篩查與整理。如果需要單包分析的使用者需要注意一下。

 

HTTP資料分析 http作為最有網路代表意義的協議,NetAnalyzer提供了更加完善的分析,http基於tcp協議,所以資料還原等都建立在tcp資料還原的基礎之上。通過http分析,我們可以還原很多有意義的資料,如獲取到Http所傳輸的的html、js、css資料檔案,還可以獲取到基於http協議分析得到的圖片,檔案等資訊,如下圖分別為還原後的圖片和zip壓縮包。

 

http方式分析出的圖片

 

http方式分析出的檔案

對於常規的字串或圖片可以直接在NetAnalyzer呈現,但是對於其他型別的檔案,如視訊、音樂、以及上面提到的zip壓縮包檔案,在在NetAnalyzer會簡單顯示為二進位制資料,該資料如果過長,則會截斷顯示,但是在後面會加入【全部資料】下鑽選項,當點選該資料後則會開啟原始資料對話方塊,並且會完整顯示當前的資料,如下圖所示。

 

檢視原始資料

原始資料對話方塊中,提供了簡單的資料另存為和資料識別相關的功能。

 

原始資料儲存

儲存 儲存當前視窗中的資料為一個檔案。

儲存選擇資料 是當選擇對話方塊中其中的一段資料儲存為檔案,有時候資料可能存在偏差,或者我們需要提取選定的資料儲存為檔案,可以通過下拉儲存選定的資料進行儲存。

資料識別功能。

轉為… 則是將當前的資料轉到編碼轉換工具中進行進一步分析。

自動識別 為了更加快速的實現資料提取,NetAnalyzer增加了資料識別模組,通過整理不同檔案的頭部或尾部位元組形成資料識別特徵,當進行自動識別的時候,可以快速定位位元組。

 

檔案識別

新增特徵 將選定的指定位元組新增為檔案識別頭,並且新增相關資訊,形成一個特徵。

 

新增檔案識別

識別管理 管理特徵庫,在後續將詳細介紹該功能點。

 

載荷資料分析出的檔案

除了使用常規的識別方式,在載荷資料提取中也加入了資料識別功能。在使用的時候點選資料識別就可以在下方顯示被識別到的資料型別,有時候可能會存在多個型別和誤識別的情況,使用的時候請務必注意。

有時候通過HTTP協議還原部分二進位制資料,如下面還原ZIP檔案,文件會以二進位制資料呈現,而我們可以通過0x50 0x4B(PK)推斷出該檔案很有可能是zip檔案 ,所以我們點選全部資料 ,開啟原始資料視窗,這部分資料正好是zip的全部資料。

   

儲存的zip檔案內容

此時點選將當前資料儲存為zip檔案。減壓就可以看到對應的檔案內容。

 

在載荷資料模式下,選單會自動切換為,載荷模式選單

 

載荷資料標籤

該選單下提供了很多常用的字串轉換工具

 

格式轉換工具

如下面通過通過Cookie格式化,格式化了http頭中的cookie欄位

 

Cookie格式化

需要注意的是使用這些欄位首先需要選中被轉換的文字,然後點選需對應的功能項。其中如果點選轉換為…,則啟動NetAnalyzer附帶的編碼轉換工具,進行集中處理。

 

編碼轉換工具

針對html字串資料,還提供了過濾標籤和HTML預覽功能,因為該部分功能都很型別,且使用簡單,使用者自行嘗試使用即可。

 

 

時序圖 在資料分析中,除了對於資料本身的分析之外,有時候我們還要去評測一些資料質量等方面的內容。並且可以通過影象化的方式表現出來。

 

TCP時序圖分析

時序圖模擬TCP/UDP在資料網路中的資料傳輸過程,還原網路通訊場景,如該圖可以完整的反映TCP三次握手以及斷開連線四次揮手的情景。可以作為對當前分析資料從另外一個方面的反饋,更具有參考意義。

點選

 

時序圖選項

就可以看到針對於當前tcp/udp 資料互動的情況。

 

 

資料標記

在分析標籤下面,有標記功能,實現對當前採集會話資料連線的進行快速識別。

 

資料標記

NetAnalyzer提供了四中顏色對資料包連結進行區分。

如TCP資料包,就會通過源IP地址+源埠地址+目標IP地址+目標埠 作為一個特徵來進行識別,此處的源和目標具有相對性。

注*  ctrl+滑鼠左鍵 可以實現對資料會話的快速標記 顏色為紅色

 

標記完成的資料

通過點選清理標記,可還原資料。

 

 

資料包查詢 

 

資料包查詢

在資料包列表模式下使用Ctrl+F即可以開啟資料包查詢功能。

該功能主要是實現快速查詢資料包的功能,可以通過編號,協議,地址(mac/ip),埠,關鍵字等五種方式查詢資料包。還可以通過資料列表導航按鈕進行資料包列表瀏覽。

 

 

編碼方式

在通過TCP/UDP 或HTTP 功能還原資料的時候,有時候會出現亂碼,尤其是對非英文字元。在HTTP協議中通常都會在頭部資訊中攜帶編碼方法,通過提取就可以獲取到編碼方式,但是仍然後部分服務並不提供編碼欄位,這時候就需要我們通過手動切換,來嘗試還原相關資訊。

通過選單欄或者是狀態列都可以對編碼方案進行切換

 

字元編碼

 

狀態列字元編碼

這裡需要注意的是如果http頭部包含了編碼方式,則使用頭部提供的編碼方式。

 

 

資料統計

目前NetAnalyzer顯示了大量的統計方式,涵蓋了資料報表、流量分析、主機通訊矩,傳輸報告、ARP報告等多種統計方式。

 

資料報表

 

報表資訊

對當前捕獲的資料表中的資料進行統計與歸類。呈現方式如有圖所示。

 

報表內容

包含一些基本資訊,資料量與時間直線圖,資料量佔比,關係圖等