《計算機網絡》實驗報告七 HTTP協議分析與測量

目? 錄

1、實驗目的

2、實驗環境

3、實驗內容

4、實驗結果與分析

4.1 使用tcpdump命令抓包

4.2 HTTP字段分析

5、實驗小結

5.1 問題與解決辦法:

5.2 心得體會:


1、實驗目的

? ? ? ? 1、了解HTTP協議及其報文結構

? ? ? ? 2、了解HTTP操作過程:TCP三次握手、請求和響應交互

? ? ? ? 3、掌握基于tcpdump和wireshark軟件進行HTTP數據包抓取和分析技術


2、實驗環境

? ? ? ? 1、硬件要求:阿里云云主機ECS 一臺、筆記本電腦一臺

? ? ? ? 2、軟件要求:Linux/ Windows 操作系統


3、實驗內容

????????使用wget下載新疆大學主頁www.xju.edu.cn,利用tcpdump抓包并利用wireshark分析。

????????1. 瀏覽器運行HTTP版本1還是1.1?服務器運行的是什么版本的HTTP?

????????2. 你的電腦的IP地址是什么?服務器呢?

????????3. 從服務器返回到瀏覽器的狀態代碼是什么?

????????4. 您在服務器上檢索到的HTML文件是在什么時候修改的?

????????5. 有多少字節的內容被返回到瀏覽器?

????????6. 除以上已回答過的字段外,頭部還有哪些字段?在數據包內容窗口中檢查原始數據,是否有未在數據包列表中顯示的頭部?


4、實驗結果與分析

4.1 使用tcpdump命令抓包

????????1. 由于開始時并沒有wget命令,所以使用如下命令進行wget操作命令的下載。

yum install wget

????????2. 使用wget命令下載新疆大學主頁www.xju.edu.cn。

wget www.xju.edu.cn

????????3. 使用tcpdump命令抓取www.xju.edu.cn網站的數據包,并將所抓取的數據包保存在http.pcap文件中。

tcpdump -i eth0 -w http.pcap

4.2 HTTP字段分析

????????1. 使用wireshark打開保存的http.pcap文件,并對數據包進行相關的操作。

????????2. 使用過濾器得到與www.xju.edu.cn實現通信的http數據包時在應用顯示過濾器輸入以下語句。

http and ip.addr==111.115.76.75

????????3. 瀏覽器運行HTTP版本1還是1.1?服務器運行的是什么版本的HTTP?

瀏覽器運行HTTP版本為1.1

服務器運行的是1.1版本的HTTP

????????4. 你的電腦的IP地址是什么?服務器呢?

電腦的IP地址為:192.168.43.199

服務器的IP地址為:111.115.76.75

????????5. 從服務器返回到瀏覽器的狀態代碼是什么?

從服務器返回到瀏覽器的狀態代碼是200,表示成功處理請求

????????6. 您在服務器上檢索到的HTML文件是在什么時候修改的?

從服務器上檢索到的HTML文件時在2023年5月11日 周四 03:38:58修改的

????????7. 有多少字節的內容被返回到瀏覽器?

有107081 bytes的內容被返回瀏覽器

????????8. 除以上已回答過的字段外,頭部還有哪些字段?

在HTTP的請求報文中還有:Host,Connection,User-Agent,Accept,Referer,Accept-Encoding,Accept-Language,Server等

????????9. 在數據包內容窗口中檢查原始數據,是否有未在數據包列表中顯示的頭部?

沒有未在數據包列表中顯示的頭部


5、實驗小結

5.1 問題與解決辦法:

????????1. 問題一:使用tcpdump進行數據包的抓取時出現如下提示此命令未找到:

解決方法:由于命令輸入錯誤導致,數據包的抓取命令為tcpdump,而不是tcpdnmp,將對應命令進行更改后錯誤消失。

????????2. 問題二:對指定網絡接口的數據包進行抓取時出現如下提示語法錯誤:

