# 第?6?章?處理已經捕捉的包
**目錄**
+ [6.1\. 瀏覽您捕捉的包](http://man.lupaworld.com/content/network/wireshark/chek_packet.html#c6.1)
+ [6.2\. 彈出菜單項](#calibre_link-107)
+ [6.2.1\. 包列表面板的彈出菜單](http://man.lupaworld.com/content/network/wireshark/c6.2.html#c6.2.1)
+ [6.2.2\. 包詳情面板的彈出菜單](http://man.lupaworld.com/content/network/wireshark/c6.2.html#c6.2.2)
+ [6.3\. 瀏覽時過濾包](#calibre_link-4)
+ [6.4\. 建立顯示過濾表達式](#calibre_link-98)
+ [6.4.1\. 顯示過濾字段](http://man.lupaworld.com/content/network/wireshark/c6.4.html#c6.4.1)
+ [6.4.2\. 比較值](http://man.lupaworld.com/content/network/wireshark/c6.4.html#c6.4.2)
+ [6.4.3\. 組合表達式](http://man.lupaworld.com/content/network/wireshark/c6.4.html#c6.4.3)
+ [6.4.4\. 常見的錯誤](http://man.lupaworld.com/content/network/wireshark/c6.4.html#c6.4.4)
+ [6.5\. “Filter Expression/過濾表達式”對話框](#calibre_link-99)
+ [6.6\. 定義,保存過濾器](#calibre_link-1)
+ [6.7\. 查找包](#calibre_link-0)
+ [6.7.1\. 查找包對話框](http://man.lupaworld.com/content/network/wireshark/c6.7.html#c6.7.1)
+ [6.7.2\. "Find Next/查找下一個"命令](http://man.lupaworld.com/content/network/wireshark/c6.7.html#c6.7.2)
+ [6.7.3\. "Find Previous/查找上一個"命令](http://man.lupaworld.com/content/network/wireshark/c6.7.html#c6.7.3)
+ [6.8\. 到指定的包](#calibre_link-2)
+ [6.8.1\. "GO Back"返回命令](http://man.lupaworld.com/content/network/wireshark/c6.8.html#c6.8.1)
+ [6.8.2\. "Go Forward /向前"命令](http://man.lupaworld.com/content/network/wireshark/c6.8.html#c6.8.2)
+ [6.8.3\. "Go to Packet/到指定的包"對話框](http://man.lupaworld.com/content/network/wireshark/c6.8.html#c6.8.3)
+ [6.8.4\. "Go to Corresponding Packet/到對應的包"命令](http://man.lupaworld.com/content/network/wireshark/c6.8.html#c6.8.4)
+ [6.8.5\. "Go to Firest Packet/到第一個包"命令](http://man.lupaworld.com/content/network/wireshark/c6.8.html#c6.8.5)
+ [6.8.6\. "Go to Last Packet/到最后一個包"命令](http://man.lupaworld.com/content/network/wireshark/c6.8.html#c6.8.6)
+ [6.9\. 標記包](#calibre_link-82)
+ [6.10\. 時間顯示格式及參考時間](#calibre_link-85)
+ [6.10.1\. 包參考時間](http://man.lupaworld.com/content/network/wireshark/c6.10.html#c6.10.1)
## 6.1.?瀏覽您捕捉的包
在你已經捕捉完成之后,或者打開先前保存的包文件時,通過點擊包列表面版中的包,可以在包詳情面板看到關于這個包樹狀結構以及字節面版
通過點擊左側"+"標記,你可以展開樹狀視圖的任意部分。你可以在面板點擊任意字段來選擇它。例如:在下圖[圖?6.1 “Wireshark選擇了一個TCP包后的界面”](http://man.lupaworld.com/content/network/wireshark/chek_packet.html#fig6.1 "圖?6.1.?Wireshark選擇了一個TCP包后的界面")顯示的就是選中TCP字段。同樣可以選擇TCP包頭的應答號(ack:190),同時會出現在下方的字節瀏覽面版中。[[16](#calibre_link-108)]
**圖?6.1.?Wireshark選擇了一個TCP包后的界面**

在Wireshark正在捕捉時,您也可以進行同樣的選擇。(前提是您在捕捉選項對話框選擇了實時更新列表(update list of packet in real time ))
另外,您可以使用分離的窗口瀏覽單獨的數據包,見[圖?6.2 “在分離窗口瀏覽包”](http://man.lupaworld.com/content/network/wireshark/chek_packet.html#fig6.2 "圖?6.2.?在分離窗口瀏覽包") ,想要這樣做,你只需要在選中包列表面版中您感興趣的包,菜單 Display->Show Packet in New Windows 。它可以讓你很輕松地比較兩個或多個包。
**圖?6.2.?在分離窗口瀏覽包**

[[16](#calibre_link-109)] 不甚了解下方的16進制轉儲怎么表達190的
## 6.2.?彈出菜單項
在包列表面板,包詳情面板,包字節面板點擊右鍵,都會出現對應的上下文彈出菜單
### 6.2.1.?包列表面板的彈出菜單
**圖?6.3.?包列表面板彈出菜單**

下表列出了該面版可用彈出菜單項的概述,主菜單能實現同樣功能的菜單項,以及簡短的描述。
**表?6.1.?包列表彈出菜單項**
| 項目 | 對應主菜單項 | 描述 |
| --- | --- | --- |
| **Mark Packet(toggle)** | Edit | 標記/取消標記包 |
| **Set Time Reference(toggle)** | Edit | 設置/重設時間參考 |
| **Apply as Filter** | Analyze | 用當前選中的項作為過濾顯示 |
| **Prepare a Filter** | Analyze | 準備將當前選擇項作為過濾器 |
| **Conversation Filter** | - | 將當前選擇項的地址信息作為過濾設置。選中該選項以后,會生成一個顯示過濾,用于顯示當前包兩個地址之間的會話(不分源目標地址)。(XXX - add a new section describing this better.---作者似乎建議添加新章節詳細描述) |
| **STCP** | - | 有待補充 |
| **Follow TCP Stream** | Analyze | 瀏覽兩個節點間的一個完整TCP流所有數據 |
| **Follow SLL Stream** | Analyze | 同上,將TCP替換成SSL理解 |
| **Copy/Summary(TEXT)** | - | 將摘要字段復制到剪貼板。(以tab分開的文本) |
| **Copy/Summary(CVS)** | - | 將摘要字段復制到剪貼板,(CVS格式,逗號分開) |
| **Copy/As Filter** | - | 以當前選擇項,建立一個顯示過濾器,復制到剪貼板 |
| **Copy/Bytes(Offset Hex Text)** | - | 以16進制轉儲格式將包字節復制到剪貼板。 |
| **Copy/Bytes(Offset Text)** | - | 以16進制轉儲格式將包字節復制到剪貼板。不包括文本部分。 |
| **Copy/ Bytes (Printable Text Only)** | - | 以ASCII碼格式將包字節復制到剪貼板,包括非打印字符。 |
| **Copy/ Bytes (HEX Stream)** | - | 以16進制未分段列表數字方式將包字節復制到剪貼板,(an unpunctuated list of hex digits 應該有專有名詞,有興趣的查一下) |
| **Copy/ Bytes (Binary Stream)** | - | 以raw binary格式將包字節復制到剪貼板。數據在剪貼板以"MIME-type application/octet-stream"存儲,該功能在GTK+1.x環境下不支持 |
| **Export Selected Packet Bytes...** | File | 與文件菜單同名項目功能一樣。允許將Raw packet 字節轉換為二進制文件它 |
| **Decode As...** | Analyze | 在兩個解析之間建立或修改新關聯(不知所云) |
| **Print...** | File | 打印包 |
| **Show Packet in New Window** | View | 在新窗口顯示選中的包 |
### 6.2.2.?包詳情面板的彈出菜單
**圖?6.4.?包詳情面板彈出上下文菜單項**

下表介紹了包詳情列表菜單項的功能描述,及其他可以提供該功能的主菜單
**表?6.2.?包詳情面板彈出上下文菜檔項**
| 項目 | 對應的主菜單 | 描述 |
| --- | --- | --- |
| **Expand Subtrees** | View | 展開當前選擇的子樹 |
| **Expand All** | View | 展開捕捉文件的所有包的所有子樹 |
| **Collapse All** | View | 關閉包中所有已展開的子樹 |
| **Copy/Description** | - | 復制選擇字段顯示的文本到剪貼板 |
| **Copy/AS Filter** | Edit | 將選擇項目作為顯示過濾內容復制到剪貼板 |
| **Copy/Bytes(Offset Hex Text)** | - | 將包字節以Hexdump-like格式存儲到剪貼板;類似于包列表面板中同名的命令,但是拷貝結果僅僅是樹分支中被選中部分(包字節面板中被選中字節) |
| **Copy/Bytes(Offset Hex)** | - | 以Hexdump-linke格式保存到剪貼,不包括文本部分。類似于包列表命令,不同之處在于此處僅拷貝樹分支選中部分(包字節面板選中部分) |
| **COPY/Bytes (printable Text Only)** | - | 以ASCII格式拷貝包字節,非打印字符除外;類似于包列表面板中同樣的命令。不同點在于此處僅拷貝選擇的樹分支(包字符被選擇部分) |
| **Copy/Bytes(Hex Stream)** | - | j以unpunctuated list hex digits形式保存到剪貼板,類似于包列表面板中的命令,不同之處在于僅復制選中子樹部分(包字節面板選中部分) |
| **Copy/Bytes(Binary Stream)** | - | 以raw binary格式拷貝到剪貼板;類似于包列表面板中的命令,不同之處在于僅拷貝選中部分子樹(包字節面板選中部分)。數據以MIME-type“Application/octet-stream”存儲在剪貼板.該功能在GTK+1.x下不可用 |
| **Export Selected Packet Bytes...** | File | 同文件菜單中的同名項一樣。導出raw packet 字節為二進制文件。 |
| **Apply as Filter** | analyze | 將當前選擇項作為過濾內容,并應用 |
| **Preapare a Filter** | Analyze | 將當前選擇項作為過濾內容,但不立即應用 |
| **Follow TCP Stream** | Analyze | 追蹤兩個節點見,被選擇包所屬TCP流的完整數據 |
| **Follow SSL Stream** | Analyze | 同上 |
| **Wiki Protocol Page** | - | 顯示當前選擇協議的對應WIKI網站協議參考頁 |
| **Filter Field Reference** | - | 顯示當前過濾器的WEB參考 |
| **Protocol Preferences...** | - | 如果協議字段被選中,點擊該選項,打開屬性對話框,選擇對應協議的頁面,??? |
| **Decode As...** | Analyze | 更改或應用兩個解析器之間的關聯(什么鳥意思?) |
| **Resolve Name...** | View | 對選擇的包進行名稱解析,不是指所有的包 |
| **Go to corresponding Packet ...** | Go | 跳到當前選擇包的相應包。 |
TNND,表格讓人崩潰
## 6.3.?瀏覽時過濾包
Wireshark有兩種過濾語法:一種是捕捉包時使用,另一種是顯示包時使用。本節介紹第二種過濾語法:顯示過濾。第一種過濾語法在[第?4.8?節 “捕捉時過濾”](#calibre_link-53 "4.8.?捕捉時過濾")提到
顯示過濾可以隱藏一些你不感興趣的包,讓你可以集中注意力在你感興趣的那些包上面。你可以用從以下幾個方面選擇包:
* 協議
* 預設字段
* 字段值
* 字段值比較
* 。。。以及許多
根據協議類型選擇數據報,只需要在**Filter**框里輸入你剛興趣的協議,然后回車開始過濾。???顯示了你輸入tcp進行過濾后的圖。
**圖?6.5.?用TCP協議過濾**

或許你沒有注意到,上圖顯示的已經僅有TCP協議了(從圖中可以看到1-10號包已經被隱藏)。因為包的編號是固定不變的,所以第一個包顯示的編號是11。
> 
> 注意
> 當你使用過濾時,所有的包依然保留在捕捉文件里。顯示過濾只是更改捕捉文件的顯示方式而非內容。
你只能對Wireshark可以識別的協議進行過濾。你也可以對解析器已經添加到樹視圖的字段進行過濾,但僅限于解析器已經為字段加上了協議縮寫的。在**Add Expression...**對話框可以看到可用的字段列表.詳見[第?6.5?節 ““Filter Expression/過濾表達式”對話框”](#calibre_link-99 "6.5.?“Filter Expression/過濾表達式”對話框")
例如:想要限制包列表面板僅顯示來自或指向192.168.0.1的包,可以使用**ip.addr==192.168.0.**
> 
> 注意
> 點擊**Clear**可以移除過濾
## 6.4.?建立顯示過濾表達式
Wireshark提供了簡單而強大的過濾語法,你可以用它們建立復雜的過濾表達式。你可以比較包中的值,合并表達式為多個指定表達式。本節介紹了相關操作。
> 
> 提示
> 你可以在Wireshark Wiki Display頁找到發現大量的顯示過濾范例。[http://wiki.wireshark.org/DisplayFilters.](http://wiki.wireshark.org/DisplayFilters)
### 6.4.1.?顯示過濾字段
包詳情面板的每個字段都可以作為過濾使用。應用這些作為過濾將會僅顯示包含該字段的包。例如:過濾字符串:TCP將會顯示所有包含TCP協議的包。
通過"Help/Support Protocals"/幫助/協議支持菜單項訪問"Display Filter Fields/顯示過濾字段"可以查看完整完整的過濾字段列表。
### 6.4.2.?比較值
你可以通過在許多不同的比較操作建立比較過濾。詳見[表?6.3 “顯示濾鏡比較操作符”](#calibre_link-101 "表?6.3.?顯示濾鏡比較操作符")
> 
> 提示
> 你可以使用下表中的英語和比較符(c-link)項達到同樣的效果,它們也可以混合使用。
**表?6.3.?顯示濾鏡比較操作符**
| English | C-linke | 描述及范例 |
| --- | --- | --- |
| eq | == | **Equal** `ip.addr==10.0.0.5` |
| ne | != | **Not equal** `ip.addr!=10.0.0.5` |
| gt | > | **Greate than** `frame.pkt_len>10` |
| lt | < | **Less than** `frame.pkt_len<128` |
| ge | >= | **Greater than or equal to** `frame.pkt_len >= 0x100` |
| le | <= | **Equal** `frame.pkt_len <= 0x20` |
### 6.4.3.?組合表達式
你可以用邏輯操作符將過濾表達式組合在一起使用,見[表?6.4 “顯示過濾的邏輯操作符”](#calibre_link-102 "表?6.4.?顯示過濾的邏輯操作符")
**表?6.4.?顯示過濾的邏輯操作符**
| English | C-linke | 描述和范例 |
| --- | --- | --- |
| and | && | **Logical AND** `ip.addr==10.0.0.5 and tcp.flags.fin` |
| or | || | **Logical OR** `ip.addr==10.0.0.5 or ip.addr==192.1.1.1` |
| xor | ^^ | **Logical XOR** `tr.dst[0:3] == 0.6.29 xor tr.src[0:3] == 0.6.29` |
| not | ! | **Logical Not** `not llc` |
| | [...] | **Substring Operator** Wireshark允許選擇一個序列的子序列。在標簽后你可以加上一對[]號,在里面包含用逗號(是不是冒號?)分離的列表范圍。 |
| | | `eht.src[0:3] == 00:00:83` |
| | | 上例使用n:m格式指定一個范圍。在這種情況下,n是起始位置偏移(0表示沒有偏移,即是第一位,同理1表示向右偏移一位,便是第二位),m是從指定起始位置的區域長度。 |
| | | `eth.src[1-2] == 00:83` |
| | | 上例使用n-m格式一個范圍。在本例中n表示起始位置偏移,m表示終止位置偏移 |
| | | `eth.src[:4]=00:00:83:00` |
| | | 上例使用:m格式,表示從起始位置到偏移偏移位置m。等價于0:m |
| | | `eth.src[4:]=20:20` |
| | | 上例使用n:格式,表示從最后位置偏移n個序列 |
| | | `eht.src[2] == 83` |
| | | 上例使用 n 形式指定一個單獨的位置。在此例中中序列中的單元已經在偏移量n中指定。它等價于n:1 |
| | | `eth.src[0:3,102,:4,4:,2] == 00:00:83:00:83:00:00:83:00:20:20:83` |
| | | Wireshark 允許你將多個分號隔開的列表組合在一起表示復合區域,如上例所示 |
### 6.4.4.?常見的錯誤
> 
> 警告
> 在組合表達式中使用"!="操作符,像eth.addr,ip.addr,tcp.port,udp.port等元素可能會產生非預期效果
經常有人用**ip.addr ==1.2.3.4** 表達式來選擇所有包含ip地址為1.2.3.4的包,
如果有人想用**ip.addr !=1.2.3.4** 表達式來排除ip地址為1.2.3.4的包,很不幸。它不會像你期待的那樣。
相反,那個表達式為真值得條件是源地址或目標地址中的任意一個不等于1.2.3.4即可。因此,那個表達式**ip.addr !=1.2.3.4** 可以被讀作:"該包包含的ip字段值必須不為1.2.3.4"。因為一個ip數據報同含源地址和目標地址,只要兩個地址有一個不為1,2,3,4表達式就為真。
接著上面的話題,如果你真想過濾捕捉文件中,ip地址包含1.2.3.4的包,正確的表達式應該是**!(ip.addr==1.2.3.4)**。它可以讀作:"顯示所有**'字段名為ip.addr值存在1.2.3.4'**為非真的包'",換句話說:"篩選所有**字段名ip.addr的值中未出現1.2.3.4**的包"
## 6.5.?“Filter Expression/過濾表達式”對話框
當你熟悉Wireshark過濾系統,并了解你可以用那些標簽進行過濾以后,你可以快速簡單地輸入過濾字符
但如果你是一個Wireshark新手,或者處理一些相對陌生的協議,你可能很難通過直接輸入字符進行過濾。過濾表達式對話框會幫你解決這些問題
> 
> 提示
> 過濾表達式對話框是學習輸入表達式的不錯的工具。(不知道用不錯是不是有點委屈)
**圖?6.6.?過濾表達式對話框**

打開上圖的對話框以后。將會顯示一個按協議類型分組的樹分支列表,一個關系選擇框。
Field Name
從協議字段樹中選擇協議字段。每個可過濾協議都放在第一級。點擊+號展開列表,可以獲得關于那些協議的可過濾字段。
Relation
從可用關系列表中選擇關系。**is present**是一元關系,表示如果你選擇的字段存在,表達式就為真值。其它關系都為二元關系,需要附加數據(例如:一個值來匹配)來完成。
如果你從字段名列表選擇一個字段,并選擇一個二元關系(例如等于關系"=="),你可能需要輸入值,也有可能是范圍信息。
Value
在此輸入合適的配置值,輸入的值同樣要符合你選擇的**field name**的屬性值類型(例如 字符串).
Predefined values
有些協議字段包含預設值可用,這一點跟C語言中的枚舉變量類似。如果選擇的協議有這樣的值定義,你可以在此選擇。
Range
**此處作者留空了**
OK
如果你已經建立好了表達式,點擊OK即可創建你的過濾字符串
Cancel
你可以點擊**Cancle**按鈕不做任何修改離開Add Expression。。。對話框。
## 6.6.?定義,保存過濾器
你可以定義過濾器,并給他們標記以便以后使用。這樣可以省去回憶、重新輸入某些你曾用過的復雜過濾器的時間。
定義新的過濾器或修改已經存在的過濾器有兩種方法:1、在Capture 菜單選擇**Capture Filters...**;2、在Analyze菜單選擇**Display filter...**。Wireshark 將會彈出如[圖?6.7 “"捕捉過濾器"和"顯示過濾器"對話框”](#calibre_link-154 "圖?6.7.?"捕捉過濾器"和"顯示過濾器"對話框")所示話框。
> 
> 注意
> 因為捕捉和顯示濾鏡的設定義和保存方式幾乎完全一樣。所以這里放在一起講,二者之間的不同點會做標記
> 
> 警告
> 你必須用**Save**來保存你的過濾器,**OK**或者**Apply**不會保存過濾器。關閉wireshark時會隨之消失
**圖?6.7.?"捕捉過濾器"和"顯示過濾器"對話框**

New
增加一個新的過濾器到列表中。當前輸入的Filter name,Filter string值將會被使用。如果這些都為空,將會被設置為"new"(是說filtername還是說二者都是?)
Delete
刪除選中的過濾器。如果沒有過濾器被選中則為灰色
Filter name
修改當前選擇的過濾器的名稱
> 
> 注意
> 過濾器名稱僅用在此處為了區分方便而已,沒有其他用處。你可以將多個過濾器使用同一個名稱,但這樣會很不方便
Filter string
修改當前選中過濾器的的內容。僅適用顯示過濾:在輸入時進行語法檢查。
Add Expression
僅適用顯示過濾:打開增加表達式對話框,輔助創建過濾表達式。詳見[第?6.5?節 ““Filter Expression/過濾表達式”對話框”](#calibre_link-99 "6.5.?“Filter Expression/過濾表達式”對話框")
OK
僅適用顯示過濾:為當前顯示應用選擇的過濾器,關閉當前對話框。
save
保存當前對話框設置。文件位置和格式見???
Close
關閉當前對話框。將會放棄未保存的設置。
## 6.7.?查找包
當你捕捉到一些包以后,或者讀取以前存儲的包的時候,可以很容易的進行查找。從**Edit**菜單選擇**Find Packet...**菜單項.Wireshark將會彈出[圖?6.8 “"Find Packet/查找包"對話框”](#calibre_link-3 "圖?6.8.?"Find Packet/查找包"對話框")所示對話框.
### 6.7.1.?查找包對話框
**圖?6.8.?"Find Packet/查找包"對話框**

首先你需要選擇查找方式:
Display filter
在Filter:輸入字段,選擇查找方向,點擊OK(過濾器方式)
例如:查找192.168.0.1發起的三步握手建立連接,使用如下字符:
```
ip.addr == 192.168.0.1 and tcp.flags.syn
```
顯示過濾的詳情,參見[第?6.3?節 “瀏覽時過濾包”](#calibre_link-4 "6.3.?瀏覽時過濾包")
Hex Value
在包數據中搜索指定的序列
例如,使用"00:00"查找下一個包含兩個空字節的包數據。
String
在包中查找字符串,可以指定多種參數
輸入的查找值將會被進行語法檢查。如果語法檢查無誤,輸入框背景色會變成綠色,反之則是紅色。
你可以指定查找的方向通過:
UP
向上查找包列表(包編號遞減方式)
Down
向下查找包列表(包編號遞增方式)
### 6.7.2.?"Find Next/查找下一個"命令
適用最后一次的查找設置繼續查找
### 6.7.3.?"Find Previous/查找上一個"命令
適用最后一次的設置修改查找方向,繼續查找。
## 6.8.?到指定的包
通過"Go"菜單可以很輕松跳轉到指定的包
### 6.8.1.?"GO Back"返回命令
使用Go back返回包歷史記錄,工作方式跟web瀏覽器的頁面歷史記錄類似
### 6.8.2.?"Go Forward /向前"命令
前進到包的歷史記錄,工作方式跟web瀏覽器的頁面歷史記錄類似
### 6.8.3.?"Go to Packet/到指定的包"對話框
**圖?6.9.?"GO to packet/轉到指定包"對話框**

輸入包的編號,點擊OK,跳轉到指定的包(他媽的我怎么看都是jump to,怎么成了OK?).
### 6.8.4.?"Go to Corresponding Packet/到對應的包"命令
如果被選擇協議字段指向文件中的另一個包,該命令將會跳轉到那個包。
> 
> 注意
> 該協議字段看起來有點像超鏈接(就像瀏覽器里的),雙擊該字段也可以跳轉到對應的包。
### 6.8.5.?"Go to Firest Packet/到第一個包"命令
跳到第一個包
### 6.8.6.?"Go to Last Packet/到最后一個包"命令
跳到最后一個包
## 6.9.?標記包
你可以在包列表面板對包進行標記。被標記的包背景色為黑色,不管原來設置的顏色是怎樣的。標記包有助于分析大的包文件時進行查找。
> 
> 警告
> 包標記并沒有存儲在捕捉文件中或任何其他地方,關閉文件后,所有標記將會丟失。
在保存/導出/打印包時,你可以使用包標記控制輸出包。標記包以后,可以輸出進行區間選擇。見[第?5.8?節 “包范圍選項”](#calibre_link-106 "5.8.?包范圍選項")
對標記包可以進行三項操作
* **Mark packet(toggle)** 凍結以標記的單個包
* **Mark all packets** 標記所有包.
* **Unmark all packets** 取消所有標記
這些標記功能出現在"Edit"菜單。“Mark packet(toggle)”功能在彈出包列表面板彈出上下文菜單同樣可以找到。
## 6.10.?時間顯示格式及參考時間
在捕捉包的過程中,每個包都帶有時間戳。時間戳會被保存在捕捉文件中,以備將來分析用。
關于時間戳,時區以及相關的東西的描述介紹,見[第?7.3?節 “時間戳”](#calibre_link-120 "7.3.?時間戳")
包列表的時間戳格式預設和精度可在瀏覽菜單選擇,見[第?3.5?節 “"File"菜單”](#calibre_link-29 "3.5.?"File"菜單")
可用的預置格式如下:
* **Date and Time of Day: 1970-01-01 01:02:03.123456** 包捕捉的絕對日期和時間
* **Time of Day: 01:02:03.123456** 包捕捉的絕對時間
* **Seconds Since Beginning of Capture: 123.123456** 相對與文件開始捕捉的時間或第一個時間參考包的 到這個包之前的時間。(見[第?6.10.1?節 “包參考時間”](#calibre_link-83 "6.10.1.?包參考時間"))
* **Seconds Since Previous Captured Packet: 1.123456** 相對前一個捕捉包的時間
* **Seconds Since Previous Displayed Packet: 1.123456** 相對前一個顯示包的時間(過濾/顯示)
可用精度(正如你所致的,數字是以10進制形式的)有:
* **Automatic** 使用載入文件格式具有的時間戳精度。(默認選項)
* **Seconds, Deciseconds, Centiseconds, Milliseconds, Microseconds or Nanoseconds** 強制使用你指定的精度。如果實際精度比你指定的低,會在后面自動追加0.如果實際精度比你指定的高。數據會被截尾。
精度距離:如果你有個時間戳,顯示時使用:“Seconds Since Previous Packet”,:它的值可能是1.123456.默認會采用"Automatic"精度設置,也就是來自libpcap格式文件的固有精度(百萬分之一秒)。如果你指定精度為秒,則顯示為1,如果你使用。納秒(nanoseconds),將會顯示為1.123456000.
### 6.10.1.?包參考時間
用戶可以為包設置時間參考。時間參考是所有后續包的起算時間。如果你想知道到某一個特定包的時間間隔,會很有用。例如:開始一個新請求。可以在一個包里面設置多個參考時間。
> 
> 警告
> 時間參考不能保存到包文件中,關閉文件后就會丟失。
> 
> 注意
> 時間參考可能僅僅在時間格式為"Seconds Since Beginning of Capture"模式下比較有用。其他時間顯示形式下可能要么是不能工作,要么是沒作用。
要使用時間參考,選擇Edit菜單下“Time Reference”項中的一個。詳見[第?3.6?節 “"Edit"菜單”](#calibre_link-30 "3.6.?"Edit"菜單"),或者從包列表的右鍵彈出項選擇。
* **Set Time Refernce(toggle)** 切換當前包時間參考狀態開關
* **Find Next** 在包列表面板查找下一個時間參考包
* **Find Previous** 在包列表面板查找前一個時間參考包
**圖?6.10.?時間參考舉例**

作為時間參考的包,在time列會有*REF*字符串作為標記(見上圖第10個包)。所有后續包都會用最后一個時間參考來顯示時間。