實驗二 IP報文的捕獲與分析
——實驗報告
一、實驗目的
(1)掌握IP協議報文格式。
(2)對捕捉到的包進行IP分析。
二、實驗內容
用Wireshark過濾出IP數據包,查看並分析具體的IP包的內容。
三、實驗原理
1、wireshark簡介
Wireshark(前稱Ethereal)是一個網絡封包分析軟件。網絡封包分析軟件的功能是擷取網絡封包,並盡可能顯示出最為詳細的網絡封包資料。在GNUGPL通用許可證的保障范圍底下,使用者可以以免費的代價取得軟件與其程式碼,並擁有針對其源代碼修改及客制化的權利。Ethereal是目前全世界最廣泛的網絡封包分析軟件之一。
Wireshark可以幫助網絡管理員檢測網絡問題,幫助網絡安全工程師檢查資訊安全相關問題,開發者使用Wireshark來為新的通訊協議除錯,普通使用者使用Wireshark來學習網絡協定的相關知識當然,有的人用它來尋找一些敏感信息
Wireshark不是入侵偵測軟件(Intrusion DetectionSoftware,IDS)。對於網絡上的異常流量行為,Wireshark不會產生警示或是任何提示。然而,仔細分析Wireshark擷取的封包能夠幫助使用者對於網絡行為有更清楚的了解。Wireshark不會對網絡封包產生內容的修改,它只會反映出目前流通的封包信息,它也不會送出封包至網絡上
2、IP數據報格式
IP數據報TCP/IP協議定義了一個在因特網上傳輸的包,稱為IP數據報(IP Datagram)。這是一個與硬件無關的虛擬包,由首部和數據兩部分組成。首部的前一部分是固定長度,共20字節,是所有IP數據報必須具有的。在首部的固定部分的后面是一些可選字段,其長度是可變的。首部中的源地址和目的地址都是IP協議地址。IP數據包格式如圖1所示。
圖1 IP報文格式
上網查找資料,整理如下更詳細更易懂的IP報文格式與字段含義:
| IP協議 |
||||||
| 偏移量 |
0~3 |
4~7 |
8~15 |
16~18 |
19~31 |
|
| 0 |
版本 |
首部長度 |
服務類型 |
總長度 |
||
| 32 |
標識符 |
標識 |
分段偏移 |
|||
| 64 |
存活時間 |
協議 |
首部校驗和 |
|
||
| 96 |
源IP地址 |
|||||
| 128 |
目的IP地址 |
|||||
| 160 |
選項 |
|||||
| 160或192+ |
數據 |
|||||
| IP報文字段 |
含義 |
| 版本 |
指 IP 協議所使用的版本。通信雙方使用的 IP 協議版本必須一致。如 IPv4,IPv6 |
| 首部長度 |
IP 的首部長度,可表示的最大十進制數值是 15。注意:該字段所表示的單位是 32 位字長(4 個字節)。因此,當 IP 首部長度為 1111(即十進制的 15) 時,首部長度就達到 60 字節。當 IP 分組的首部長度不是 4 字節的整數倍時,必須利用最后的填充字段加以填充 |
| 服務類型 |
8位,優先級標志位和服務類型標志位,被路由器用來進行流量的優先排序。 |
| 總長度 |
指 IP 首部和數據報中數據之后的長度,單位為字節。總長度字段為 16 位, 因此數據報的最大長度為 216-1=65535 字節 |
| 標識符 |
一個唯一的標識數字,用來識別一個數據報或者被分片數據包的次序 |
| 標識 |
用來標識一個數據報是否是一組分片數據報的一部分。標志字段中的最低位記為 MF(More Fragment)。MF=1 即表示后面“還有分片”的數據報。MF=0 表 示這已是若干數據包分片中的最后一個。標志字段中間的一位記為 DF(Don't Fragment),即“不能分片”;只有當 DF=0 時,才允許分片 |
| 分段偏移 |
一個數據報是一個分片,這個域中的值就會被用來將數據報以正確的順 序重新組裝 |
| 存活時間 |
用來定義數據報的生存周期,以經過路由器的條數/秒數進行描述 |
| 協議 |
用來識別在數據包序列中上層協議數據報的類型。如,ICMP則協議值為1,TCP協議值為6,UDP協議值為17 |
| 首部校驗和 |
一個錯誤檢測機制,用來確認 IP 首部的內容有沒有被損壞或者篡改 |
| 源IP地址 |
發出數據報的主機的 IP 地址 |
| 目的IP地址 |
數據報目的地的 IP 地址 |
| 選項 |
保留作額外的 IP 選項。它包含着源站選路和時間戳的一些選項 |
| 數據 |
使用 IP 傳遞的實際數據 |
四、實驗環境
交換式網絡、Windows操作系統,Wireshark網絡抓包工具。
五、實驗內容步驟與結果
1、熟悉wireshark軟件的常用操作
(1)學習捕捉包的開始和停止。
n 啟動程序,如圖2所示為啟動界面。

圖2 Wireshark啟動界面
n 捕捉接口對話框
點擊File按鈕下方的快捷鍵,出現以下的捕捉接口對話框,如圖3所示。


圖3 選定捕獲網卡接口Capture Interfaces
對常見的按鈕做下簡單描述:
1)Descrption(描述):顯示的本機的以太網卡等網路接口信息,一般采用以太網接口進行數據捕捉。
2)IP:顯示接口的IP地址,沒有則為Unkown。
3)Packets:顯示打開窗口后一共收到的收到的包的個數。
4)Packets/s:顯示的最近一秒接受的數據包的個數。
5)Start:以上一次的設置或默認設置開始抓包。
6)Options:打開捕捉選項對話框,對捕捉方式進行設置。
7)Details:打開對話框顯示接口的詳細信息。
8)Close:關閉對話框。
n 數據包捕捉設置
點擊圖4中捕捉接口對話框中的對應接口后的Options按鈕,進行捕捉設置(如不設置則選擇默認配置進行捕捉)。如圖4所示為捕獲設置。

