以太網(wǎng)常用抓包工具介紹_第1頁
以太網(wǎng)常用抓包工具介紹_第2頁
以太網(wǎng)常用抓包工具介紹_第3頁
以太網(wǎng)常用抓包工具介紹_第4頁
以太網(wǎng)常用抓包工具介紹_第5頁
已閱讀5頁,還剩64頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、RTUB_105_C1 以太網(wǎng)常用抓包工具介紹課程目標:l 課程目標1:了解常見抓包軟件l 課程目標2:掌握根據(jù)需要選擇使用抓包軟件并分析報文目 錄第1章 以太網(wǎng)常用抓包工具介紹1-11.1 摘要1-11.2 簡介1-11.3 抓包工具介紹1-21.4 Sniffer使用教程1-2 概述1-2 功能簡介1-2 報文捕獲解析1-4 設(shè)置捕獲條件1-7 報文放送1-9 網(wǎng)絡(luò)監(jiān)視功能1-11 數(shù)據(jù)報文解碼詳解1-131.5 ethreal的使用方法1-261.5.1 ethreal使用入門1-261.5.2 ethereal使用capture選項1-271.5.3 ethereal的抓包過濾器1-2

2、81.6 EtherPeekNX1-32 過濾條件設(shè)置1-32 設(shè)置多個過濾條件1-37 保存數(shù)據(jù)包1-41 分析數(shù)據(jù)包1-43 擴展功能1-1 簡單分析問題的功能1-4 部分解碼功能1-8 案例1-11.7 SpyNet1-1 使用簡介1-1 使用步驟:1-1第1章 以太網(wǎng)常用抓包工具介紹& 知識點l 了解常用抓包軟件l 熟悉根據(jù)需要選擇抓包軟件并分析報文1.1 摘要在處理IP網(wǎng)絡(luò)的故障時,經(jīng)常使用以太網(wǎng)抓包工具來查看和抓取IP網(wǎng)絡(luò)上某些端口或某些網(wǎng)段的數(shù)據(jù)包,并對這些數(shù)據(jù)包進行分析,定位問題。本章簡要介紹幾個常用抓包工具及應(yīng)用。1.2 簡介目前在增值業(yè)務(wù)產(chǎn)品中,網(wǎng)關(guān)側(cè)使用的協(xié)議均是

3、基于TCP/IP的,例如SGIP(聯(lián)通網(wǎng)關(guān)協(xié)議)、CMPP(移動網(wǎng)關(guān)協(xié)議)、SMPP(short message peer to peer,點對點的短信服務(wù))、營帳協(xié)議等等。有時需要直接抓取TCP層的數(shù)據(jù)包進行分析,定位問題。對于基于TCP/IP的協(xié)議,其應(yīng)用都在TCP層之上,因此上層協(xié)議的定義都是在Application Layer中,只要抓取TCP數(shù)據(jù)包,對Application Layer中的Data Area對照相應(yīng)的協(xié)議進行分析,就能判斷問題所在。抓包工具的特點如下:l通用性良好。抓包工具可以針對所有基于TCP/IP的協(xié)議,抓取數(shù)據(jù)包后自行進行分析。l抓取的是TCP/IP中的TCP數(shù)

4、據(jù)包。TCP數(shù)據(jù)包能夠真實反映網(wǎng)絡(luò)中的狀態(tài)以及問題的原因。通過抓包工具的使用,可以判斷定位許多問題,抓包工具本身具有簡單的查找,解碼等功能,如果靈活運用,對于分析解決問題,是很有幫助的。但是,抓包工具也不是萬能的,最終問題的解決仍然需要使用者對業(yè)務(wù)流程,對相關(guān)的協(xié)議有足夠的理解和掌握。另外,抓包工具本身需要占用系統(tǒng)資源,類似于全用戶跟蹤,不能長時間使用。1.3 抓包工具介紹常見的以太網(wǎng)抓包工具有幾種,分別是Sniffer,PacketGrabber、EtherPeekNX、Ethereal,SpyNet。lPacketGrabber,只能抓取數(shù)據(jù)包,無法查看解碼數(shù)據(jù)包。lEtherPeekNX

5、、Ethereal,可以抓取數(shù)據(jù)包,也可以查看解碼數(shù)據(jù)包。lEthereal、Sniffer,功能強大的抓包軟件,幾乎包攬了現(xiàn)有的絕大部分協(xié)議,有Unix版本,也有Windows版本??梢宰ト?shù)據(jù)包、查看數(shù)據(jù)包和解碼數(shù)據(jù)包。l SpyNet:功能不象Sniffer那么強大,但使用起來很簡單的抓包軟件下面我們詳細介紹一下Sniffer、Ethereal、EtherPeekNX、SpyNet這四款軟件的使用方法。1.4 Sniffer使用教程1.4.1 概述Sniffer軟件是NAI公司推出的功能強大的協(xié)議分析軟件。本文針對用Sniffer Pro網(wǎng)絡(luò)分析器進行故障解決。利用Sniffer Pro

6、 網(wǎng)絡(luò)分析器的強大功能和特征,解決網(wǎng)絡(luò)問題,將介紹一套合理的故障解決方法。與Netxray比較,Sniffer支持的協(xié)議更豐富,例如PPPOE協(xié)議等在Netxray并不支持,在Sniffer上能夠進行快速解碼分析。Netxray不能在Windows 2000和Windows XP上正常運行,Sniffer Pro 4.6可以運行在各種Windows平臺上。Sniffer軟件比較大,運行時需要的計算機內(nèi)存比較大,否則運行比較慢,這也是它與Netxray相比的一個缺點。1.4.2 功能簡介下面列出了Sniffer軟件的一些功能介紹,其功能的詳細介紹可以參考Sniffer的在線幫助。 捕獲網(wǎng)絡(luò)流量進

