cap檔案格式分析

2021-03-04 09:44:41 字數 2518 閱讀 8055

分別使用sniffer軟體和utraedit軟體開啟乙個cap檔案

注意:這裡分析的***work.cap檔案不是sniffer軟體抓包產生的cap檔案,是其他軟體抓包的檔案,sniffer抓包的cap檔案與此相差很大,從最開始的4個位元組便可以看出。

提供的檔案格式分析如下。

對比發現:開始的24個位元組是檔案頭部分,接下來是抓獲到的資料報部分,包括16個位元組的資料頭和68個位元組的資料內容,資料部分重複出現。

資料內容從dlc(資料鏈路控制層)頭開始,然後ip報頭,傳輸層報頭(tcp\udp\icmp\igmp),最後是傳輸層資料部分

這裡每個資料報長度是68個位元組。

24個位元組的檔案頭部分:

說明:1 、標識位magic:3

2 位的,這個標識位的值是16 進製的0xa1b2c3d4。

2 、主版本號version_major :16位,預設值為0x2。返回寫入被開啟檔案所使用的pcap 函式的主版本號。

3 、副版本號version_minor :16位,預設值為0x04。

4 、區域時間thiszone :32 位,實際上該值並未使用,因此可以將該位設定為

0 。5 、精確時間戳sigfigs :32 位,實際上該值並未使用,因此可以將該值設定為

0 。6 、資料報最大長度snaplen:32 位,該值設定所抓獲的資料報的最大長度,如果所有資料報都要抓獲,將該值設定為65535;例如:

想獲取資料報的前64 位元組,可將該值設定為64 。這裡是0x44,表示資料報的前68位元組。

7 、鏈路層型別linktype:32位,資料報的鏈路層包頭決定了鏈路層的型別。這裡是0x01,表示鏈路層是乙太網型別。

以下是資料值與鏈路層型別的對應表

0 bsd loopback devices, except for later openbsd

1 ether***, and linux loopback devices 乙太網型別,大多數的資料報為這種類

型。6 802.5 token ring

7 ar**et

8 slip

9 ppp

10 fddi

100 llc/snap-encapsulated atm

101 raw ip, with no link

102 bsd/os slip

103 bsd/os ppp

104 cisco hdlc

105 802.11

108 later openbsd loopback devices (with the af_value in ***work byte order)

113 special linux cooked capture

114 localtalk

下面只對第乙個資料報分析,後面的資料報格式類似。

16位元組的資料報頭結構

說明:資料報頭內容依次是時間戳、當前資料報的長度和實際資料報的長度。

(1)時間戳,包括:

秒計時:32位,乙個unix 格式的精確到秒時間值,用來記錄資料報抓獲的時間,記錄方式是記錄從格林尼治時間的1970 年1 月1 日00:00:00 到抓包時經過

的秒數。這裡是0x51b2f9ee,經粗略計算可以得到當前年份是2023年,對應的月日分秒沒有去詳細計算。

毫秒計時:32 位,抓取資料報時的毫秒值。這裡是0x00028149。

(2)資料報長度:32位,標識所抓獲的資料報儲存在pcap 檔案中的實際長度,以位元組為單位。這裡是0x44,即有68個位元組,與檔案頭中規定的一致。

(3)資料報實際長度:所抓獲的資料報的真實長度,如果檔案中儲存不是完整的資料報,那麼這個值可能要比前面的資料報長度的值大。這裡是0x0214,表示有532個位元組。

可以肯定,每個資料報的資料報頭內容都不會相同,有些部分內容是相近的。

資料報內容

通常就是鏈路層的資料幀,長度就是caplen ,這個長度的後面,就是當前pcap 檔案中存放的下乙個packet 資料報,也就是說:pcap 檔案裡面並沒有規定捕獲的packet 資料報之間有什麼間隔字串,下一組資料在檔案中的起始位置,我們需要靠第乙個packet 包確定。最後,packet 資料部分的格式其實就是標準的網路協議格式了可以任何網路教材上找得到。

說明:這裡每個資料報的長度是68個位元組,包括14位元組的dlc,20位元組的ip報頭,以及後面的34位元組ip資料部分。

每個資料報的前14 位元組是以太幀頭,即鏈路層的資料幀頭,後面才是ip 首部等內容。對圖中選中部分簡要分析:

1、14位元組的以太幀頭:分別是6位元組的目的端mac位址,6位元組的源端mac位址,2位元組的協議型別字段。協議型別字段標註了跟隨資料的型別,最常見的有0x0800——ip資料報、0x0806——arp資料報、0x0835——rarp資料報,如果該字段的取值為0x0000-0x05dc(十進位制的0-1500),則該幀就不是ether***ii型別了,而是ieee802.

3幀型別之一。這裡協議型別是0x0800,表示後面的資料內容是ip資料報。

2、20位元組的ip報頭

3、後面的34位元組是ip報的資料部分,從ip報頭可以看出,資料部分是udp資料,也細分為udp報頭和udp資料部分。

消防檔案格式

單位消防基礎資料記錄 單位名稱 建檔日期年月 目錄1 單位基本情況 2 單位總平面圖 3 消防安全管理組織機構 4 重點單位及消防安全責任人 5 單位消防安全制度 6 消防設施 滅火器材基本情況 7 消防設施器材配置及管理登記明細表 8 消防設施定期檢查 檢測 維修保養記錄9 滅火和應急疏散預案 1...

消防檔案格式

單位消防基礎資料記錄 單位名稱 建檔日期年月 目錄1 單位基本情況 2 單位總平面圖 3 消防安全管理組織機構 4 重點單位及消防安全責任人 5 單位消防安全制度 6 消防設施 滅火器材基本情況 7 消防設施器材配置及管理登記明細表 8 消防設施定期檢查 檢測 維修保養記錄9 滅火和應急疏散預案 1...

投標檔案格式

報建編號 標段號 專案施工招標 投標檔案 投標人 單位公章 法定代表人或其委託 人 簽字或蓋章 年月日目錄 一 商務標 包括但不僅限於以下內容 一 投標承諾書 原件 投標函 原件 投標函附錄a 上海市建設工程施工投標標書情況彙總表 原件 投標函附錄b 原件 二 法定代表人證明 原件 授權委託書 原件...