解決方法:由于命令鍵入不完整所導致,指定網絡接口所需要的參數是-i,在eth0前方添加-i后錯誤消失。

????????3. 問題三:使用tcpdump抓取所有的數據包時一直在抓取,不能夠自動停止抓包:

解決方法:使用Ctrl+c就可以終止運行的命令,進而就可以停止抓包。

????????4. 問題四:使用Wireshark對抓取的數據包進行過濾時出現如下提示輸入框出現紅色:

解決方法:由于過濾命令輸入錯誤,在過濾地址時使用ip.addr,將輸入內容中的id.addr改為ip.addr后紅色報錯消失。

????????5. 問題五:使用Wireshark對抓取的數據包進行多個條件同時成立過濾時出現如下提示輸入框出現紅色:

解決方法:由于多個條件同時成立時需要使用and進行連接,但是輸入命令時并沒有使用and進行連接所導致,在輸入內容中加入and后紅色報錯消失。

????????6. 問題六:使用Wireshark對抓取的數據包進行過濾時出現如下提示輸入框出現紅色:

解決方法:由于過濾命令對大小寫敏感導致輸入錯誤,在過濾HTTP時使用HTTP,將輸入內容中的HTTP改為http后紅色報錯消失。

????????7. 問題七:使用wget命令時出現如下提示此命令未找到:

解決方法:由于系統中沒有wget命令所導致,需要在使用此命令前通過 yum install wget 命令進行安裝。

5.2 心得體會:

????????1、HTTP是一個通用的Web協議,它在Web應用程序中扮演著關鍵的角色。

????????2、HTTP不僅是一種協議,而且是Web應用程序開發中的核心要素之一。

????????3、HTTP是無狀態的,這意味著服務器和客戶端之間的每個請求和響應都是獨立的,并且服務器不會保留關于任何先前請求或響應的狀態信息。

????????4、為了處理具有狀態的Web應用程序,HTTP引入了Cookie機制。

????????5、HTTP是基于請求/響應模型的,客戶端發送請求消息,服務器發送響應消息。

????????6、每個消息都由一個起始行、一組HTTP頭部字段和一個可選的消息體組成。

????????7、請求消息用于請求服務器執行特定的操作,而響應消息用于回顯服務器的執行結果。

????????8、HTTP支持多種請求方法:GET、POST、PUT等來要訪問的。

????????9、HTTP支持緩存,緩存可以高性能減少延和帶寬消。HTTP緩存使用HTTP頭部控制緩存。

????????10、HTTP使用狀態碼表示請求和響應的結果。狀態碼由三位數字組成,例如200表示成功、404表示未找到、500表示服務器內部錯誤等。

????????11、HTTP頭部包含的有關消息可以在客戶端和服務器之間傳遞附加信息。

????????12、HTTP協議可以幫助我們理解Web應用的基本工作原理。

????????13、HTTP協議是一個基于請求和響應模式的協議,它使用頭部字段來傳遞關于請求和響應的元數據。

????????14、Accept:指示客戶端能夠處理的媒體類型。

????????15、Accept-Encoding:指示客戶端能夠處理的壓縮類型,服務器可以根據該字段來壓縮傳輸的數據。

????????16、Cookie:表示客戶端已創建的會話標識。

????????17、Host:指定被請求資源的服務器的域名和端口號。

????????18、User-Agent:客戶端標識,用于標識客戶端的類型、系統、瀏覽器等信息。

????????19、Content-Encoding:指示服務器對響應實體執行的壓縮類型。

????????20、Content-Length:指示響應實體的長度(單位為字節)。

????????21、Content-Type:指示響應實體的MIME類型。

????????22、Set-Cookie:設置響應的cookie。

????????23、Server:指示HTTP服務器的軟件名稱和版本號。

????????24、Cache-Control:控制緩存的行為,例如緩存的最大年齡、是否進行重新驗證、是否跳過代理緩存等。

????????25、Connection:指示客戶端或服務器是否關閉連接。