7、行詳細分析利用專家分析系統(tǒng)診斷問題實時監(jiān)控網(wǎng)絡(luò)活動收集網(wǎng)絡(luò)利用率和錯誤等在進行流量捕獲之前首先選擇網(wǎng)絡(luò)適配器,確定從計算機的哪個網(wǎng)絡(luò)適配器上接收數(shù)據(jù)。位置:File->select settings選擇網(wǎng)絡(luò)適配器后才能正常工作。該軟件安裝在Windows 98操作系統(tǒng)上,Sniffer可以選擇撥號適配器對窄帶撥號進行操作。如果安裝了EnterNet500等PPPOE軟件還可以選擇虛擬出的PPPOE網(wǎng)卡。對于安裝在Windows 2000/XP上則無上述功能,這和操作系統(tǒng)有關(guān)。 本文將對報文的捕獲幾網(wǎng)絡(luò)性能監(jiān)視等功能進行詳細的介紹。下圖為在軟件中快捷鍵的位置。1.4.3  報文捕

8、獲解析 捕獲面板報文捕獲功能可以在報文捕獲面板中進行完成,如下是捕獲面板的功能圖:圖中顯示的是處于開始狀態(tài)的面板 捕獲過程報文統(tǒng)計在捕獲過程中可以通過查看下面面板查看捕獲報文的數(shù)量和緩沖區(qū)的利用率。 捕獲報文查看Sniffer軟件提供了強大的分析能力和解碼功能。如下圖所示,對于捕獲的報文提供了一個Expert專家分析系統(tǒng)進行分析,還有解碼選項及圖形和表格的統(tǒng)計信息。l 專家分析專家分分析系統(tǒng)提供了一個只能的分析平臺,對網(wǎng)絡(luò)上的流量進行了一些分析對于分析出的診斷結(jié)果可以查看在線幫助獲得。在下圖中顯示出在網(wǎng)絡(luò)中WINS查詢失敗的次數(shù)及TCP重傳的次數(shù)統(tǒng)計等

9、內(nèi)容,可以方便了解網(wǎng)絡(luò)中高層協(xié)議出現(xiàn)故障的可能點。對于某項統(tǒng)計分析可以通過用鼠標雙擊此條記錄可以查看詳細統(tǒng)計信息且對于每一項都可以通過查看幫助來了解起產(chǎn)生的原因。l 解碼分析下圖是對捕獲報文進行解碼的顯示,通常分為三部分,目前大部分此類軟件結(jié)構(gòu)都采用這種結(jié)構(gòu)顯示。對于解碼主要要求分析人員對協(xié)議比較熟悉,這樣才能看懂解析出來的報文。使用該軟件是很簡單的事情,要能夠利用軟件解碼分析來解決問題關(guān)鍵是要對各種層次的協(xié)議了解的比較透徹。工具軟件只是提供一個輔助的手段。因涉及的內(nèi)容太多,這里不對協(xié)議進行過多講解,請參閱其他相關(guān)資料。對于MAC地址,Snffier軟件進行了頭部的替換,如00e0fc開頭的就

10、替換成Huawei,這樣有利于了解網(wǎng)絡(luò)上各種相關(guān)設(shè)備的制造廠商信息。功能是按照過濾器設(shè)置的過濾規(guī)則進行數(shù)據(jù)的捕獲或顯示。在菜單上的位置分別為 Capture->Define Filter和Display->Define Filter。過濾器可以根據(jù)物理地址或IP地址和協(xié)議選擇進行組合篩選。l 統(tǒng)計分析對于Matrix,Host Table,Portocol Dist. Statistics等提供了豐富的按照地址,協(xié)議等內(nèi)容做了豐富的組合統(tǒng)計,比較簡單,可以通過操作很快掌握這里就不再詳細介紹了。1.4.4 設(shè)置捕獲條件 基本捕獲條件基本的捕獲條件有兩種:1、鏈路層捕獲,

11、按源MAC和目的MAC地址進行捕獲,輸入方式為十六進制連續(xù)輸入,如:00E0FC123456。2、IP層捕獲,按源IP和目的IP進行捕獲。輸入方式為點間隔方式,如:。如果選擇IP層捕獲條件則ARP等報文將被過濾掉。 高級捕獲條件在“Advance”頁面下,你可以編輯你的協(xié)議捕獲條件,如圖:高級捕獲條件編輯圖在協(xié)議選擇樹中你可以選擇你需要捕獲的協(xié)議條件,如果什么都不選,則表示忽略該條件,捕獲所有協(xié)議。在捕獲幀長度條件下,你可以捕獲,等于、小于、大于某個值的報文。在錯誤幀是否捕獲欄,你可以選擇當網(wǎng)絡(luò)上有如下錯誤時是否捕獲。在保存過濾規(guī)則條件按鈕“Profiles”,你可以將你當前設(shè)置

