【計算機網絡】實驗12:網際控制報文協議ICMP的應用

實驗12 網際控制報文協議ICMP的應用

一、實驗目的

驗證ping命令和tracert命令的工作原理。

二、實驗環境

·Cisco Packet Tracer模擬器

三、實驗過程

1.構建網絡拓撲并進行信息標注,將所需要配置的IP地址寫在對應的主機或者路由器旁邊,如圖1所示。

img

圖1 網絡拓撲

2.配置主機H1,H2的IP地址、路由器的IP地址、子網掩碼、靜態路由,如圖2,3,4所示。 在這里插入圖片描述

圖2 主機IP地址以及子網掩碼配置

img

圖3 路由器端口IP地址配置

img

圖4 路由器靜態路由配置

3.觀察主機H1-H2是否能正常通信,判斷拓撲是否建立成功,配置正確,讓主機H1使用ping 192.168.1.1與主機H2通信,結果如圖5所示。經過兩次超時,是因為經過了兩個路由器,有兩次ARP的影響。

img

圖5 H1與H2之間的通信

4.跟蹤數據報從H1到達H2經過了哪些路由器,通過命令tracter 192.168.1.1來查看,結果如圖6所示。圖中給出了經過各個路由器的相關端口。

img

圖6 數據包到達H2經過的路徑

5.切換到仿真模式下H2 pingH1,如圖7所示,觀察ping命令是如何通過ICMP實現的,并且過濾協議,只保留ICMP協議,主機H2的封裝細節如圖8所示,PING進程創建了一個ICMP“回送請求”報文并將其傳送給下層進程。

img

圖7 讓主機H2ping主機H1

img

圖8 在主機H2上的PDU信息

6.點擊捕獲前進,當數據包到達主機H1時,查看封裝的PDU細節,如圖

9所示。此時ICMP收到的數據包是一個ICMP數據包,此時ICMP進程將會對其處理,ICMP進程收到一個“回送請求”報文,

img

圖9 主機H1上的PDU信息

7.點擊捕獲前進,當主機H2收到響應報文之后,第一次ICMP請求就結束了,如圖10所示。

img

圖10 第一次ICMP請求報文結束

8.仿真模式下H1tracertH2,如圖11所示,觀察tracert命令是如何通過ICMP實現的,再查看主機H1上的PDU信息,如圖12所示。Trace route進程啟動下一個追蹤,Trace route進程創建一個ICMP“回送請求”報文并將其發送給下一層進程。

img

圖11 仿真模式下H1tracertH2

img

圖12 查看主機H1的PDU信息

9.再次查看主機H1上的出站PDU詳情,發現TTL字段被設置成為了1,如圖13所示。這說明當轉發到下一個路由器的時候,就會將TTL減1,也就是置為0,那么此時路由器就會丟棄這個ICMP報文,如圖14所示,并給源主機H1發送一個ICMP差錯報告(類型是時間超過),此時查看路由器上的PDU信息,如圖15所示。設備發送一個ICMP“時間超過”報文。

img

圖13 出站PDU中的TTL被設置成1

img

圖14 路由器丟棄這個ICMP報文

img

圖15 路由器上的PDU信息

10.主機H1獲取路徑上的第一個路由器需要發送三個ICMP報文,并且也要收到三個ICMP響應報文才算找到第一個路由器,如下圖所示,第一個路由器的IP地址為192.168.0.254,如圖16所示。

img

圖16 主機H1找到第一個路由器

11.同理,主機H1要找到第二個路由器,就需要將TTL的值設置為2,然后就去找找到的話,也是需要進行三次ICMP報文的傳送以及收到三個ICMP報文的響應,才算找到第二個路由器,如圖17所示。同理找到第三個路由器,主機H1將TTL字段設置為3,找到第三個路由器如圖18所示。

img

圖17 主機H1找到第二個路由器

img

圖18 主機H1找到第三個路由器

