TCP/IP協議資料包檔案PCAP分析器

來源:互聯網
上載者:User

標籤:

一、設計原理1.PCAP檔案構成

 

參考http://blog.csdn.net/gulu_gulu_jp/article/details/50494909

 

PCAP檔案由一個PCAP檔案頭和多個PCAP資料包組成,PCAP資料又由資料包頭和資料包內容組成。資料包內容才是我們將要進行分析還原的TCP/IP協議資料。PCAP總體結構 11所示:

 

圖 11 PCAP檔案總體結構

以TCP協議為例,詳細解析PCAP檔案格式。PCAP前24個位元組為檔案頭,包含了檔案資訊,其結構如圖 11所示。接著16個位元組為TCP協議資料包包頭,記錄這個包頭的一些資訊。再接著為協議資料包內容,長度不定,本例為TCP,其結構為:乙太網路幀、IP頭、TCP頭、資料域。如圖 12所示:

 

圖 12 PCAP檔案舉例

2.TCP/IP協議棧

電腦網路的各層及其協議的集合就構成了網路的體繫結構,即電腦網路及其構成所完成的精確定義。OSI參考模型 13所示,其中每個實體通常定義兩種不同的介面:一個是為同一電腦上使用它的通訊服務的其他上層實體定義的服務介面,簡稱服務;另一個是為另一台電腦上對等實體定義的對等介面,即協議。

 

 

圖 13 OSI參考模型

在實際應用中,OSI並沒有被採用,TCP/IP協議族才是實際的標準,如圖 14所示。鏈路層,TCP/IP協議族的最低層,也稱為網路介面層,通常包含作業系統中的裝置驅動程式和對應的網路介面卡,對應於OSI參考模型中的資料連結層和物理層。網路層,也稱為互連網層,由於該層的主要協議為IP,通常也簡稱為IP層。傳輸層,通常所說的兩台電腦之間的通訊其實是指兩台電腦上對應的應用程式之間的資料通訊,傳輸層提供的就是應用程式間的通訊,一般也稱為端到端的通訊。應用程式層向使用者提供一組常用的應用程式。

 

圖 14 TCP/IP協議族

3.各個協議格式

本設計將實現對ARP、IPv4、ICMP、UDP、DHCP等協議進行實際解包分析。

ARP資料包格式如圖 15所示:

圖 15 ARP資料包格式

IPv4資料包格式如圖 16所示:

 圖 16 IPv4資料包格式

ICMP資料包格式如圖 17所示:

圖 17 ICMP資料包格式

UDP資料包格式如圖 18所示:

 圖 18 UDP資料包格式

DHCP資料包格式如圖 19、圖 20所示:

圖 19 DHCP資料包結構

圖 20  DHCP資料包格式

二、設計方案及實現1.整體架構

PCAP檔案分析器由3個包實現,分別是com.qiusongde.packet、com.qiusongde.pacpparser、com.qiusongde.UI,如圖 21所示:

 

圖 21 PCAP檔案分析器代碼架構

在com.qiusongde.UI這個包中:MyUI類主要實現使用者互動介面,實現選擇檔案,根據檔案路徑建立輸入資料流InputStream,並展示分析結果;ExtensionFileFilter類實現檔案過濾器,只能開啟PCAP檔案。

在com.qiusongde.pcapparser這個包中:Pcappparser類主要根據圖 11、圖 12實現讀取PCAP檔案並轉換成相應的資料結構Pcap、PcapHeader、PcapData,方便後邊進行分析,ProtocolJudge類根據圖 14判斷其協議類型。

com.qiusongde.packet這個包主要根據圖 15、圖 16、圖 17、圖 18、圖 19、圖 20、圖 21,實現對轉換後的PCAP等資料結構進行分析。

整體互動 22如所示:

 

圖 22 整體互動

2.介面

主介面, 23所示,左邊表格將用來顯示PCAP檔案中包含的網路資料簡介,右邊的兩個文字框將分別用來展示原網路資料和分析後的詳細資料。

圖 23 主介面

檔案選取器, 24所示,讓使用者自由瀏覽並選擇要開啟的PCAP檔案。

圖 24 檔案選取器

開啟相應的PCAP檔案後,左邊表格添加相應的項,用來顯示PCAP檔案中攜帶的網路資料,如圖 25。

 

圖 25  表格介面

選中相應的表格行之後,將在右邊的文字框顯示分析結果,並以16進位格式顯示原網路資料,如圖 26所示。

 

圖 26 文字框介面

三、原始碼資料及說明文檔

http://download.csdn.net/detail/sdzuiaidanpianji/9602633

TCP/IP協議資料包檔案PCAP分析器

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.