實驗(二)在WireShark中觀察與分析應用層封包 計算機網路COMPUTER NETWORK
實驗目的 觀察HTTP Protocol中的封包與協定運作, 包括基本的GET/response訊息傳遞互動情 形、HTTP 訊息格式、下載內嵌物件的 HTML檔案、以及HTTP的驗證與安全性。
Basic HTTP GET/response Interaction 啟動你的瀏覽器。啟動Wireshark軟體,在視窗上面找Analyze->display- filter-specification ->按下OK,輸入HTTP字樣使得只有內含HTTP訊息的封包 會被顯示出來。 等個一分鐘後,讓Wireshark開始抓取封包。 使用瀏覽器連結下列網址http://gaia.cs.umass.edu/ethereal-labs/HTTP- ethereal-file1.html (如果要看到多個HTTP封包,就必須多連幾個網頁)。 按下stop停止抓取封包,抓取到的封包會顯現在packet-listing 視窗中。 (Note: 如果你無法實際連上網路抓取封包,你可以觀察http1 檔案來回答下 列的問題) 。
請回答下列問題 1. 你的瀏覽器上執行的HTTP是版本1.0或1.1 ? server執行的HTTP又是哪個版本? 2. 你的瀏覽器上顯示server可接受的語言是哪一 種? 3. 你的電腦上的IP address是什麼? gaia.cs.umass.edu的server上的IP address是什麼? 4. 對方的server會回應什麼狀態訊息到你的瀏覽 器?
5. 觀察在server上所接收到的HTTP的檔案最後更改時 間是什麼時候? 6. 瀏覽器所接收到回傳回來的內容資料量有多少 bytes? 7. 檢查在packet content window內的raw data,有沒有 什麼header是沒有顯示在packet-listing 視窗中的?如 果有的話,請至少指出一個。
The HTTP CONDITIONAL GET/response Interaction 打開瀏覽器並清除瀏覽器上的cache (清除在memory和disk裡的cache, 從Internet Explorer選擇 工具->網際網路選項->刪除檔案)。 打開Wireshark開始抓取封包。 打開你的瀏覽器在網址的地方輸入。 http://gaia.cs.umass.edu/ethereal-labs/HTTP-ethereal-file2.html 瀏覽器上將會出現幾行簡單的HTML文件。 執行同樣的步驟再一次連結上面的網址(或直接在網頁上面按重新整 理的按鈕),停止Wireshark封包的攔截,並且在Filter這個欄位輸入 “HTTP”,這樣就會只留下HTTP的訊息顯示在packet-listing視窗中。 (Note: 如果你無法實際連上網路抓取封包,你可以觀察http2 檔案來 回答下列的問題) 。
請回答下列問題 8. 觀察從自己的瀏覽器送出給server的第一個HTTP GET request,你可以看到一行“IF-MODIFIED-SINCE”的 訊息嗎? 9. 觀察server傳回的訊息內容,server有將檔案完整回傳 嗎?如何得知? 10. 觀察從自己的瀏覽器到server的第二個HTTP GET request,你可以在 HTTP GET訊息裡看到“IF-MODIFIED- SINCE”的訊息嗎? 如果有,顯示什麼? 11. Server對第二個HTTP GET所傳回的HTTP status code是 什麼?server有將檔案完整回傳嗎?請解釋。
Retrieving Long Documents 解說:我們想觀察當我們下載一個較大的HTML file會發生什麼情形,請 執行下列步驟: 1. 打開web瀏覽器,且必須先清除你瀏覽器的cache紀錄,做法如前所述。 2. 打開Wireshark開始抓取封包。 3. 打開你的瀏覽器在網址的地方輸入: http://gaia.cs.umass.edu/ethereal-labs/HTTP-ethereal-file3.html 你的瀏覽器會出現THE BILL OF RIGHTS 這篇文章的網頁。 4. 停止Wireshark封包的攔截,且在Filter這個欄位輸入“HTTP”,這樣就 會只留下HTTP的訊息顯示在packet-listing視窗中。 5. ( Note: 如果你無法實際連上網路抓取封包,你可以觀察http3 檔案來回 答下列的問題) 。
請回答下列問題 12. 你的瀏覽器送出幾個HTTP GET request? 13.Server回傳的檔案總共需要使用幾個TCP segment送回? 14. 對於瀏覽器送出的GET request,server回傳的status code是什麼? 15. 有無任何封包的HTTP status lines,說明它是由TCP所 造成的連續傳送(有無看到Continuation字樣)?
HTTP Authentication 最後我們將嘗試瀏覽有password保護的網站,並檢查交換了哪些 HTTP訊息。 1. 打開web瀏覽器,且必須先清除你瀏覽器的cache紀錄。 2. 打開Wireshark開始抓取封包。 3. 打開你的瀏覽器在網址的地方輸入 http://gaia.cs.umass.edu/ethereal-labs/protected_pages/HTTP-ethereal- file5.html 會出現一個需要輸入帳號密碼的彈跳式視窗,使用者帳號是 “eth- students”,密碼是“network”輸入後會看到成功登入的訊息 停止Wireshark封包的攔截,且在Filter這個欄位輸入“HTTP”,這樣 就會只留下HTTP的訊息顯示在packet-listing視窗中。 (Note: 如果你無法實際連上網路抓取封包,你可以觀察http5 檔案來回 答下列的問題) 。
請回答下列問題 16. 對於第一個HTTP GET訊息,server回應什麼樣的status code? 17.當你的瀏覽器再次送出HTTP GET訊息時, 有無新增什麼 欄位?內容為何?
作業 Doc檔上,須說明: 1. 封面(班級、學號、姓名) 檔名範例:Hw2_498410561_張建雄 2. 上列投影片的17個問題、答案和找到答案的截圖貼上 3.心得 p.s.請將問題、答案和圖示排版清楚,以便助教批改。 若有問題請e-mail 給助教.