色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

24張圖搞定ICMP :最常用的網絡命令ping和tracert

Linux愛好者 ? 來源:Linux愛好者 ? 2023-08-01 15:08 ? 次閱讀

462e0dc6-301f-11ee-9e74-dac502259ad0.png

ICMP

IP是盡力傳輸的網絡協議,提供的數據傳輸服務是不可靠的、無連接的,不能保證數據包能成功到達目的地。那么問題來了:如何確定數據包成功到達目的地?

463f5770-301f-11ee-9e74-dac502259ad0.png

這需要一個網絡層協議,提供錯誤檢測功能和報告機制功能,于是出現了ICMP(互聯網控制消息協議)。ICMP 的主要功能是,確認 IP 包是否成功送達目的地址,通知發送過程中 IP 包被丟棄的原因。有了這些功能,就可以檢查網絡是否正常、網絡配置是否正確、設備是否異常等信息,方便進行網絡問題診斷。

4657d890-301f-11ee-9e74-dac502259ad0.png

舉個栗子:如果在傳輸過程中,發生了某個錯誤,設備便會向源設備返回一條 ICMP 消息,告訴它發生的錯誤類型。

46672192-301f-11ee-9e74-dac502259ad0.png

ICMP 消息是通過 IP 進行傳輸,但它的目的并不是讓 IP 成為一種可靠的協議,而是對傳輸中發生的問題進行反饋。ICMP 消息的傳輸同樣得不到可靠性保證,也有可能在傳輸過程中丟失。因此 ICMP 不是傳輸層的補充,應該把它當做網絡層協議。

ICMP 消息封裝

ICMP 消息使用 IP 來封裝,封裝格式如下圖。

468d0042-301f-11ee-9e74-dac502259ad0.png

其中type(類型)字段表示 ICMP 消息的類型,code(代碼)字段表示 ICMP 消息的具體含義。例如:type 值為 3 表示目的不可達消息( Destination Unreachable Message ),若 code 值為 0 表示目的網絡不可達( Network Unreachable )。常見的 ICMP 消息類型如下圖。

46a02014-301f-11ee-9e74-dac502259ad0.png

從功能上,ICMP 的消息可分為兩類:一類是通知出錯原因的錯誤消息,另一類是用于診斷的查詢消息。

46cdd4dc-301f-11ee-9e74-dac502259ad0.png

常見的 ICMP 消息類型

回送請求消息( Echo Request ):是由源設備(主機或路由器等)向一個指定的目的設備發出的請求。這種消息用來測試目的地是否可達。

回送響應消息( Echo Reply ):對 Echo Request 的響應。目的設備發送 Echo Reply 來響應收到的 Echo Request 。最常用的 ping 命令就是使用 Echo Request 和 Echo Reply 來實現的。

46ddf59c-301f-11ee-9e74-dac502259ad0.png

目的不可達( Destination Unreachable ):路由器無法將 IP 包發送給目的地址時,會給源設備返回一個 Destination Unreachable 消息,并在消息中顯示不可達的具體原因。

46fdb51c-301f-11ee-9e74-dac502259ad0.png

實際情況下,經常會遇到的錯誤代碼是 1 ,表示主機不可達,它是指路由表中沒有目的設備的信息,或目的設備沒有連接到網絡。

4715aaa0-301f-11ee-9e74-dac502259ad0.png

參數問題( Parameter Problem ):路由器發現 IP 包頭出現錯誤或非法值后,向源設備發送一個 Parameter Problem 消息。這個消息包含有問題的 IP 頭,或錯誤字段的提示信息。

472d6fdc-301f-11ee-9e74-dac502259ad0.png

重定向( Redirect ):如果路由器發現一條更優的路徑發送數據,那么它就會返回一個 Redirect 消息給主機。這個消息包含了最合適的路由信息和源數據。

實際情況下,這種 Redirect 消息會引發路由問題,所以不進行這種設置。比如:路由器的路由表不準確時,ICMP 有可能就無法正常工作。

4743fbee-301f-11ee-9e74-dac502259ad0.png

超時( Time Exceeded ):IP 包中有一個字段是 TTL(生存周期),它的值每經過一次路由器就減 1 ,直到減到 0 時 IP 包會被丟棄。這時,路由器會發送一個 Time Exceeded 消息給源設備,并通知 IP 包已被丟棄。

設置 TTL 的主要目的,是當路由發生環路時,避免 IP 包無休止的在網絡上轉發。還可以用 TTL 控制 IP 包的可達范圍,比如設置一個較小的 TTL 值。

475bff0a-301f-11ee-9e74-dac502259ad0.png

時間戳請求/時間戳響應( Timestamp Request / Timestamp Reply ):時間戳可以記錄 ICMP 消息一次往返所需的時間。源設備發送一個帶有發送時間的 Timestamp Request 消息,目的設備收到后,發送一個帶有原設備發送時間、目的設備接收時間以及目的設備發送時間的 Timestamp Reply 消息。源設備收到 Timestamp Reply 時,并同時記錄到達時間。這些時間戳可以估計網絡上的傳輸時間。