12、的過濾規(guī)則,進行保存,在捕獲主面板中,你可以選擇你保存的捕獲條件。 任意捕獲條件在Data Pattern下,你可以編輯任意捕獲條件,如下圖:用這種方法可以實現(xiàn)復(fù)雜的報文過濾,但很多時候是得不償失,有時截獲的報文本就不多,還不如自己看看來得快。1.4.5 報文放送 編輯報文發(fā)送Sniffer軟件報文發(fā)送功能就比較弱,如下是發(fā)送的主面板圖:發(fā)送前,你需要先編輯報文發(fā)送的內(nèi)容。點擊發(fā)送報文編輯按鈕??傻玫饺缦碌膱笪木庉嫶翱冢菏紫纫付〝?shù)據(jù)幀發(fā)送的長度,然后從鏈路層開始,一個一個將報文填充完成,如果是NetXray支持可以解析的協(xié)議,從“Decode”頁面中,可看見解析后

13、的直觀表示。 捕獲編輯報文發(fā)送將捕獲到的報文直接轉(zhuǎn)換成發(fā)送報文,然后修修改改可也。如下是一個捕獲報文后的報文查看窗口:選中某個捕獲的報文,用鼠標右鍵激活菜單,選擇“Send Current Packet”,這時你就會發(fā)現(xiàn),該報文的內(nèi)容已經(jīng)被原封不動的送到“發(fā)送編輯窗口”中了。這時,你在修修改改,就比你全部填充報文省事多了。發(fā)送模式有兩種:連續(xù)發(fā)送和定量發(fā)送??梢栽O(shè)置發(fā)送間隔,如果為0,則以最快的速度進行發(fā)送。1.4.6 網(wǎng)絡(luò)監(jiān)視功能網(wǎng)絡(luò)監(jiān)視功能能夠時刻監(jiān)視網(wǎng)絡(luò)統(tǒng)計,網(wǎng)絡(luò)上資源的利用率,并能夠監(jiān)視網(wǎng)絡(luò)流量的異常狀況,這里只介紹一下Dashbord和ART,其他功能可以參看在線幫助,

14、或直接使用即可,比較簡單。 Application Response Time (ART):Application Response Time (ART) 是可以監(jiān)視TCP/UDP應(yīng)用層程序在客戶端和服務(wù)器響應(yīng)時間,如HTTP,FTP,DNS等應(yīng)用。對與TCP/UDP響應(yīng)時間的計算方法如下TCP For each socket, ART stores the sequence numbers for packets sent by the client and waits for the corresponding ACK packets from the server. It

15、then measures the time difference between the packet with the stored sequence number and the packet with the ACK to arrive at the response time.UDP For each socket, ART measures the time between packets going from a client to a server and the next packet going from the server to the client.1.4.7 數(shù)據(jù)報

16、文解碼詳解本章主要對:數(shù)據(jù)報文分層、以太報文結(jié)構(gòu)、IP協(xié)議、ARP協(xié)議、PPPOE協(xié)議、Radius協(xié)議等的解碼分析做了簡單的描述,目的在于介紹Sniffer軟件在協(xié)議分析中的功能作用并通過解碼分析對協(xié)議進一步了解。對其其他協(xié)議讀者可以通過協(xié)議文檔和Sniffer捕獲的報文對比分析。 數(shù)據(jù)報文分層如下圖所示,對于四層網(wǎng)絡(luò)結(jié)構(gòu),其不同層次完成不通功能。每一層次有眾多協(xié)議組成。如上圖所示在Sniffer的解碼表中分別對每一個層次協(xié)議進行解碼分析。鏈路層對應(yīng)“DLC”;網(wǎng)絡(luò)層對應(yīng)“IP”;傳輸層對應(yīng)“UDP”;應(yīng)用層對對應(yīng)的是“NETB”等高層協(xié)議。Sniffer可以針對眾多協(xié)議進行詳

17、細結(jié)構(gòu)化解碼分析。并利用樹形結(jié)構(gòu)良好的表現(xiàn)出來。 以太報文結(jié)構(gòu)EthernetII以太網(wǎng)幀結(jié)構(gòu)Ethernet_II以太網(wǎng)幀類型報文結(jié)構(gòu)為:目的MAC地址(6bytes)源MAC地址(6bytes)上層協(xié)議類型(2bytes)數(shù)據(jù)字段(46-1500bytes)校驗(4bytes)。Sniffer會在捕獲報文的時候自動記錄捕獲的時間,在解碼顯示時顯示出來,在分析問題時提供了很好的時間記錄。源目的MAC地址在解碼框中可以將前3字節(jié)代表廠商的字段翻譯出來,方便定位問題,例如網(wǎng)絡(luò)上2臺設(shè)備IP地址設(shè)置沖突,可以通過解碼翻譯出廠商信息方便的將故障設(shè)備找到,如00e0fc為華為,01004

18、2為Cisco等等。如果需要查看詳細的MAC地址用鼠標在解碼框中點擊此MAC地址,在下面的表格中會突出顯示該地址的16進制編碼。IP網(wǎng)絡(luò)來說Ethertype字段承載的時上層協(xié)議的類型主要包括0x800為IP協(xié)議,0x806為ARP協(xié)議。IEEE802.3以太網(wǎng)報文結(jié)構(gòu)上圖為IEEE802.3SNAP幀結(jié)構(gòu),與EthernetII不通點是目的和源地址后面的字段代表的不是上層協(xié)議類型而是報文長度。并多了LLC子層。 IP協(xié)議IP報文結(jié)構(gòu)為IP協(xié)議頭載荷,其中對IP協(xié)議頭部的分析,時分析IP報文的主要內(nèi)容之一,關(guān)于IP報文詳細信息請參考相關(guān)資料。這里給出了IP協(xié)議頭部的一個結(jié)構(gòu)。版本