????????26、Date:指示響應的日期和時間。

????????27、Transfer-Encoding:指示傳輸編碼。

????????28、上述HTTP頭部字段是HTTP協議中的常用字段,了解HTTP頭部字段的含義和用法可以幫助我們更好地理解HTTP工作的過程及優化網絡應用程序的性能。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/916429.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/916429.shtml
英文地址,請注明出處:http://en.pswp.cn/news/916429.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

面試實戰,問題十三,Redis在Java項目中的作用及使用場景詳解,怎么回答

Redis在Java項目中的作用及使用場景詳解(面試要點) 一、Redis的核心作用高性能緩存層 原理:Redis基于內存操作(引用[2]),采用單線程模型避免線程切換開銷,配合IO多路復用實現高吞吐(…

Python - 100天從新手到大師 - Day6

引言 這里主要是依托于 jackfrued 倉庫 Python-100-Days 進行學習,記錄自己的學習過程和心得體會。 1 文件讀寫和異常處理 實際開發中常常會遇到對數據進行持久化的場景,所謂持久化是指將數據從無法長久保存數據的存儲介質(通常是內存&…

IP--MGER綜合實驗報告

一、實驗目的完成網絡設備(路由器 R1-R5、PC1-PC4)的 IP 地址規劃與配置,確保接口通信基礎正常。配置鏈路層協議及認證:R1 與 R5 采用 PPP 的 PAP 認證(R5 為主認證方),R2 與 R5 采用 PPP 的 CH…

window的WSL怎么一鍵重置

之前用WSL來在windows和服務器之間傳輸數據,所以有很多數據緩存,但是現在找不到他們的路徑,所以想直接重置 首先使用spacesniffer看一下C盤的情況:看起來,這個WSL真的占用了很多空間,但是我又不知道該怎么刪…

卷積神經網絡研討

卷積操作原理: 特征向量與遍歷:假設已知特征向量(如藍天白云、綠油油草地特征),在輸入圖像的各個區域進行遍歷,通過計算內積判斷該區域是否有想要的特征。 內積計算特征:內積為 0 表示兩個向量垂直,關系不好,無想要的特征;夾角越小,內積越大,代表區域中有想要的特征…

【EWARM】EWARM(IAR)的安裝過程以及GD32的IAR工程模板搭建

一、簡介 IAR官網 EWARM,即 IAR Embedded Workbench for ARM,是由 IAR Systems 開發的一款專門用于 ARM 微處理器軟件開發的集成開發環境。以下是具體介紹: 功能特性: 完整工具鏈支持:集成了高級編輯器、全面的編譯…

【工程化】淺談前端構建工具

一、前端構建工具概述? 前端構建工具是輔助開發者將源代碼轉換為瀏覽器可直接運行的靜態資源的工具集合。隨著前端技術的發展,源代碼往往包含瀏覽器無法直接解析的語法(如 TypeScript、Sass)、模塊化規范(如 ES Modules、Common…

數據取證:Elcomsoft Password Digger,解密 macOS (OS X) 鑰匙串信息

Elcomsoft Password Digger(EPD)是一款在 Windows 平臺上使用的工具,用于解密存儲在 macOS 鑰匙串中的信息。該工具可以將加密的鑰匙串內容導出到一個純文本 XML 文件中,方便查看和分析。一鍵字典構建功能可以將鑰匙串中的所有密碼…

2.JVM跨平臺原理(字節碼機制)

目錄引言一、跨平臺就跟國際語言翻譯似的二、字節碼和 JVM 到底是啥玩意兒三、解決 “語言不通” 這個老難題四、實現 “一次編寫,到處運行” 就這四步五、字節碼技術給世界帶來的大改變總結引言 咱平常是不是老納悶兒,為啥同一個 Java 程序&#xff0c…

06-ES6

微任務&宏任務JS是單線程執行。所有要執行的任務都要排隊。所有的同步任務會在主線程上排隊,等待執行。異步任務:不會進入主線程,而是會進入任務隊列。等到主線程上的任務執行完成之后,通知任務隊列,執行異步任務。…

FreeSWITCH配置文件解析(10) 配置IP封禁(防暴力破解)

以下是針對FreeSWITCH配置IP封禁(防暴力破解)的完整方案,結合Fail2Ban與系統級防護策略:一、Fail2Ban核心配置(推薦方案)??啟用FreeSWITCH鑒權日志??修改SIP Profile(conf/sip_profiles/int…

【React 入門系列】React 組件通訊與生命周期詳解

🧩 第一章:組件通訊概述在 React 開發中,組件是封裝的、獨立的功能單元。為了實現組件間的數據共享與協作,需要通過組件通訊機制。組件通訊的意義: 讓多個封閉的組件能夠共享數據,實現協作功能。&#x1f4…

前端開發 Vue 狀態優化

Vue 項目中的狀態優化一般都會用Pinia替代Vuex,Pinia 是 Vue 生態系統中的一個輕量級狀態管理庫,作為 Vuex 的替代品,它提供了更簡潔的 API 和更好的性能。模塊化管理:使用 Pinia 時,建議將狀態拆分為多個 store 模塊&…

虛幻基礎:創建角色——FPS

能幫到你的話,就給個贊吧 😘 文章目錄創建角色設置模型添加攝像機添加位置:插槽彈簧臂:伸縮防止由碰撞導致攝像機穿模攝像機添加武器添加位置:插槽創建動畫藍圖:主動獲取角色數據并播放相應動畫設置角色控制…

2025年入局蘋果Vision Pro開發:從零到發布的完整路線圖

蘋果Vision Pro的發布標志著空間計算(Spatial Computing)進入主流市場。作為開發者,如何快速掌握visionOS開發?本文將為你提供詳細的路線圖、實踐建議與資源指南,涵蓋從窗口式應用到沉浸式3D應用的完整開發路徑。 一、visionOS開發的核心目標與階段劃分 visionOS的開發可…

百度文心大模型ERNIE全面解析

百度文心大模型ERNIE概述 百度推出的文心大模型(ERNIE,Enhanced Representation through kNowledge IntEgration)系列是結合知識增強技術的預訓練大模型,涵蓋自然語言處理(NLP)、跨模態、行業應用等多個方向。其開源版本為開發者提供了可商用的大模型能力支持。 ERNIE的…

【SpringAI實戰】提示詞工程實現哄哄模擬器

一、前言 二、實現效果 三、代碼實現 3.1 后端實現 3.2 前端實現 一、前言 Spring AI詳解:【Spring AI詳解】開啟Java生態的智能應用開發新時代(附不同功能的Spring AI實戰項目)-CSDN博客 二、實現效果 游戲規則很簡單,就是說你的女友生氣了&#x…

速通python加密之AES加密

AES加密 AES加密(Advanced Encryption Standard,高級加密標準)是目前全球公認的最安全、應用最廣泛的對稱加密算法之一,于2001年被美國國家標準與技術研究院(NIST)確定為替代DES的標準加密算法,…

Java 對象秒變 Map:字段自由伸縮的優雅實現

前言 在開發中,我們常常需要把對象轉成 Map 格式,用于序列化、傳輸、展示,甚至硬塞給某些第三方框架吃進去再吐出來。乍一看很簡單,字段多起來后就像打翻調色盤,維護起來一不小心就翻車。想優雅地搞定這事,必須有一套穩妥、可擴展的方案,才能寫出讓同事膜拜、領導點贊、…

激光雷達-相機標定工具:支持普通相機和魚眼相機的交互式標定

激光雷達-相機標定工具:支持普通相機和魚眼相機的交互式標定 前言 在自動駕駛、機器人導航等領域,激光雷達和相機的標定是一個基礎而重要的問題。準確的標定結果直接影響后續的感知算法性能。本文將介紹一個開源的激光雷達-相機標定工具,支持…