476fddd6-301f-11ee-9e74-dac502259ad0.png

ICMP 的應用

ICMP 被廣泛應用于網絡測試,最常用的ping和tracert網絡測試工具,都是使用 ICMP 協議實現的。

ping

ping 是 ICMP 最著名的一個應用,通過 ping 可以測試網絡的可達性,即網絡上的報文能否成功到達目的地。使用 ping 命令時,源設備向目的設備發送 Echo request 消息,目的地址是目的設備的 IP 地址。目的設備收到 Echo request 消息后,向源設備回應一個 Echo reply 消息,可知目的設備是可達的。也可以通過 ping 命令來判斷目標主機是否啟用。

4786602e-301f-11ee-9e74-dac502259ad0.png

如果中間某個路由器沒有到達目的網絡的路由,便會向源設備回應一個 Destination Unreachable 消息,告知目的設備不可達。

479a7b4a-301f-11ee-9e74-dac502259ad0.png

如果源主機在一定時間內無法收到回應報文,就認為目的設備不可達,并顯示超時。

47c038f8-301f-11ee-9e74-dac502259ad0.png

需要注意的是 ping 過程是雙向的消息通信,只有雙向都成功傳輸時,才能說明通信是正常的。另外主機也可能因為防火墻攔截,導致 ping 不通。

tracert

ping 工具只能測試目的設備的連通性,但是看不到數據包的傳輸路徑。所以在網絡不通的情況下,無法知道網絡問題發生在哪個位置。tracert 工具可以查看數據包的整條傳輸路徑,包括途中經過的中間設備。

47cadba0-301f-11ee-9e74-dac502259ad0.png

IP 頭部的TTL字段是為避免數據包循環轉發而設計的。每經過一個路由器,數據包頭中的 TTL 值減 1 。如果 TTL 值為 0 則丟棄報文,并向源設備回應一個 Time Exceeded 消息,告知錯誤類型。tracert 就是基于 TTL 字段和 ICMP 協議實現的。在 Windows 中命令是tracert,在 Unix 、MacOS 中命令是traceroute

使用 tracert 命令時,源設備的 tracert逐跳發送數據包,并等待每一個響應報文。發送第一個數據包時,TTL 值設為 1 。第一個路由器收到數據包后 TTL 值減 1 ,隨即丟棄數據包,并返回一個 Time Exceeded 消息。源設備的 tracert 收到響應報文后,取出源 IP 地址,即路徑上的第一個路由器地址。然后 tracert 發送一個 TTL 值為 2 的數據包。第一個路由器將 TTL 值減 1 ,并轉發數據包。第二個路由器再將 TTL 值減 1 ,丟棄數據包并返回一個 Time Exceeded 消息。tracert 收到響應報文后,取出源 IP 地址,即路徑上的第二個路由器地址。類似步驟,tracert 逐跳獲得每一個路由器的地址,并探測到目的設備的可達性。

47dd1cf2-301f-11ee-9e74-dac502259ad0.png

tracert 過程也是雙向的消息通信,只有雙向都成功傳輸時,才能正確探測路徑。另外主機安裝了防火墻,也可能造成路徑探測失敗。

網絡實戰

ping

在 Windows 電腦上使用ping命令,并查看返回信息。

48026174-301f-11ee-9e74-dac502259ad0.png

同步抓包進行驗證。

4813fc0e-301f-11ee-9e74-dac502259ad0.png

還可以直接使用 ping 命令,查看 ping 命令的使用方法。

48478eca-301f-11ee-9e74-dac502259ad0.png

tracert

在 Windows 電腦上使用tracert命令,并查看返回信息。

48613de8-301f-11ee-9e74-dac502259ad0.png

同步抓包進行驗證。

4871fa2a-301f-11ee-9e74-dac502259ad0.png

也可以直接使用 tracert 命令,查看 tracert 命令的使用方法。

48ed26c8-301f-11ee-9e74-dac502259ad0.png

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 網絡協議
    +關注

    關注

    3

    文章

    267

    瀏覽量

    21534
  • ICMP
    +關注

    關注

    0

    文章

    52

    瀏覽量

    14923
  • Ping
    +關注

    關注

    0

    文章

    69

    瀏覽量

    15974