四、實驗小結

  1. Ping命令和tracert命令都是基于網際控制報文協議(ICMP)實現的。Ping命令用于測試主機之間、主機與路由器之間以及路由器與路由器之間的連通性。而tracert命令則用于探測從源主機到目的主機之間經過的路由器路徑。

  2. Ping命令利用ICMP中的詢問報文機制,源主機發送ICMP請求報文,目的主機則返回相應的應答報文,以確認連通性。

  3. 使用tracert命令時,發出的數據包的生存時間(TTL)初始值為1。當數據包經過第一個路由器時,TTL值減1,變為0,此時數據包會被丟棄,并向源主機發送一個ICMP差錯報告(“時間超過”報文),從而告知源主機該數據包未能成功到達目的地。

  4. tracert命令不僅依賴于詢問報文,還利用差錯報文來獲取路徑信息,從而逐步確定源主機到目的主機之間的路由路徑。

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

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

相關文章

迭代器模式的理解和實踐

引言 在軟件開發中,我們經常需要遍歷容器對象(如數組、列表、集合等)中的元素。如果每個容器對象都實現自己的遍歷算法,那么代碼將會變得冗余且難以維護。為了解決這個問題,迭代器模式應運而生。迭代器模式是一種行為型…

TS2339: Property ‘value‘ does not exist on type ‘MessageBoxData‘.

1、源代碼 <template><el-dialog:visible"visible":before-close"handleClose":close-on-click-modal"false"title"邀請碼"width"1200px"append-to-bodydestroy-on-close><div class"invite-code-wrap…

ubuntu防火墻(三)——firewalld使用與講解

本文是Linux下&#xff0c;用ufw實現端口關閉、流量控制(二) firewalld使用方式 firewalld 是一個動態管理防火墻的工具&#xff0c;主要用于 Linux 系統&#xff08;包括 Ubuntu 和 CentOS 等&#xff09;。它提供了一個基于區域&#xff08;zones&#xff09;和服務&#x…

Windows 安裝配置 RabbitMQ 詳解

博主介紹&#xff1a; 計算機科班人&#xff0c;全棧工程師&#xff0c;掌握C、C#、Java、Python、Android等主流編程語言&#xff0c;同時也熟練掌握mysql、oracle、sqlserver等主流數據庫&#xff0c;能夠為大家提供全方位的技術支持和交流。 工作五年&#xff0c;具有豐富的…

R語言的數據結構--矩陣

【圖書推薦】《R語言醫學數據分析實踐》-CSDN博客 《R語言醫學數據分析實踐 李丹 宋立桓 蔡偉祺 清華大學出版社9787302673484》【摘要 書評 試讀】- 京東圖書 (jd.com) R語言醫學數據分析實踐-R語言的數據結構-CSDN博客 矩陣是一個二維數組&#xff0c;矩陣中的元素都具有相…

JAVA基礎學習筆記_反射+動態代理

文章目錄 反射獲取class對象的三種方式獲取構造方法獲取成員變量獲取成員方法反射的作用 動態代理 反射 允許對成員變量\成員方法\構造方法的信息進行編程訪問 把類內的信息扒的干干凈凈,獲取解剖 獲取從class字節碼文件中獲取 獲取class對象的三種方式 public static void …

微信小程序一鍵復制功能

wx.setClipboardData(Object object) 設置系統剪貼板的內容。調用成功后&#xff0c;會彈出 toast 提示"內容已復制"&#xff0c;持續 1.5s wx.setClipboardData({data: 你需要復制的內容,success (res) {wx.getClipboardData({success (res) {console.log(res.dat…

【Python網絡爬蟲 常見問題匯總】

目錄 1. 爬取圖片出現403解決辦法&#xff1a;設置請求頭中的Referer字段 2.關于干壞事的問題后續不定期更新 歡迎共同探討學習進步 1. 爬取圖片出現403 問題出自案例9&#xff0c;已解決。 【Python網絡爬蟲筆記】9- 抓取優美圖庫高清壁紙 當在爬取圖庫圖片時遇到 403 錯誤…

Linux: docker: 怎么修改 proc下的文件內容?

文章目錄 參考問題方法 1:在宿主機上修改參數方法 2:啟動容器時掛載 /proc 為可寫方法 3:通過 Kubernetes 調整配置方法 4:構建特權容器參考 https://docs.docker.com/security/for-admins/hardened-desktop/enhanced-container-isolation/features-benefits/#procfs–sys…

分布式 分布式事務 總結

前言 相關系列 《分布式 & 目錄》《分布式 & 分布式事務 & 總結》《分布式 & 分布式事務 & 問題》 分布式事務 所謂分布式事務是指操作范圍籠罩多個不同節點的事務。例如對于訂單節點&庫存節點而言&#xff0c;一次完整的交易需要同時調動兩個節…