19、:4IPv4首部長度:單位為4字節(jié),最大60字節(jié)TOS:IP優(yōu)先級字段總長度:單位字節(jié),最大65535字節(jié)標識:IP報文標識字段標志:占3比特,只用到低位的兩個比特 MF(More Fragment) MF=1,后面還有分片的數(shù)據(jù)包 MF=0,分片數(shù)據(jù)包的最后一個 DF(Don't Fragment)DF=1,不允許分片 DF=0,允許分片段偏移:分片后的分組在原分組中的相對位置,總共13比特,單位為8字節(jié)壽命:TTL(Time To Live)丟棄TTL=0的報文協(xié)議:攜帶的是何種協(xié)議報文 1 :ICMP 6 :TCP 17:UDP 89:OSPF頭部檢驗和:對IP協(xié)議首部的校驗和源

20、IP地址:IP報文的源地址目的IP地址:IP報文的目的地址上圖為Sniffer對IP協(xié)議首部的解碼分析結(jié)構(gòu),和IP首部各個字段相對應(yīng),并給出了各個字段值所表示含義的英文解釋。如上圖報文協(xié)議(Protocol)字段的編碼為0x11,通過Sniffer解碼分析轉(zhuǎn)換為十進制的17,代表UDP協(xié)議。其他字段的解碼含義可以與此類似,只要對協(xié)議理解的比較清楚對解碼內(nèi)容的理解將會變的很容易。 ARP協(xié)議以下為ARP報文結(jié)構(gòu)ARP分組具有如下的一些字段:HTYPE(硬件類型)。這是一個16比特字段,用來定義運行ARP的網(wǎng)絡(luò)的類型。每一個局域網(wǎng)基于其類型被指派給一個整數(shù)。例如,以太網(wǎng)是類型1。AR

21、P可使用在任何網(wǎng)絡(luò)上。PTYPE(協(xié)議類型)。這是一個16比特字段,用來定義協(xié)議的類型。例如,對IPv4協(xié)議,這個字段的值是0800。ARP可用于任何高層協(xié)議。HLEN(硬件長度)。這是一個8比特字段,用來定義以字節(jié)為單位的物理地址的長度。例如,對以太網(wǎng)這個值是6。PLEN(協(xié)議長度)。這是一個8比特字段,用來定義以字節(jié)為單位的邏輯地址的長度。例如,對IPv4協(xié)議這個值是4。OPER(操作)。這是一個16比特字段,用來定義分組的類型。已定義了兩種類型:ARP請求(1),ARP回答(2)。SHA(發(fā)送站硬件地址)。這是一個可變長度字段,用來定義發(fā)送站的物理地址的長度。例如,對以太網(wǎng)這個字段是6字

22、節(jié)長。SPA(發(fā)送站協(xié)議地址)。這是一個可變長度字段,用來定義發(fā)送站的邏輯(例如,IP)地址的長度。對于IP協(xié)議,這個字段是4字節(jié)長。THA(目標硬件地址)。這是一個可變長度字段,用來定義目標的物理地址的長度。例如,對以太網(wǎng)這個字段是6字節(jié)長。對于ARP請求報文,這個字段是全0,因為發(fā)送站不知道目標的物理地址。TPA(目標協(xié)議地址)。這是一個可變長度字段,用來定義目標的邏輯地址(例如,IP地址)的長度。對于IPv4協(xié)議,這個字段是4字節(jié)長。上面為通過Sniffer解碼的ARP請求和應(yīng)答報文的結(jié)構(gòu)。 PPPOE協(xié)議PPPOE簡介簡單來說我們可能把PPPOE報文分成兩大塊,一大塊是P

23、PPOE的數(shù)據(jù)報頭,另一塊則是PPPOE的凈載荷(數(shù)據(jù)域),對于PPPOE報文數(shù)據(jù)域中的內(nèi)容會隨著會話過程的進行而不斷改變。下圖為PPPOE的報文的格式: 數(shù)據(jù)報文最開始的4位為版本域,協(xié)議中給出了明確的規(guī)定,這個域的內(nèi)容填充0x01。 緊接在版本域后的4位是類型域,協(xié)議中同樣規(guī)定,這個域的內(nèi)容填充為0x01。 代碼域占用1個字節(jié),對于PPPOE 的不同階段這個域內(nèi)的內(nèi)容也是不一樣的。 會話ID點用2個字節(jié),當訪問集中器還未分配唯一的會話ID給用戶主機的話,則該域內(nèi)的內(nèi)容必須填充為0x0000,一旦主機獲取了會話ID后,那么在后續(xù)的所有報文中該域必須填充那個唯一的會話ID值。 長度域為2個字節(jié)

24、,用來指示PPPOE數(shù)據(jù)報文中凈載荷的長度。 數(shù)據(jù)域,有時也稱之為凈載荷域,在PPPOE的不同階段該域內(nèi)的數(shù)據(jù)內(nèi)容會有很大的不同。在PPPOE的發(fā)現(xiàn)階段時,該域內(nèi)會填充一些Tag(標記);而在PPPOE的會話階段,該域則攜帶的是PPP的報文。捕獲報文測試用例圖如圖所示,Radius Server IP地址為。PPPOE用戶Radius報文交互過程分析如下。上圖為PPPOE從發(fā)現(xiàn)階段到PPP LCP協(xié)商,認證IPCP協(xié)商階段和PPPOE會話階段交互過程。PPPOE發(fā)現(xiàn)階段,PADI報文,Sniffer解碼結(jié)構(gòu)如下所示。PPPOE會話階段,Sniffer解碼結(jié)構(gòu)如下所示。 Radiu

25、s協(xié)議Radius報文簡介標準Radius協(xié)議包結(jié)構(gòu)圖9 Radius包格式Code:包類型;1字節(jié);指示RADIUS包的類型。 1 Access- request 認證請求 2 Access- accept 認證響應(yīng) 3 Access- reject 認證拒絕4 Accounting-request 計費請求 5 Accounting-response 計費響應(yīng) *11 Access-challenge 認證挑戰(zhàn)Identifier: 包標識;1字節(jié),取值范圍為0 255;用于匹配請求包和響應(yīng)包,同一組請求包和響應(yīng)包的Identifier應(yīng)相同。Length: 包長度;2字節(jié);整個包中所有域

26、的長度。Authenticator:16 字節(jié)長;用于驗證RADIUS服務(wù)器傳回來的請求以及密碼隱藏算法上。該驗證字分為兩種: 1、請求驗證字-Request Authenticator 用在請求報文中,必須為全局唯一的隨機值。 2、響應(yīng)驗證字-Response Authenticator 用在響應(yīng)報文中,用于鑒別響應(yīng)報文的合法性。 響應(yīng)驗證字MD5(Code+ID+Length+請求驗證字+Attributes+Key)Attributes:屬性圖10 屬性格式屬性域是TLV結(jié)構(gòu)編碼。測試用例圖下圖為用戶端PPPOE,Radius Server和BAS交互的認證上線和下線的過程。報文1:BA

27、S請求Radius Server認證報文。報文2:Radius Server回應(yīng)BAS認證通過報文。報文3:BAS計費請求報文。報文4:Radius Server計費響應(yīng)報文。報文5:BAS計費結(jié)束報文。報文6:Radius Server計費結(jié)束響應(yīng)報文。從中可以看出對于報文請求和響應(yīng)是通過IP地址+Radius 協(xié)議域中ID號進行配對識別的。上圖顯示了BAS發(fā)起的Radius認證請求(Code1)報文的結(jié)構(gòu)。Radius報文是承載在UPD協(xié)議之上的,這里我沒不關(guān)注上層報文的結(jié)構(gòu)。下圖為PPPOE CHAP認證過程的Radius認證請求報文和PPPOE中CHAP認證的Challenge報文。通

28、過比較可以方便看出BAS發(fā)出的Challenge值為“26fe8768341de68a72a1276771e1c1ca”與PPPOE中CHAP認證過程中BAS發(fā)給PPPOE用戶的Challenge值是一致的。下圖為PPPOE用戶發(fā)為BAS的經(jīng)過CHAP加密后的用戶密碼和BAS發(fā)給Radius Server中認證請求報文用戶秘密屬性域的比較??梢钥闯鲈赗adius 認證過程中,BAS設(shè)備將Challenge屬性和用戶加密后的密碼發(fā)給Radius進行驗證。通過比較可以清楚了解協(xié)議各字段含義相互關(guān)系,為問題處理提供有效的手段。下面為PPPOE用戶Radius認證的Sniffer捕獲的報文。1.5 e

29、threal的使用方法1.5.1 ethreal使用入門ethreal可以用來從網(wǎng)絡(luò)上抓包,并能對包進行分析。下面介紹windows下面ethereal的使用方法 安裝1)安裝winpcap,下載地址2)安裝ethreal,下載地址 使用windows程序,使用很簡單。啟動ethreal以后,選擇菜單Capature->Start,就OK了。當你不想抓的時候,按一下stop,抓的包就會顯示在面板中,并且已經(jīng)分析好了。下面是一個截圖:1.5.2 ethereal使用capture選項Interface: 指定在哪個接口(網(wǎng)卡)上抓包。一般情況下都是單網(wǎng)卡,所以使