圖4 捕獲數據包的參數設置
下面對上面常見的按鈕做下簡單描述。對話框內容介紹:
1)Interface 於指定進行捕捉的接口。
2)IP address 接口的IP地址,沒有則顯示Unkown。
3)Link-layer header type 除非有特殊設置,否則建議保持默認狀態。
4)Capture packets in promiscuous mode 通常所說的“混亂模式”,如果沒有指定則只能捕捉進出PC的數據包(不能捕捉整個局域網中的數據包)。
5)Limit each packet to N bytes 限制每個包的最大字節數,默認值為65535,適用於絕大多數協議。
6)Capture Filter(s) 對需要抓的包的類型進行設置。
通常需要對捕獲的大量包進行設置,點擊彈出以下對話框,如圖5所示。

圖5 協議過濾設置
點擊選擇需要捕捉的數據包類型。如圖中所示要捕獲TCP數據包。其他為文件的保存設置,可以修改以實現更合理化的使用。
n 開始抓包
在進行完捕捉設置之后盡可以對指定類型的數據包進行捕捉了。點擊以太網卡后面的Start按鈕開始抓包。如圖6所示。

圖6開始捕獲數據包
則出現以下的抓包主界面,如圖7所示。

圖7 Wireshark抓包主界面
圖中主窗口顯示的信息即為所抓到的包。
- 停止抓包
點擊捕捉設置對話框中的Stop按鈕,如圖8所示。
圖8停止捕獲數據包
(2)主窗口界面
- 菜單欄,如圖9所示。

圖9 Wireshark菜單欄
- 信息過濾工具欄
在Filter中輸入過濾的內容進行設置,如圖10所示。
圖10 過濾工具欄
點擊Filter過濾按鈕出現以下圖的選擇對話框,對主窗口中的數據包信息進行過濾。例如,只顯示TCP數據包,ARP數據包等,從而減少我們分析數據包時無用信息的干擾。在輸入過程中會進行語法檢查。如果您輸入的格式不正確,或者未輸入完成,則背景顯示為紅色。直到您輸入合法的表達式,背景會變為綠色。
可以通過以下兩種方法實現過濾。一方面可以在如圖4所示的對話框中選擇合適的條目;另外一方面圖10直接在工具欄的編輯框中輸入需要輸出的數據包類型。
- 數據包列表
如圖11所示為數據包列表,點擊任意一項則顯示詳細的數據包內容。

圖11 數據包列表
點擊前面的+號可以查看數據包的詳細信息。如幀的長度,捕獲的時間,數據包中包含的協議等。同時可以對各層協議中添加的封裝信息進行查看和分析。
- 16進制數據
“解析器”在Wireshark里也被稱為“16進制數據查看面板”。這里顯示的內容與“封裝詳細信息相同”,只是改為16進制的格式表示。如圖12所示。

圖12 以16進制顯示被捕獲數據包
2、抓取並分析IP包
(1)用Wireshar捕捉IP包
- 在過濾工具欄中輸入IP,如圖13所示。
圖13 過濾IP數據包
- 生成IP數據包
在IE瀏覽器中訪問任何網站。
- 停止抓包
(2)對所抓到的IP包分析其結構
在Packet List面板中單擊其中任意條目,包的其他情況將會顯示在另外兩個面板中。以一下條目為例。

- 流水號 通常作為封包產生的順序;此封包的流水號為 9651。
- 時間 除上述的流水號外,此項為該封包產生的時間;此封包產生的時間為240.466319秒。
- 來源IP地址 發出此封包的終端的IP地址;此封包的源IP地址為 192.168.1.180。
- 目的IP地址 所要接受此封包的終端的IP地址;此封包的目的IP地址為 111.13.34.179。
- 通訊協議 這個封包所使用的通訊協議;此封包使用HTTP協議。
- 資訊 此封包的大略信息。
點擊流水編號為9651的信息后,會顯示如所圖14所示的層層封裝信息。

圖14 IP前后相關封裝
- Frame 表示為第幾個封包,后面括號里面的數字表示封包的大小。
- Ethernet II Src 來源設備網卡名稱及網卡位置;源MAC地址為 50:eb:71:52:82:a8。 Dst:接受端設備的網卡名稱(目的MAC地址)及網卡位置。
- Internet Protocol Src 來源設備的IP地址, Dst :接收設備的IP地址,展開后會看到,如圖4所示為IP包的更多信息。對照着實驗基本原理中的IP協議格式,讀者大致會清楚該IP包的信息。例如version:4 ,是IP V4協議;Header length:20 bytes;IP數據包頭20字節為固定值。

圖15 IP數據包格式分析
- Transmission Control Protocol Src Port:源端口為 62330,Dst Port:目的端口為80。展開后更會看到sequence number、acknowledgement 、number,header length、標志位和擁塞窗口大小等有關的信息。

Hypertext Transfer Protocol 該包應用層協議為HTTP協議。
若有不足,懇請指正,感謝!
