鏈接地址:使用Wireshark分析-以太網幀與ARP協議-IP協議-ICMP-UDP協議-TCP協議-協議HTTP-DNS協議
實驗一 Wireshark的使用
一、實驗目的
1、熟悉並掌握Wireshark的基本使用;
2、了解網絡協議實體間進行交互以及報文交換的情況。
二、實驗環境
與因特網連接的計算機,操作系統為Windows,安裝有Wireshark、IE等軟件。
三、 實驗步驟
1.啟動Web瀏覽器(如IE);
2. 啟動Wireshark;
3. 開始分組捕獲:單擊工具欄開始按鈕
4. 在運行分組捕獲的同時,在瀏覽器地址欄中輸入某個網頁的URL,如:
5. 當完整的頁面下載完成后,單擊捕獲對話框中的“stop”按鈕,停止分組捕獲。此時, Wireshark主窗口顯示已捕獲的你本次通信的所有協議報文;
6. 在協議篩選框中輸入“http”,單擊“apply”按鈕,分組列表窗口將只顯示HTTP協議報文。
7. 擇分組列表窗口中的第一條http報文,它是你的計算機發向服務器(www.1688.com)的HTTP GET報文。當你選擇該報文后,以太網幀、IP數據報、TCP報文段、以及HTTP報文首部信息都將顯示在分組首部子窗口中,其結果如圖2。
圖2
四、 問題與思考
在實驗基礎上,回答以下問題:
(1) 列出在第5步中分組列表子窗口所顯示的所有協議類型;
網絡協議:
傳輸協議:
(2) 從發出HTTP GET報文到接收到對應的HTTP OK響應報文共需要多長時間?(分組列表窗口中Time列的值是從Wireshark開始追蹤到分組被捕獲的總的時間數,以秒為單位)
需要0.068527秒
(3) 你主機的IP地址是什么?你訪問的服務器的IP地址是什么?
主機IP:
服務器IP:
實驗二 使用Wireshark分析以太網幀與ARP協議
一、實驗目的
分析以太網幀,MAC地址和ARP協議
二、實驗環境
與因特網連接的計算機網絡系統;主機操作系統為windows;使用Wireshark、IE等軟件。
三、實驗步驟:
1、俘獲和分析以太網幀
(1)選擇 工具->Internet 選項->刪除文件
(2)啟動Wireshark 分組嗅探器
(3)在瀏覽器地址欄中輸入如下網址:
https://www.baidu.com/百度一下
(4)停止分組俘獲。在俘獲分組列表中(listing of captured packets)中找到HTTP GET 信息和響應信息,如圖1所示。
圖1 HTTP GET信息和響應信息
HTTP GET信息被封裝在TCP分組中,TCP分組又被封裝在IP數據報中,IP數據報又被封裝在以太網幀中)。在分組明細窗口中展開Ethernet II信息(packet details window)。
2、分析地址ARP協議
(1)ARP Caching
ARP協議用於將目的IP轉換為對應的MAC地址。Arp命令用來觀察和操作緩存中的內容。雖然arp 命令和ARP有一樣的名字,很容易混淆,但它們的作用是不同的。在命令提示符下輸入arp可以看到在你所在電腦中ARP緩存中的內容。為了觀察到你所在電腦發送和接收ARP信息,我們需要清除ARP緩存,否則你所在主機很容易找到已知IP和匹配的MAC地址。
步驟如下:
(2) 清除ARP cache 具體做法:在MSDOS環境下,輸入命令arp-d.
(3)啟動Wireshark 分組嗅探器
(4)停止分組俘獲.輸入篩選條件arp,獲得arp報文,如圖所示
目的MAC地址:28:39:26:02:23:d3
源MAC地址:04:d3:b5:2a:f7:c3
幀類型:ARP(0x0806)
硬件類型:1
協議類型:IPV4(0x0800)
硬件地址長度:6字節
協議地址長度:4字節
Opcode:表示ARP報文的種類;取值為1,表示請求報文;取值為2,表示ARP應答報文
發送端MAC地址:04:d3:b5:2a:f7:c3(信息體的發起端)
發送端IP地址: 192.168.8.1
目的端 MAC地址:00:00:00_00:00:00:00
目的端IP地址:192.168.8.104
四、問題與思考
1、你所在的主機48-bit Ethernet 地址是多少?
2、Ethernet 幀中目的地址是多少?這個目的地址是www.baidu.com的Ethernet 地址嗎?
目的地址是www.baidu.com的Ethernet 地址
實驗三 利用Wireshark分析ICMP
一、實驗目的
分析ICMP
二、實驗環境
與因特網連接的計算機,操作系統為Windows,安裝有Wireshark、IE等軟件。
三、實驗步驟
Ping命令依賴於ICMP。ICMP可以看作是IP協議的伴隨協議。ICMP報文被封裝在IP 數據報發送。
一些ICMP報文會請求信息。例如:在ping中,一個ICMP回應請求報文被發送給遠程主機。如果對方主機存在,期望它們返回一個ICMP回應應答報文。
一些ICMP報文在網絡層發生錯誤時發送。例如,有一種ICMP報文類型表示目的不可達。造成不可達的原因很多,ICMP報文試圖確定這一問題。例如,可能是主機關及或整個網絡連接斷開。
有時候,主機本身可能沒有問題,但不能發送數據報。例如IP首部有個協議字段,它指明了什么協議應該處理IP數據報中的數據部分。IANA公布了代表協議的數字的列表。例如,如果該字段是6,代表TCP報文段,IP層就會把數據傳給TCP層進行處理;如果該字段是1,則代表ICMP報文,IP層會將該數據傳給ICMP處理。如果操作系統不支持到達數據報中協議字段的協議號,它將返回一個指明“協議不可達”的ICMP報文。IANA同樣公布了ICMP報文類型的清單。
1、ping 和 ICMP
利用Ping程序產生ICMP分組。Ping向因特網中的某個特定主機發送特殊的探測報文並等待表明主機在線的回復。具體做法:
(1)打開Windows命令提示符窗口(Windows Command Prompt)。
(2)啟動Wireshark 分組嗅探器,在過濾顯示窗口(filter display window)中輸入icmp,開始Wireshark 分組俘獲。
(3)輸入“ping –n 10 www.baidu.com” 。其中“-n 10”指明應返回10條ping信息。
(4)當ping程序終止時,停止Wireshark 分組俘獲。
實驗結束后會出現如圖所示的命令窗口:
圖1 命令窗口
停止分組俘獲后,會出現如圖2所示的界面:
圖2 停止分組俘獲后Wireshark的界面
圖3是在分組內容窗口中顯示了ICMP協議的詳細信息。觀察這個ICMP分組,可以看出,此ICMP分組的Type 8 and Code 0 即所謂的ICMP “echo request” 分組。
圖3 ICMP協議詳細信息
網絡協議:IPV4
IP幀部首長度:20byt
服務類型:0x00
IP幀總長度:60字節
協議類型:ICMP(1)
檢驗和:0x500c
源地址IP:192.168.1.17
目標地址IP:182.61.200.7
四、問題與思考
在實驗的基礎上,回答以下問題:
(1)你所在主機的IP地址是多少?目的主機的IP地址是多少?
所在主機IP:
目的主機IP:
(2)查看ping請求分組,ICMP的type 和code是多少?
(3)查看相應得ICMP響應信息,ICMP的type 和code又是多少?
(4)連接層的IP地址是多少?
(5)ICMP的type 和code是多少?
TYPE | CODE | Description | Query | Error |
---|---|---|---|---|
0 | 0 | Echo Reply——回顯應答(Ping應答) | x | |
3 | 0 | Network Unreachable——網絡不可達 | x | |
3 | 1 | Host Unreachable——主機不可達 | x | |
3 | 2 | Protocol Unreachable——協議不可達 | x | |
3 | 3 | Port Unreachable——端口不可達 | x | |
3 | 4 | Fragmentation needed but no frag. bit set——需要進行分片但設置不分片比特 | x | |
3 | 5 | Source routing failed——源站選路失敗 | x | |
3 | 6 | Destination network unknown——目的網絡未知 | x | |
3 | 7 | Destination host unknown——目的主機未知 | x | |
3 | 8 | Source host isolated (obsolete)——源主機被隔離(作廢不用) | x | |
3 | 9 | Destination network administratively prohibited——目的網絡被強制禁止 | x | |
3 | 10 | Destination host administratively prohibited——目的主機被強制禁止 | x | |
3 | 11 | Network unreachable for TOS——由於服務類型TOS,網絡不可達 | x | |
3 | 12 | Host unreachable for TOS——由於服務類型TOS,主機不可達 | x | |
3 | 13 | Communication administratively prohibited by filtering——由於過濾,通信被強制禁止 | x | |
3 | 14 | Host precedence violation——主機越權 | x | |
3 | 15 | Precedence cutoff in effect——優先中止生效 | x | |
4 | 0 | Source quench——源端被關閉(基本流控制) | ||
5 | 0 | Redirect for network——對網絡重定向 | ||
5 | 1 | Redirect for host——對主機重定向 | ||
5 | 2 | Redirect for TOS and network——對服務類型和網絡重定向 | ||
5 | 3 | Redirect for TOS and host——對服務類型和主機重定向 | ||
8 | 0 | Echo request——回顯請求(Ping請求) | x | |
9 | 0 | Router advertisement——路由器通告 | ||
10 | 0 | Route solicitation——路由器請求 | ||
11 | 0 | TTL equals 0 during transit——傳輸期間生存時間為0 | x | |
11 | 1 | TTL equals 0 during reassembly——在數據報組裝期間生存時間為0 | x | |
12 | 0 | IP header bad (catchall error)——壞的IP首部(包括各種差錯) | x | |
12 | 1 | Required options missing——缺少必需的選項 | x | |
13 | 0 | Timestamp request (obsolete)——時間戳請求(作廢不用) | x | |
14 | Timestamp reply (obsolete)——時間戳應答(作廢不用) | x | ||
15 | 0 | Information request (obsolete)——信息請求(作廢不用) | x | |
16 | 0 | Information reply (obsolete)——信息應答(作廢不用) | x | |
17 | 0 | Address mask request——地址掩碼請求 | x | |
18 | 0 | Address mask reply——地址掩碼應答 | x |
實驗四 使用Wireshark分析UDP協議
一、實驗目的
分析UDP協議
二、實驗環境
與因特網連接的計算機,操作系統為Windows,安裝有Wireshark、IE等軟件。
三、實驗步驟
UDP是User Datagram Protocol(用戶數據協議)的簡稱,是一種無連接的協議,該協議工作在OSI模型中的第四層(傳輸層),處於IP協議的上一層。傳輸層的功能就是建立“端口到端口”的通信,UDP提供面向事務的簡單的不可靠信息傳送服務。
UDP協議是一種無連接的協議,該協議用來支撐那些需要在計算機之間傳輸數據的網絡應用,包括網絡視頻會議系統在內的眾多客戶/服務器模式的網絡應用。
UDP協議的主要工作就是將網絡數據流量壓縮成數據包的形式。一個經典的數據包就是一個二進制數據的傳輸單位。每一個數據包的前8字節用來包含包頭信息,剩余字節則用來包含具體的傳輸數據。
1、俘獲和分析UDP協議
(1)啟動Wireshark 分組嗅探器
(2)啟動QQ進行聊天
(3)停止分組俘獲,輸入篩選條件arp,獲得arp報文,如圖所示
源端口和目的端口:(端口是用來指明數據的來源(應用程序)以及數據發往的目的地(同樣是應用程序))字段包含了16比特的UDP協議端口號,它使得多個應用程序可以多路復用同一個傳輸層協議及UDP協議,僅通過端口號來區分不同的應用程序。
長度(length):字段記錄了該UDP數據包的總長度(以字節為單位),包括8字節的UDP頭和其后的數據部分。最小值是8(報文頭的長度),最大值為65535字節。
UDP校驗和(Checksum):的內容超出了UDP數據報文本身的范圍,實際上,它的值是通過計算UDP數據報及一個偽包頭而得到的。校驗和的計算方法與通用的一樣,都是累加求和。UDP數據報中實際的有效成分。偽首部並非TCP&UDP數據報中實際的有效成分。偽首部是一個虛擬的數據結構,其中的信息是從數據報所在IP分組頭的分組頭中提取的,既不向下傳送也不向上遞交,而僅僅是為計算校驗和。這樣的校驗和,既校驗了TCP&UDP用戶數據的源端口號和目的端口號以及TCP&UDP用戶數據報的數據部分,又檢驗了IP數據報的源IP地址(數據源設備)和目的地址。偽報頭保證TCP&UDP數據單元到達正確的目的地址。
四、問題與思考
在實驗的基礎上,回答以下問題:
1、在觀察DUP首部。長度字段是包括首部和數據還是只包括數據?
UDP首部8字節,如果存在數據,便有數據
實驗六 使用Wireshark分析TCP協議
一、實驗目的
分析TCP協議
二、實驗環境
與因特網連接的計算機,操作系統為Windows,安裝有Wireshark、IE等軟件。
三、實驗步驟
1、TCP介紹
(1)連接建立:
TCP連接通過稱為三次握手的三條報文來建立的。
第一條報文沒有數據的TCP報文段,並將首部SYN位設置為1。因此,第一條報文常被稱為SYN分組。這個報文段里的序號可以設置成任何值,表示后續報文設定的起始編號。連接不能自動從1開始計數,選擇一個隨機數開始計數可避免將以前連接的分組錯誤地解釋為當前連接的分組。
SYN分組通常是從客戶端發送到服務器。這個報文段請求建立連接。一旦成功建立了連接,服務器進程必須已經在監聽SYN分組所指示的IP地址和端口號。如果沒有建立連接,SYN分組將不會應答。如果第一個分組丟失,客戶端通常會發送若干SYN分組,否則客戶端將會停止並報告一個錯誤給應用程序。
如果服務器進程正在監聽並接收到來的連接請求,它將以一個報文段進行相應,這個報文段的SYN位和ACK位都置為1。通常稱這個報文段為SYNACK分組。SYNACK分組在確認收到SYN分組的同時發出一個初始的數據流序號給客戶端。
TCP接收端確認第X個字節已經收到,並通過設置確認號為X+1來表明期望收到下一個字節號。分組4的序號字段在Wireshark的協議顯示為0,但在原始框中的實際值卻是“84 ca be b3”。這表明TCP連接的雙方會選擇數據流中字節的起始編號。所有初始序號邏輯上都視同為序號0。
最后,客戶端發送帶有標志ACK的TCP報文段,而不是帶SYN的報文段來完成三次握手的過程。這個報文段將確認服務器發送的SYNACK分組,並檢查TCP連接的兩端是否正確打開合運行。
(2)關閉連接
當兩端交換帶有FIN標志的TCP報文段並且每一端都確認另一端發送的FIN包時,TCP連接將會關閉。FIN位字面上的意思是連接一方再也沒有更多新的數據發送。然而,那些重傳的數據會被傳送,直到接收端確認所有的信息。
2、具體步驟
(1)啟動Wireshark 分組嗅探器
(2)在瀏覽器地址欄中輸入如下網址:
http://www.1688.com/阿里巴巴
(3)停止分組俘獲,輸入過濾條件tcp and ip.addr==14.29.40.234,獲得TCP三次握手的報文,如下圖所示
源端口號:49363
目的端口號:80
Sequence Number:發送序列號
Acknowledgment Number:確認序列號
Flags: SYN-同步序列號
Window size value:窗口大小
Checksum:檢驗和
Urgent potiner:緊急指針
(4)分析三次握手
- 三次握手的原理
在TCP/IP協議中,TCP協議提供可靠的連接服務,采用三次握手建立一個連接。第一次握手:建立連接時,客戶端發送syn包(syn=j)到服務器,並進入SYN_SEND狀態,等待服務器確認;SYN:同步序列編號(Synchronize Sequence Numbers)。
第二次握手:服務器收到syn包,必須確認客戶的SYN(ack=j+1),同時自己也發送一個SYN包(syn=k),即SYN+ACK包,此時服務器進入SYN_RECV狀態;
第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=k+1),此包發送完畢,客戶端和服務器進入ESTABLISHED狀態,完成三次握手。
四、問題與思考
在實驗的基礎上,回答以下問題:
1、 客戶服務器之間用於初始化TCP連接的TCP SYN報文段的序號(sequence number)是多少?在該報文段中,是用什么來標識該報文段是SYN報文段的?
SYN報文段的序號
SYN報文段的標識
2、 服務器向客戶端發送的SYNACK報文段序號是多少?該報文段中,ACKnowledgement字段的值是多少?
SYNACK報文段序號:
ACKnowledgement字段的值:
實驗七 利用Wireshark分析協議HTTP
一、實驗目的
分析HTTP協議
二、實驗環境
與因特網連接的計算機,操作系統為Windows,安裝有Wireshark、IE等軟件。
三、實驗步驟
1、利用Wireshark俘獲HTTP分組
(1)在進行跟蹤之前,我們首先清空Web 瀏覽器的高速緩存來確保Web網頁是從網絡中獲取的,而不是從高速緩沖中取得的。之后,還要在客戶端清空DNS高速緩存,來確保Web服務器域名到IP地址的映射是從網絡中請求。在WindowsXP機器上,可在命令提示行輸入ipconfig/flushdns完成操作。
(2)啟動Wireshrk 分組俘獲器。
(3)在Web 瀏覽器中輸入:http://www.1688.com
(4)停止分組俘獲,輸入過濾條件http and ip.addr==14.29.40.234
當輸入URLhttp://www.1688.com時,將要求Web服務器從主機http://www.1688.com上請求數據,但首先Web瀏覽器必須確定這個主機的IP地址。隨着轉換的完成,Web瀏覽器與Web服務器建立一個TCP連接。最后,Web 瀏覽器使用已建立好的TCP連接來發送請求“GET/HTTP/1.1”。這個分組描述了要求的行為(“GET”)及文件(只寫“/”是因為我們沒有指定額外的文件名),還有所用到的協議的版本(“HTTP/1.1”)。
2、HTTP GET/response交互
(1)在協議框中,選擇“GET/HTTP/1.1” 所在的分組會看到這個基本請求行后跟隨着一系列額外的請求首部。在首部后的“\r\n”表示一個回車和換行,以此將該首部與下一個首部隔開。
“Host”首部在HTTP1.1版本中是必須的,它描述了URL中機器的域名,本例中是http://www.1688.com。這就允許了一個Web服務器在同一時間支持許多不同的域名。有了這個數不,Web服務器就可以區別客戶試圖連接哪一個Web服務器,並對每個客戶響應不同的內容,這就是HTTP1.0到1.1版本的主要變化。
User-Agent首部描述了提出請求的Web瀏覽器及客戶機器。
接下來是一系列的Accpet首部,包括Accept(接受)、Accept-Language(接受語言)、Accept-Encoding(接受編碼)、Accept-Charset(接受字符集)。它們告訴Web服務器客戶Web瀏覽器准備處理的數據類型。Web服務器可以將數據轉變為不同的語言和格式。這些首部表明了客戶的能力和偏好。
Keep-Alive及Connection首部描述了有關TCP連接的信息,通過此連接發送HTTP請求和響應。它表明在發送請求之后連接是否保持活動狀態及保持多久。大多數HTTP1.1連接是持久的(persistent),意思是在每次請求后不關閉TCP連接,而是保持該連接以接受從同一台服務器發來的多個請求。
(2)我們已經察看了由Web瀏覽器發送的請求,現在我們來觀察Web服務器的回答。響應首先發送“HTTP/1.1 200 ok”,指明它開始使用HTTP1.1版本來發送網頁。同樣,在響應分組中,它后面也跟隨着一些首部。最后,被請求的實際數據被發送。
第一個Cache-control首部,用於描述是否將數據的副本存儲或高速緩存起來,以便將來引用。一般個人的Web瀏覽器會高速緩存一些本機最近訪問過的網頁,隨后對同一頁面再次進行訪問時,如果該網頁仍存儲於高速緩存中,則不再向服務器請求數據。類似地,在同一個網絡中的計算機可以共享一些存在高速緩存中的頁面,防止多個用戶通過到其他網路的低速網路連接從網上獲取相同的數據。這樣的高速緩存被稱為代理高速緩存(proxy cache)。在我們所俘獲的分組中我們看到“Cache-control”首部值是“private”的。這表明服務器已經對這個用戶產生了一個個性化的響應,而且可以被存儲在本地的高速緩存中,但不是共享的高速緩存代理。
在HTTP請求中,Web服務器列出內容類型及可接受的內容編碼。此例中Web服務器選擇發送內容的類型是text/html且內容編碼是gzip。這表明數據部分是壓縮了的HTML。
服務器描述了一些關於自身的信息。此例中,Web服務器軟件是Google自己的Web服務器軟件。響應分組還用Content-Length首部描述了數據的長度。最后,服務器還在Date首部中列出了數據發送的日期和時間。
根據俘獲窗口內容,回答“四、實驗報告內容”中的1-6題。
3、HTTP條件GET/response交互
(1)啟動瀏覽器,清空瀏覽器的緩存。
(2)啟動Wireshark分組俘獲器,開始Wireshark分組俘獲。
(3)在瀏覽器地址欄中如下網址:
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file2.html
你的瀏覽器中將顯示一個具有五行的非常簡單的HTML文件。
(4)在你的瀏覽器中重新輸入相同的URL或單擊瀏覽器中的“刷新”按鈕。
(5)停止Wireshark分組俘獲,在顯示過濾篩選說明處輸入“http”,分組列表子窗口中將只顯示所俘獲到的HTTP報文。
根據操作回答“四、實驗報告內容”中的7-10題。
4、獲取長文件
(1)啟動瀏覽器,將瀏覽器的緩存清空。
(2)啟動Wireshark 分組俘獲器,開始Wireshark分組俘獲。
(3)在瀏覽器地址欄中輸入如下網址:
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file3.html
瀏覽器將顯示一個相當大的美國權力法案
(4)停止Wireshark分組俘獲,在顯示過濾篩選說明處輸入“http”,分組列表子窗口中將只顯示所俘獲到的HTTP報文。
根據操作回答“四、實驗報告內容”中的11-14題。
5、嵌有對象的HTML文檔
(1)啟動瀏覽器,將瀏覽器的緩存清空。
(2)啟動Wireshark分組俘獲器。開始Wireshark分組俘獲。
(3)在瀏覽器地址欄中輸入如下網址:
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file4.html
瀏覽器將顯示一個具有兩個圖片的短HTTP文件。
(4)停止Wireshark分組俘獲,在顯示過濾篩選說明處輸入“http”,分組列表子窗口中將只顯示所俘獲到的HTTP報文。
根據操作回答“四、實驗報告內容”中的15-16題。
6、HTTP認證
(1)啟動瀏覽器,將瀏覽器的緩存清空。
(2)啟動Wireshark分組俘獲器。開始Wireshark分組俘獲。
(3)在瀏覽器地址欄中輸入如下網址:
http://gaia.cs.umass.edu/wireshark-labs/protected_pages/HTTP-wireshark-file5.html
瀏覽器將顯示一個HTTP文件,輸入所需要的用戶名和密碼(用戶名:wireshark-students,密碼:network)。
(4)停止Wireshark分組俘獲,在顯示過濾篩選說明處輸入“http”,分組列表子窗口中將只顯示所俘獲到的HTTP報文。
根據操作回答“四、問題與思考”中的17-18題。
四、問題與思考
在實驗的基礎上,回答以下問題:
(1)你的瀏覽器運行的是HTTP1.0,還是HTTP1.1?你所訪問的服務器所運行的HTTP版本號是多少?
(2)你的瀏覽器向服務器指出它能接收何種語言版本的對象?
(3)你的計算機的IP地址是多少?服務器http://www.1688.com的IP地址是多少?
計算機的IP:
服務器的IP:
(4)從服務器向你的瀏覽器返回的狀態代碼是多少?
(5)你從服務器上所獲取的HTML文件的最后修改時間是多少?
(6)返回到你的瀏覽器的內容以供多少字節?
(7)分析你的瀏覽器向服務器發出的第一個HTTP GET請求的內容,在該請求報文中,是否有一行是:IF-MODIFIED-SINCE?
答:沒有
(8)分析服務器響應報文的內容,服務器是否明確返回了文件的內容?如何獲知?
(9)分析你的瀏覽器向服務器發出的第二個“HTTP GET”請求,在該請求報文中是否有一行是:IF-MODIFIED-SINCE?如果有,在該首部行后面跟着的信息是什么?
答:沒有
(10)服務器對第二個HTTP GET請求的響應中的HTTP狀態代碼是多少?服務器是否明確返回了文件的內容?請解釋。
(11)你的瀏覽器一共發出了多少個HTTP GET請求?
3個
(12)承載這一個HTTP響應報文一共需要多少個data-containing TCP報文段?
答:2個
(13)與這個HTTP GET請求相對應的響應報文的狀態代碼和狀態短語是什么?
(14)在被傳送的數據中一共有多少個HTTP狀態行與TCP-induced”continuation”有關?
一共有兩個HTTP狀態行與TCP-included“continuation”有關
(15)你的瀏覽器一共發出了多少個HTTP GET請求?這些請求被發送到的目的地的IP地址是多少?
一共發出1個,124.119.245.12
(16)瀏覽器在下載這兩個圖片時,是串行下載還是並行下載?請解釋。
並行下載,因為GET的目的IP地址不同,所以可以從兩個地址同時進行下載,所以是並行下載。
(17)對於瀏覽器發出的最初的HTTP GET請求,服務器的響應是什么(狀態代碼和狀態短語)?
401;Unauthorized;
(18)當瀏覽器發出第二個HTTP GET請求時,在HTTP GET報文中包含了哪些新的字段?
多了Authorization字段;
實驗八 利用Wireshark分析DNS協議
一、實驗目的
分析DNS協議
二、實驗環境
與因特網連接的計算機,操作系統為Windows,安裝有Wireshark、IE等軟件。
三、實驗步驟
nslookup工具允許運行該工具的主機向指定的DNS服務器查詢某個DNS記錄。如果沒有指明DNS服務器,nslookup將把查詢請求發向默認的DNS服務器。其命令的一般格式是:
nslookup –option1 –option2 host-to-find dns-server
1、打開命令提示符(Command Prompt),輸入nslookup命令。
圖中顯示三條命令,第一條命令:nslookup www.mit.edu “提出一個問題”
即:“將主機www.mit.edu 的IP地址告訴我”。屏幕上出現了兩條信息:(1)“回答這一問題”DNS服務器的名字和IP地址;(2)www.mit.edu 主機名字和IP地址。
第二條命令:nslookup –type=NS mit.edu
在這個例子中,我們提供了選項“-type=NS”,域為mit.edu。執行這條命令后,屏幕上顯示了DNS服務器的名字和地址。接着下面是三個MIT DNS服務器,
每一個服務器是MIT校園里權威的DNS服務器。
第三條命令:nslookup www.aiit.or.kr bitsy.mit.edu
在這個例子中,我們請求返回bitsy.mit.edu DNS server 而不是默認的DNS服務器(uzzdns.edu.cn)。此例中,DNS 服務器bitsy.mit.edu提供主機www.aiit.or.kr 的
IP地址。
2、ipconfig
ipconfig用來顯示TCP/IP 信息, 你的主機地址、DNS服務器地址,適配器等信息。如果你想看到所有關於你所在主機的信息,可在命令行鍵入:
ipconfig /all
ipconfig在管理主機所儲存的DNS信息非常有用。
如果查看DNS緩存中的記錄用命令:ipconfig /displaydns
要清空DNS緩存,用命令:ipconfig /flushdns
3、利用Wireshark捕獲DNS信息
(1)利用ipconfig命令清空你的主機上的DNS緩存。
(2)啟動瀏覽器,將瀏覽器的緩存清空。
(3)啟動Wireshark分組俘獲器,在顯示過濾篩說明處輸入
“ip.addr==202.168.176.234”,過濾器(filter)將會刪除所有目的地址和源地址都與指定IP地址不同的分組。
(4)開始Wireshark俘獲。
(5)在瀏覽器的地址欄中輸入:http://www.1688.com
(6)停止分組俘獲。
(7)重復上面的實驗,只是將命令替換為:nslookup –type=NS mit.edu
(8)重復上面的實驗,只是將命令替換為:
nslookup www.1688.com bitsy.mit.edu
四、問題與思考
在實驗的基礎上,回答以下問題:
(1)你的瀏覽器運行的是HTTP1.0,還是HTTP1.1?你所訪問的服務器所運行的HTTP版本號是多少?
(2)你的瀏覽器向服務器指出它能接收何種語言版本的對象?
(3)你的計算機的IP地址是多少?服務器www.1688.com的IP地址是多少?
計算機的IP:
服務器的IP:
(4)從服務器向你的瀏覽器返回的狀態代碼是多少?
(5)你從服務器上所獲取的HTML文件的最后修改時間是多少?
(6)返回到你的瀏覽器的內容以供多少字節?
(7)分析服務器響應報文的內容,服務器是否明確返回了文件的內容?如何獲知?
(8)服務器對第二個HTTP GET請求的響應中的HTTP狀態代碼是多少?服務器是否明確返回了文件的內容?請解釋。
服務器目前從不同位置的網頁響應請求,但請求者應繼續使用原有位置來進行以后的請求。此代碼與響應GET或HEAD請求的301代碼類似,會自動將請求者轉到不同的位置,但您不應使用此代碼來告訴Googlebot某個網頁或網站已經移動,因為Googlebot會繼續抓取原有位置並編入索引。
(9)與這個HTTP GET請求相對應的響應報文的狀態代碼和狀態短語是什么?
如有不足之處,還望指正 [1]。
如果對您有幫助可以點贊、收藏、關注,將會是我最大的動力 ↩︎