30、用缺省的就可以了Limit each packet:限制每個包的大小,缺省情況不限制Capture packets in promiscuous mode:是否打開混雜模式。如果打開,抓取所有的數(shù)據(jù)包。一般情況下只需要監(jiān)聽本機收到或者發(fā)出的包,因此應(yīng)該關(guān)閉這個選項。Filter:過濾器。只抓取滿足過濾規(guī)則的包(可暫時略過)File:如果需要將抓到的包寫到文件中,在這里輸入文件名稱。usering buffer:是否使用循環(huán)緩沖。缺省情況下不使用,即一直抓包。注意,循環(huán)緩沖只有在寫文件的時候才有效。如果使用了循環(huán)緩沖,還需要設(shè)置文件的數(shù)目,文件多大時回卷,其他的項選擇缺省的就可以了。1.5.3

31、ethereal的抓包過濾器抓包過濾器用來抓取感興趣的包,用在抓包過程中。抓包過濾器使用的是libcap過濾器語言,在tcpdump的手冊中有詳細的解釋,基本結(jié)構(gòu)是:not primitive and|or not primitive .個人觀點,如果你想抓取某些特定的數(shù)據(jù)包時,可以有以下兩種方法,你可以任選一種,個人比較偏好第二種方式:1、在抓包的時候,就先定義好抓包過濾器,這樣結(jié)果就是只抓到你設(shè)定好的那些類型的數(shù)據(jù)包;2、先不管三七二十一,把本機收到或者發(fā)出的包一股腦的抓下來,然后使用下節(jié)介紹的顯示過濾器,只讓Ethereal顯示那些你想要的那些類型的數(shù)據(jù)包; etheral