原文標題:24 張圖搞定 ICMP :最常用的網絡命令 ping 和 tracert

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    在家里可以常用網絡測試命令

           在家里可以常用網絡測試命令先按開始-運行 然后輸入cmd進入命令提示然后輸入以下
    發表于 06-02 18:23

    [原創]網管一定要知道----網絡管理中的常用命令

    網管一定要知道----網絡管理中的常用命令1.最基本,最常用的,測試物理網絡ping 192.168.0.8 -t ,參數-t是等待用戶
    發表于 09-07 12:09

    四個ping命令搞定網絡故障

    四個ping命令搞定網絡故障如果你的電腦不能上網或者突然不能上網了怎么辦?請專業人員來維修還是自己瞎急一通呢,下面給大家介紹如何準確地判斷電腦不能上網問題出在哪里?又如何能快捷地解決這
    發表于 04-13 14:24

    必須學的幾個網絡測試命令

    必須學的幾個網絡測試命令ping ping是測試網絡聯接狀況以及信息包發送和接收狀況非常有用的工具,是
    發表于 02-25 15:09

    【我是電子發燒友】常用網絡命令匯總

    解決 NetBIOS 名稱問題7. 使用 netstat 用于顯示與IP、 TCP、 UDP和ICMP協議相關的統計數據,一般用于檢驗本機各端口的網絡連接情況。8. 使用 tracert 跟蹤
    發表于 06-15 22:48

    巧用Ping和Traceroute命令排除網絡故障

    在分析Ping 和Traceroute 命令工作原理和影響因素的基礎上,詳細介紹了使用Ping 和Traceroute 命令檢查網絡連接性、
    發表于 08-11 08:25 ?35次下載

    icmpping的區別

    ping 程序是用來探測主機到主機之間是否可通信,如果不能ping到某臺主機,表明不能和這臺主機建立連接。ping 使用的是ICMP協議,它發送ic
    發表于 11-03 09:41 ?6w次閱讀
    <b class='flag-5'>icmp</b>和<b class='flag-5'>ping</b>的區別

    ping命令的使用方法及功能

    ping是Windows、Unix和Linux系統下的一個命令ping也屬于一個通信協議,是TCP/IP協議的一部分。利用“ping命令
    發表于 11-23 15:22 ?7.2w次閱讀
    <b class='flag-5'>ping</b><b class='flag-5'>命令</b>的使用方法及功能

    ICMP協議Ping命令的應用是什么

    Ping命令利用ICMP回射請求報文和回射應答報文來測試目標系統是否可達。ICMP回射請求和ICMP回射應答報文是配合工作的?當源主機向目標
    發表于 12-08 15:22 ?7845次閱讀

    ping命令的使用大全(Windows下ping命令的使用)

    ping命令相信大家已經再熟悉不過了,但是能把ping的功能發揮到最大的人卻并不是很多,下面就給大家講一些ping命令的運用。
    的頭像 發表于 02-24 10:29 ?1.4w次閱讀

    ping命令的作用和原理是什么?

    在測試和部署網絡通信應用時,我們經常會遇到網絡不通的問題。一般都會想到ping一下。那么ping命令的作用和原理到底是什么呢?
    的頭像 發表于 03-18 17:21 ?9613次閱讀

    雙絞線的兩種接法,網絡測試最常用PING命令

    今天和大家一起復習常用網絡基礎知識,包括雙絞線;光模塊;交換機;還有網絡測試最常用PING命令
    的頭像 發表于 03-21 10:39 ?1.1w次閱讀

    如何利用Python實現快速Ping一個IP網段地址?

    ping 命令是我們檢查網絡最常用命令,作為網絡人員,基本上每天都會用到,可以很好地幫助我們
    的頭像 發表于 06-29 15:59 ?3793次閱讀
    如何利用Python實現快速<b class='flag-5'>Ping</b>一個IP網段地址?

    你知道ping命令是如何工作的嗎?

    我們用來測試一臺機器與另一臺機器的網絡連通性一般會使用ping命令,那么你知道ping命令是如何工作的嗎?
    的頭像 發表于 05-31 11:40 ?1066次閱讀
    你知道<b class='flag-5'>ping</b><b class='flag-5'>命令</b>是如何工作的嗎?

    Ping命令的基本用法

    當談到網絡故障排除工具時,Ping(Packet Internet Groper)是其中最常用和最基本的之一。
    的頭像 發表于 10-17 13:58 ?1888次閱讀
    主站蜘蛛池模板: 欧洲内射VIDEOXXX3D| 国产睡熟迷奷系列精品| 一本道高清码| 日日摸夜夜嗷嗷叫日日拍| 九九精品久久| 怪物高h粗暴无尽| 337p欧洲亚大胆精品| 无遮挡h肉3d动漫在线观看 | 亚洲国产成人私人影院| 欧美白人战黑吊| 久久成人无码国产免费播放| 国产MD视频一区二区三区| 3D内射动漫同人资源在线观看| 午夜不卡av免费| 日本免费无码A专区在线观看| 久久秋霞理论电影| 含羞草在线| 国产麻豆AV伦| 东北嫖妓对白粗口| 99精品久久| 最近高清中文字幕无吗免费看| 亚洲无遮挡| 亚洲国产亚综合在线区尤物| 色欲午夜无码久久久久久| 欧美性appstin孕妇| 女教师杨雪的性荡生活| 久久亚洲国产中文字幕| 黑丝女仆恋上我| 国产午夜精AV在线麻豆| 国产精品人妻系列21P| 给我免费播放片bd国语| 成人精品视频| 成人国产亚洲欧美成人综合网 | 欧洲另类一二三四区| 嫩草影院久久国产精品| 男人插女人逼逼| 免费一级特黄欧美大片久久网| 美国ZOOM动物在线观看| 噜噜噜狠狠夜夜躁精品| 蜜桃色欲AV久久无码精品| 女教师二十三歳|