[Wireshark Lab v8.1] Lab: UDP
[Wireshark Lab v8.1] Lab 翻譯與解題.
以下實驗步驟均來自實驗指導手冊。
實驗指導手冊下載地址:Jim Kurose Homepage (umass.edu)
Lab UDP
這個Lab我們將對UDP協議進行解析. 如書中第3章所述, UDP是一個面向位元組流, 不加額外修飾的協議. 在進行實驗之前可能需要重讀書本3.3節. 由於UDP協議相對簡單直觀, 我們可以很快的討論完成.
在當前的階段, 你應該對Wireshark十分熟練了, 因此, 我們不再像前面的lab那樣詳細的列出操作步驟. 也不再額外提供分步驟的螢幕截圖了.
任務
開啟Wireshark抓包, 然後進行一些操作使你的主機能夠發出和接受一些UDP報文. 當然也有可能什麼也不做, 就能抓到其他應用傳送的UDP報文. 特殊的, DNS協議(在DNS lab探究過的)通常基於UDP傳送查詢和響應訊息, 因此你可以通過找到DNS訊息來找到UDP協議.
具體來說,您可以嘗試呼叫底層 DNS 協議的 nslookup 命令,該協議反過來將 UDP 段從發出 nslookup 的主機發送/傳送到主機。 nslookup 在大多數 Microsoft、Apple IOS 和 Linux 作業系統中都可用。 要執行 nslookup,您只需在 DOS 視窗、Mac IOS 終端視窗或 Linux shell 的命令列中鍵入 nslookup 命令。 nslookup 命令已經在DNS lab中講過, 具體用法不在贅述, 為了抓包直接使用nslookup www.nyu.edu
即可
我們不需要深入瞭解 nslookup 或 DNS 的更多細節,因為我們只是對將一些 UDP 段放入 Wireshark 感興趣,並且我們承諾這個實驗會很短!
在 Wireshark 上開始資料包捕獲後,執行 nslookup 以獲取您有一段時間沒有訪問過的主機名。然後停止資料包捕獲,設定您的 Wireshark 資料包過濾器,以便 Wireshark 僅顯示在您的主機發送和接收的 UDP 段。選擇第一個 UDP 段並展開詳細資訊視窗中的 UDP 欄位。如果您無法在跟蹤中找到 UDP 段或無法在實時網路連線上執行 Wireshark,您可以下載包含一些 UDP 段的資料包跟蹤
回答下列問題:
- 選中trace中第一個UDP報文, 他在UDP中的報文編號是多少? UDP承載的應用層的負載的型別或協議資訊是什麼? 在Wireshark中詳細檢視這個報文的內容, UDP 頭中有多少欄位(你不需要檢視書本, 直接通過你的觀察就可以回答該問題)? 這些欄位的名字是什麼?
- 通過檢視Wireshark的包內容欄位中顯示的資訊(或參考教科書),每個UDP頭欄位的長度(以位元組為單位)是多少?
- Length 域的值是什麼的長度(可以查書來獲取答案). 通過抓到的UDP報文確認你的回答.
- UDP 負載可以包含的最大資料量是多少? (提示: 這個問題的答案可由問題2的答案確定)
- 源埠號最大可以是多少?
- UDP的協議號是多少? 給出10進位制下的答案, 為了回答這個問題, 你需要檢視包含此 UDP 段的 IP 資料報的協議欄位(參見文字中的圖 4.13,以及 IP 頭欄位的討論)
- 檢查主機發送第一個 UDP 資料包和第二個 UDP 資料包是對第一個 UDP 資料包的回覆的 UDP 資料包對。 (提示:為了響應第一個資料包而傳送第二個資料包,第一個資料包的傳送者應該是第二個資料包的目的地)。 跟蹤檔案中這兩個 UDP 段中的第一個的報文編號是什麼(請記住,此“報文編號”由 Wireshark 分配,僅用於列出目的; 它是不包含在任何實際資料包頭中的), 跟蹤檔案中這兩個 UDP 段中的第二個? 描述兩個資料包中埠號之間的關係。
就是這樣! 作為一個面向位元組流、簡潔的協議,UDP 值得一個面向位元組流、簡潔的 Wireshark lab.
解答:
UDP 頭
- 我們的UDP是通過DNS產生的, 因此是DNS
|16位元組源埠|16位元組目的埠|
|16位元組長度|16位元組Checksum| - UDP頭部長度是8位元組
- 長度域是頭部加負載的長度
- 最大資料量是65535 (2^8-1)
- 最大埠號也是65535
- 這個問題指的是IP報頭裡的Protocol欄位, UDP是17
- 問答和響應的埠號是 65022<->53, 儘管是無連線的, 但為了進行通訊, 響應的埠號還是回到原來的埠.