32、的顯示過濾器(重點內(nèi)容)在抓包完成以后,顯示過濾器可以用來找到你感興趣的包,可以根據(jù)1)協(xié)議2)是否存在某個域3)域值4)域值之間的比較來查找你感興趣的包。舉個例子,如果你只想查看使用tcp協(xié)議的包,在ethereal窗口的左下角的Filter中輸入tcp,然后回車,ethereal就會只顯示tcp協(xié)議的包。如下圖所示:值比較表達式可以使用下面的操作符來構(gòu)造顯示過濾器自然語言?類c表示?舉例eq = ip.addr=.20ne != ip.addr!=.20gt > frame.pkt_len>10lt < frame.pkt_len<10ge >= frame.

33、pkt_len>=10le <= frame.pkt_len<=10表達式組合可以使用下面的邏輯操作符將表達式組合起來自然語言?類c表示?舉例and && 邏輯與,比如ip.addr=or | 邏輯或,比如ip.addr=xor 異或,如tr.dst0:3 = xor tr.src0:3 =not ! 邏輯非,如 !llc例如:我想抓取IP地址是0的主機,它所接收收或發(fā)送的所有的HTTP報文,那么合適的顯示Filter(過濾器)就是:請記住一個訣竅:只要在Filter的背景是綠色,就證明你設(shè)定的Filter是合乎規(guī)定的,但是當背景是紅色時

34、,就說明你設(shè)定的Filter是Ethereal不允許的,是不對的。如:所有的過濾器(Filter)都可以在Filter旁邊的Expression中選取。大家可以多鉆研鉆研。定有收獲。 在ethereal使用協(xié)議插件ethereal能夠支持許多協(xié)議,但有些協(xié)議需要安裝插件以后才能解,比如H.323下載完了以后將文件(h323.dll)解壓到ethereal安裝目錄的plugin0.9.x目錄下面,比如我的是然后,需要進行一下設(shè)置1)啟動ethereal2)菜單Edit->Preference3)單擊Protocols前面的"+"號,展開Protocols4

35、)找到Q931,并單擊5)確保"Desegment. TCP segments"是選中的(即方框被按下去)6)單擊TCP7)確保"Allow.TCP streams"是選中的8)確保沒有選中"Check.TCP checksum"和"Use.sequence numbers"9)單擊TPKT10)確保"Desegment.TCP segments"是選中的11)點擊Save,然后點擊Apply,然后點擊OK你也完全可以不斷地重新安裝新版本winpcap和ethreal,這樣就可以不需在舊的eth

36、real的版本中安裝新的插件來支持新的協(xié)議插件。這也是懶人的一種做法。1.6 EtherPeekNX1.6.1 過濾條件設(shè)置在進行抓包操作之前,首先需要設(shè)置過濾條件,用來控制需要抓取的數(shù)據(jù)包的類型。具體操作如下所示:1運行EtherPeekNX工具,進入EtherPeekNX的主界面,如圖2.11所示。圖1.61 EtherPeekNX的主界面2 在EtherPeekNX的主界面中,選擇菜單FileNew新建一個抓包任務(wù),則出現(xiàn)如圖2.12所示界面。圖1.62 新建抓包任務(wù)界面3 在如圖1.62所示的界面中,單擊Filters選項進行數(shù)據(jù)包過濾選項設(shè)置,出現(xiàn)如圖2.13所示界面,界面中列出了所

37、有可以抓取的數(shù)據(jù)包的類型。圖1.63 過濾條件設(shè)置界面4若要抓取TCP數(shù)據(jù)包,則在如圖1.63所示界面中單擊選中TCP選項,右擊并在彈出的快捷菜單欄中選中Edit,如圖2.14所示。圖1.64 進入TCP數(shù)據(jù)包的編輯模式5出現(xiàn)Edit Filter界面,如圖2.15所示。例如,要抓取40 與之間的TCP數(shù)據(jù)包,則可以按照如圖2.15所示界面中的設(shè)置。設(shè)置完成后單擊OK按鈕。圖1.65 Filter設(shè)置示例其中,選中Address filter項,表示使用IP地址過濾方式;Address 1欄中輸入40,表示數(shù)據(jù)包的源地址;T

38、YPE欄中選中IP,表示兩個IP地址之間是IP報文;Address 2欄中輸入,表示數(shù)據(jù)包的目的地址。6在如圖1.63所示界面中單擊確定,出現(xiàn)如圖2.16所示的界面,單擊Start Capture按鈕開始抓取數(shù)據(jù)包。圖1.66 開始抓取數(shù)據(jù)包7出現(xiàn)如圖2.17所示界面,顯示抓的數(shù)據(jù)包的相關(guān)信息,包括數(shù)據(jù)包的目的地IP地址、包的大小、數(shù)據(jù)包的統(tǒng)計信息等等。圖1.67 抓包的結(jié)果顯示信息1.6.2 設(shè)置多個過濾條件如果需要抓取多個主機之間的數(shù)據(jù)包,需要設(shè)置多個過濾條件。例如:FCN系統(tǒng)與SMG之間,以及FCN系統(tǒng)與BOSS系統(tǒng)之間,可以在設(shè)置過濾條件時,復(fù)制TCP過濾器,并對