STM32+模擬或硬件IIC+SHT20驅動問題:接上拉電阻、BUSY死鎖?

主要問題&#xff1a; 1&#xff0c;使用STM32F103C8T6&#xff0c;模擬IIC&#xff0c;SCL和SDA口配置為推挽輸出上拉&#xff0c;主要是SDA腳&#xff0c;每次都要輸出輸入模式重新配置&#xff0c;雖然也能通信&#xff0c;但不穩定&#xff0c;出錯率大&#xff1b; 2&…

【工業機器視覺】基于深度學習的水表盤讀數識別(3-數據標注與轉換)

【工業機器視覺】基于深度學習的儀表盤識讀&#xff08;2&#xff09;-CSDN博客 數據標注 標注擴展 Labelme 和 LabelImg 都是用于創建機器學習和計算機視覺項目所需標注數據的工具。它們都允許用戶通過圖形界面手動標注圖像&#xff0c;但各自有其特點和適用場景。 Labelme…

靜態路由與交換機配置實驗

1.建立網絡拓撲 添加2臺計算機&#xff0c;標簽名為PC0、PC1&#xff1b;添加2臺二層交換機2960&#xff0c;標簽名為S0、S1&#xff1b;添加2臺路由器2811&#xff0c;標簽名為R0、R1&#xff1b;交換機劃分的VLAN及端口根據如下拓撲圖&#xff0c;使用直通線、DCE串口線連接…

【Spark】Spark Join類型及Join實現方式

Spark Join類型 1. Inner Join (內連接) 示例&#xff1a;val result df1.join(df2, df1("id") df2("id"), "inner")執行邏輯&#xff1a;只返回那些在兩個表中都有匹配的行。 2. Left Join (左外連接) 示例&#xff1a;val result df1.jo…

socket UDP 環路回顯的服務端

基于socket通訊的方式&#xff0c;無論用http或者udp或者自定義的協議&#xff0c;程序結構都是類似的。這個以UDP協議為例簡要說明。 #include <stdio.h> // 標準輸入輸出庫 #include <sys/types.h> // 提供了一些數據類型&#xff0c;如ssize_t #include <sy…

Linux:network:添加ip的時候自動添加一個本地路由

文章目錄 問題問題 最近在看一個路由的問題,順便看內核代碼,發現在添加IP的時候,內核會自動添加一個local route。 net/ipv4/devinet.c inet_rtm_newaddr->__inet_insert_ifa /* Send message first, then call notifier.Notifier will trigger FIB update, so thatlis…

Magnet Player:一款基于Web的磁力鏈媒體播放器

Magnet Player&#xff1a;一款基于Web的磁力鏈媒體播放器 項目地址:https://gitcode.com/gh_mirrors/ma/magnet-player 是一個創新的開源項目&#xff0c;它允許用戶直接在瀏覽器中播放磁力鏈&#xff08;Magnet URI&#xff09;內容&#xff0c;無需下載或安裝任何桌面應用…

php:完整部署Grid++Report到php項目,并實現模板打印

一、下載Grid++Report軟件 路徑:開發者安裝包下載 - 銳浪報表工具 二、 安裝軟件 1、對下載的壓縮包運行內部的exe文件 2、選擇語言 3、 完成安裝引導 下一步即可 4、接收許可協議 點擊“我接受” 5、選擇安裝路徑 “瀏覽”選擇安裝路徑,點擊"安裝" 6、完成…

web安全攻防入門教程

Web安全攻防入門教程 Web安全攻防是指在Web應用程序的開發、部署和運行過程中&#xff0c;保護Web應用免受攻擊和惡意行為的技術與策略。這個領域不僅涉及防御措施的實現&#xff0c;還包括通過滲透測試、漏洞挖掘和模擬攻擊來識別潛在的安全問題。 本教程將帶你入門Web安全攻…

前端node環境安裝:nvm安裝詳細教程(安裝nvm、node、npm、cnpm、yarn及環境變量配置)

需求&#xff1a;在做前端開發的時候&#xff0c;有的時候 這個項目需要 node 14 那個項目需要 node 16&#xff0c;我們也不能卸載 安裝 。這豈不是很麻煩。這個時候 就需要 一個工具 來管理我們的 node 版本和 npm 版本。 下面就分享一個 nvm 工具 用來管理 node 版本。 這個…