0 個人信息
- 張櫻姿
- 201821121038
- 計算1812
1 實驗目的
熟練使用Packet Tracer工具。分析抓到的HTTP數據包,深入理解:HTTP協議,包括語法、語義、時序。
2 實驗內容
客戶端向服務器發送請求報文,服務器向客戶端發送響應報文。
- 建立網絡拓撲結構
- 配置參數
- 抓包
- 分析數據包
3 實驗報告
本實驗使用Cisco Packet Tracer這個平台來對網絡環境進行模擬。
3.1 建立網絡拓撲結構
如圖,將一台PC端和一台Server端相連。
分析:客戶(PC端)和服務器(Sever端)是通信中所涉及的兩個應用進程,要達到抓包的目的,就需要建立通信關系,即需要在同一網段內。
3.2 IP配置
PC端的IP地址:192.168.1.38,子網掩碼:255.255.255.0
服務器的IP地址:192.168.1.100,子網掩碼:255.255.255.0
分析:對於PC端和服務器的IP配置,其子網掩碼相同,在同一網段內,可以相互通信。
3.3 抓HTTP包並分析
3.3.1 使用PC端的Web Browser,在URL欄輸入服務器的IP地址進行訪問。
3.3.2 點擊右下角的Simulation鍵進行仿真。
3.3.3 只勾選支持HTTP協議:
3.3.4 仿真后的信息傳遞結果如下:
3.3.5 請求報文分析:
注:此處報文省略了Get /HTTP/1.1,Get表示方法,請求讀取URL所標志的信息,其后有一個空格,接着是一個完整的URL(此處使用了相對URL,即省略了主機的域名),后面又是一個空格,最后的HTTP/1.1表示HTTP的版本是1.1的。
- HTTP Data:Accept-Language:en-us表示用戶希望優先得到英文版本的文檔
- Accept:*/*表示用戶希望接受任意數據類型
- Connection:close表示告訴服務器發送完請求的文檔后就可釋放鏈接
- Host:192.168.1.100表示用戶所訪問主機的域名
3.3.6 響應報文分析:
注:此處省略了HTTP/1.1 200 OK表示HTTP版本是1.1,200是狀態碼,表示OK。
- HTTP Data:Connection:close表示告訴服務器發送完響應的文檔后就可釋放鏈接
- Content-Length:369表示HTTP消息實體的傳輸長度
- Content-Type:text/xml表示設置頁面內容是html
- Server:PT-Server/5.2表示后台服務器
3.4 Q&A
Q:關於HTTP協議的工作流程?
A:(圖源自Carson_Ho的CSDN博客)
Q:關於響應報文的狀態碼?
A:狀態碼可分為5大類:
- 1XX:通知信息
- 2XX:成功
- 3XX:重定向
- 4XX:客戶端出錯
- 5XX:服務器出錯
Q:常用的狀態碼?
A:
- 200:請求成功,請求內容與該響應一起返回
- 202:請求已被接受,但還沒處理
- 301:請求的資源已被永久移動到新的位置
- 302:請求的資源被臨時移動到新的位置
- 400:請求參數有誤,當前請求無法被服務器理解
- 403:不允許訪問該地址
- 404:Not Found
- 408:請求超時
- 500:服務器內部錯誤
- 502:Bad Gateway(網關出錯)