39、過濾條件進行修改。具體操作如下所示。1在如圖1.64所示界面中,選中TCP項右擊,并在快捷菜單欄中選中Duplicate項,復(fù)制一個與TCP項相同過濾條件的項。如圖2.28所示。圖1.68 復(fù)制TCP項2復(fù)制完成之后,在項目列表中出現(xiàn)一個名為COPY OF TCP的過濾項,并右擊該項,在快捷菜單中選中Edit,如圖2.29所示。圖1.69 編輯復(fù)制項3出現(xiàn)如圖2.210所示的界面,可以在該界面中修改該過濾項目的相關(guān)參數(shù)。此例中,將過濾器名稱改為TCP_FCN_BOSS,過濾地址修改為地址0,修改完成之后單擊OK按鈕。圖1.610 修改復(fù)制項的名字4得到一個新的過濾器TCP_

40、FCN_BOSS,單擊選中TCP和TCP_FCN_BOSS,則滿足這兩個過濾器的數(shù)據(jù)包都會被過濾出來,如圖2.211所示。圖1.611 生成兩個過濾項1.6.3 保存數(shù)據(jù)包抓包操作結(jié)束后,可以把抓包的結(jié)果保存為一個文件存放在本地機器硬盤上。具體操作如下所示。1抓包完畢后,在如圖1.67所示界面中單擊Stop Capture按鈕停止抓包。2在EtherPeekNX的主界面中,選擇菜單FileSave All Packet保存所有抓到的數(shù)據(jù)包到本地硬盤上。如圖2.312所示。圖1.612 保存抓包的結(jié)果3出現(xiàn)如圖2.313所示界面,輸入保存的文件名后單擊保存。圖1.613 保存抓包的結(jié)果為pkt文

41、件1.6.4 分析數(shù)據(jù)包進行抓包操作的目的是對抓到的數(shù)據(jù)包進行分析,并對照相關(guān)的TCP/IP協(xié)議進行分析。以下以參照營賬接口協(xié)議分析從營賬接口上抓到的數(shù)據(jù)包為例。1查看營賬接口協(xié)議的定義以及相關(guān)參數(shù)含義。開戶消息SetCallChgReq定義的含義可以參見表2.41。表1.61 開戶消息SetCallChgReq的定義內(nèi)容名稱類型字節(jié)數(shù)說明消息頭Message LengthChar4消息長度,不包含消息頭長度,以0結(jié)束,注意要填16進制形式的字符,不要填成十進制形式的字符,例如該消息的消息體總共有55個字節(jié),在填寫該字段時應(yīng)該填成16進制形式的“37”,而不應(yīng)該填成10進制形式的“55”Com

42、mand IDChar2“00”SequenceNoChar10以0結(jié)束消息體User NumberChar21要求設(shè)置呼轉(zhuǎn)的手機號碼,以0結(jié)束CFType1Char1GSM的呼轉(zhuǎn)類型CFNA(1為設(shè)置,0為不設(shè)置)CFType2Char1GSM的呼轉(zhuǎn)類型CFU(1為設(shè)置,0為不設(shè)置)CFType3Char1GSM的呼轉(zhuǎn)類型CFB(1為設(shè)置,0為不設(shè)置)CFType4Char1GSM的呼轉(zhuǎn)類型CFNR(1為設(shè)置,0為不設(shè)置)CFType5Char1保留CF NumberChar21呼轉(zhuǎn)目的號碼,以0結(jié)束ReservedChar8保留消息的總長度為:4+2+10+21+1+1+1+1+1+21+

43、8 = 71 字節(jié)Command ID的定義可以參見表2.42。表1.62 Command ID的定義消息類型Command ID值說明SetCallChgReq“00”設(shè)置呼轉(zhuǎn)請求消息SetCallChgRsp“F0”設(shè)置呼轉(zhuǎn)響應(yīng)消息CancelCallChgReq“01”取消呼轉(zhuǎn)請求消息CancelCallChgRsp“F1”取消呼轉(zhuǎn)響應(yīng)消息OperateReportReq“02”呼轉(zhuǎn)操作回執(zhí)請求消息OperateReportRsp“F2”呼轉(zhuǎn)操作回執(zhí)響應(yīng)消息OpenServiceReq“08”開通漏話業(yè)務(wù)請求消息OpenServiceRsp“F8”開通漏話業(yè)務(wù)響應(yīng)消息CloseServi

44、ceReq“09”取消漏話業(yè)務(wù)請求消息CloseServiceRsp“F9”取消漏話業(yè)務(wù)響應(yīng)消息2如圖2.414所示是抓包的結(jié)果,在抓取的數(shù)據(jù)包中單擊一個數(shù)據(jù)包。此例中,雙擊長度為71 L的數(shù)據(jù)包。圖1.614 選中一個數(shù)據(jù)包3出現(xiàn)如圖2.415所示的數(shù)據(jù)包解碼界面,顯示該碼流的詳細信息。圖1.615 選中TCP的Data域選中的TCP的Data域中的碼流如下所示:33 37 00 06 30 30 30 30 30 36 30 30 30 37 00 00 38 36 31 33 33 33 33 31 31 38 31 36 32 00 00 00 00 00 00 00 00 30 30

45、 30 31 31 38 36 31 33 30 3130 31 38 30 33 39 38 00 00 00 00 00 00 00 00 4E 4F 54 45 58 49 53 54對照協(xié)議解碼結(jié)果如表2.43所示。表1.63 對照協(xié)議解碼結(jié)果名稱類型字節(jié)數(shù)碼流消息頭Message LengthChar433 37 00 06Command IDChar230 30 - 00 SetCallChgReqSequenceNoChar1030 30 30 36 30 30 30 37 00 00消息體User NumberChar2138 36 31 33 33 33 33 31 31 3

46、8 31 36 32 00 00 00 00 00 00 00 00CFType1Char130 - 0CFType2Char130 - 0CFType3Char130 - 0CFType4Char131 - 1CFType5Char131 - 1CF NumberChar2138 36 31 33 30 31 30 31 38 30 33 39 38 00 00 00 00 00 00 00 00ReservedChar84E 4F 54 45 58 49 53 54以下以參照SGIP協(xié)議分析抓到的數(shù)據(jù)包為例。1SGIP消息頭定義如表2.44所示。表1.64 SGIP消息頭定義字段長度(字節(jié)

47、)類型說明Message Length4Integer消息的總長度(字節(jié))Command ID4Integer命令I(lǐng)DSequence Number12Integer序列號2SGIP消息中,SubmitReq消息的消息體定義如表2.45所示。表1.65 SubmitReq消息的消息體定義字段長度(字節(jié))類型說明SPNumber21TextSP的接入號碼ChargeNumber21Text付費號碼,手機號碼前加“86”國別標志;當且僅當群發(fā)且對用戶收費時為空;如果為空,則該條短消息產(chǎn)生的費用由UserNumber代表的用戶支付;如果為全零字符串“000000000000000000000”,表示

48、該條短消息產(chǎn)生的費用由SP支付UserCount1Integer接收短消息的手機數(shù)量,取值范圍1至100UserNumber21Text接收該短消息的手機號,該字段重復(fù)UserCount指定的次數(shù),手機號碼前加“86”國別標志CorpId5Text企業(yè)代碼,取值范圍0-99999ServiceType10Text業(yè)務(wù)代碼,由SP定義FeeType1Integer計費類型FeeValue6Text取值范圍0-99999,該條短消息的收費值,單位為分,由SP定義對于包月制收費的用戶,該值為月租費的值GivenValue6Text取值范圍0-99999,贈送用戶的話費,單位為分,由SP定義,特指由S

49、P向用戶發(fā)送廣告時的贈送話費AgentFlag1Integer代收費標志,0:應(yīng)收;1:實收MorelatetoMTFlag1Integer引起MT消息的原因0-MO點播引起的第一條MT消息;1-MO點播引起的非第一條MT消息;2-非MO點播引起的MT消息;3-系統(tǒng)反饋引起的MT消息Priority1Integer優(yōu)先級0-9從低到高,默認為0ExpireTime16Text短消息壽命的終止時間,如果為空,表示使用短消息中心的缺省值。時間內(nèi)容為16個字符,格式為”yymmddhhmmsstnnp” ,其中“tnnp”取固定值“032+”,即默認系統(tǒng)為北京時間ScheduleTime16Text

50、短消息定時發(fā)送的時間,如果為空,表示立刻發(fā)送該短消息。時間內(nèi)容為16個字符,格式為“yymmddhhmmsstnnp” ,其中“tnnp”取固定值“032+”,即默認系統(tǒng)為北京時間ReportFlag1Integer狀態(tài)報告標記0-該條消息只有最后出錯時要返回狀態(tài)報告1-該條消息無論最后是否成功都要返回狀態(tài)報告2-該條消息不需要返回狀態(tài)報告3-該條消息僅攜帶包月計費信息,不下發(fā)給用戶,要返回狀態(tài)報告其它-保留缺省設(shè)置為0TP_pid1IntegerGSM協(xié)議類型。詳細解釋請參考GSM03.40中的.9TP_udhi1IntegerGSM協(xié)議類型。詳細解釋請參考GSM03.40中的.23,僅使用

51、1位,右對齊MessageCoding1Integer短消息的編碼格式。0:純ASCII字符串3:寫卡操作4:二進制編碼8:UCS2編碼15: GBK編碼其它參見GSM3.38第4節(jié):SMS Data Coding SchemeMessageType1Integer信息類型:0-短消息信息其它:待定MessageLength4Integer短消息的長度MessageContentMessage LengthText短消息的內(nèi)容Reserve8Text保留,擴展用3SGIP協(xié)議中,CommandID的定義如表2.46所示。表1.66 CommandID的定義消息ID名稱消息ID取值SGIP_BI

52、ND0x1SGIP_BIND_RESP0x80000001SGIP_UNBIND0x2SGIP_UNBIND_RESP0x80000002SGIP_SUBMIT0x3SGIP_SUBMIT_RESP0x80000003SGIP_DELIVER0x4SGIP_DELIVER_RESP0x80000004SGIP_REPORT0x5SGIP_REPORT_RESP0x800000054如圖2.416所示為抓包結(jié)果,根據(jù)數(shù)據(jù)包的源地址、目的地、端口號以及消息長度等信息可以判斷一條消息是否為SGIP消息,單擊選中并雙擊該數(shù)據(jù)包。圖1.616 選中SGIP數(shù)據(jù)包5得到碼流的詳細信息,如圖2.417所示。

53、單擊碼流并選中TCP的Data域。圖1.617 SGIP數(shù)據(jù)包對應(yīng)的碼流碼流信息如下所示:00 00 00 D0 00 00 00 03 B4 AB 23 63 47 A7 E6 BF 09 77 00 3F 31 30 30 38 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 38 36 31 33 33 32 33 30 36 33 38 32 38 00 00 00 00 00 00 00 00 01 38 36 31 33 33 32 33 30 36 33 38 32 38 00 00 00 00 00 00 00 00 31 34 35 39 35 4D 46 00 00 00 00 00 00 00 00 01 30 30 30 30 30 00 30 30 30 30 3000 00 02

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論