成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

對于Ping的過程,你真的了解嗎?

安全 應用安全
對于ping命令,想必只要是程序員都知道吧?當我們檢查網絡情況的時候,最先使用的命令肯定是ping命令吧?一般我們用ping查看網絡情況,主要是檢查兩個指標,第一個是看看是不是超時,第二個看看是不是延遲太高。

[[253587]]

一、概覽

對于ping命令,想必只要是程序員都知道吧?當我們檢查網絡情況的時候,***使用的命令肯定是ping命令吧?一般我們用ping查看網絡情況,主要是檢查兩個指標,***個是看看是不是超時,第二個看看是不是延遲太高。如果超時那么肯定是網絡有問題啦(禁ping情況除外),如果延遲太高,網絡情況肯定也是很糟糕的。那么對于ping命令的原理,ping是如何檢查網絡的?大家之前有了解嗎?接下來我們來跟著ping命令走一圈,看看ping是如何工作的。

二、環境準備和抓包

2.1 環境準備

1.抓包工具。我這里使用Wireshark。

2.我準備了兩臺電腦,進行ping的操作。 ip地址分別為:

A電腦:192.168.2.135

mac地址:98:22:EF:E8:A8:87

B電腦:192.168.2.179

MAC:90:A4:DE:C2:DF:FE

2.2 抓包操作

打開 Wireshark,選取指定的網卡進行抓包,進行ping操作,在A電腦上ping B電腦的ip。

圖a

抓包情況如下:

圖b

這里先簡單的介紹下Wireshark的控制面板,這個面板包含7個字段,分別是:

  • NO.編號
  • Time:包的時間戳
  • Source:源地址
  • Destination:目標地址
  • Protocol:協議
  • Length:包長度
  • Info:數據包附加信息

三、深入解析

上圖中抓包編號54-132顯示的就是整個ping命令的過程,我們知道ping命令不是依托于TCP或者UDP這種傳輸層協議的,而是依托于ICMP協議實現的, 那么什么是ICMP協議呢?這里簡單介紹下:

3.1 ICMP協議的產生背景

[RFC792]中說明了ICMP產生的原因:由于互聯網之間通訊會涉及很多網關和主機,為了能夠報告數據錯誤,所以產生了ICMP協議。也就是說ICMP協議就是為了更高效的轉發IP數據報和提高交付成功的機會。

3.2 ICMP協議的數據格式

圖c

根據上圖我們知道了ICMP協議頭包含4個字節,頭部主要用來說明類型和校驗ICMP報文。下圖是對應的類型和代碼釋義列表,我們后面分析抓包的時候會用到。

圖d

簡單介紹完了ICMP,那么抓***程中出現的ARP協議是什么呢?我們同樣來簡單解釋下:

3.3 ARP協議

我們知道,在一個局域網中,計算機通信實際上是依賴于MAC地址進行通信的,那么ARP(Address Resolution Protocol)的作用就是根據IP地址查找出對應ip地址的MAC地址。

3.4 Ping過程解析

了解了上面的基礎概念后,我們來分析下抓包的數據。圖b的流程如下:

A電腦(192.168.2.135)發起ping請求,ping 192.168.2.179

A電腦廣播發起ARP請求,查詢 192.168.2.179的MAC地址。

B電腦應答ARP請求,向A電腦發起單向應答,告訴A電腦自己的MAC地址為90:A4:DE:C2:DF:FE

知道了MAC地址后,開始進行真正的ping請求,由于B電腦可以根據A電腦發送的請求知道源MAC地址,所有就可以根據源MAC地址進行響應了。

上面的請求過程我畫成流程圖比較直觀一點:

觀察仔細的朋友可能已經發現,Ping4次請求和響應結束后,還有一次B電腦對A電腦的ARP請求,這是為什么呢?這里我猜測應該是有2個原因:

1.由于ARP有緩存機制,為了防止ARP過期,結束后重新更新下ARP緩存,保證下次請求能去往正確的路徑,如果ARP過期就會導致出現一次錯誤,從而影響測試準確性。

2.由于ping命令的響應時間是根據請求包和響應包的時間戳計算出來的,所以一次ARP過程也是會消耗時間。這里提前緩存***的ARP結果就是節省了下次ping的arp時間。

為了驗證我們的猜測,我再進行一次ping操作,抓包看看是不是和我們猜測的一樣。此時,計算機里面已經有了ARP的緩存,我們執行ARP -a 看看緩存的arp列表:

我們看看第二次ping的抓包:

我們看到上圖中在真正ping之前并沒有進行一次ARP請求,這也就是說,直接拿了緩存中的arp來執行了,另外當B計算機進行響應之前還是進行了一次ARP請求,它還是要確認下之前的ARP緩存是否為正確的。然后結束ping操作之后,同樣在發一次ARP請求,更新下自己的ARP緩存。這里和我們的猜想基本一致。

弄懂了ping的流程之后我們來解析下之前解釋的ICMP數據結果是否和抓包的一致。 我們來點擊一個ping request看看ICMP協議詳情:

圖中紅框內就行ICMP協議的詳情了,這里的Type=8,code=0,校驗是正確。我們對比圖d,就知道了這是一個請求報文。我們再點擊Response frame:57,這里說明響應報文在序號57。詳情如下:

上圖的響應報文,Type=0,code=0。這里知道就是響應報文了,然后***就是根據請求和響應的時間戳計算出來的響應延遲。3379.764 ms-3376.890 ms=2.874 ms。

四、總結

我們分析了一次完整的ping請求過程,ping命令是依托于ICMP協議的,ICMP協議的存在就是為了更高效的轉發IP數據報和提高交付成功的機會。ping命令除了依托于ICMP,在局域網下還要借助于ARP協議,ARP協議能根據IP地址查出計算機MAC地址。ARP是有緩存的,為了保證ARP的準確性,計算機會更新ARP緩存。

責任編輯:武曉燕 來源: Python運維圈
相關推薦

2022-07-26 00:00:22

HTAP系統數據庫

2014-04-17 16:42:03

DevOps

2018-02-02 10:56:19

屏蔽機房擴建

2025-01-03 08:09:15

2021-01-15 07:44:21

SQL注入攻擊黑客

2021-11-09 09:48:13

Logging python模塊

2014-11-28 10:31:07

Hybrid APP

2023-03-16 10:49:55

2020-02-27 10:49:26

HTTPS網絡協議TCP

2019-09-16 08:40:42

2021-11-26 08:07:16

MySQL SQL 語句數據庫

2023-11-01 13:48:00

反射java

2012-05-31 09:56:54

云安全

2023-10-24 08:53:24

FutureTas并發編程

2019-11-06 09:52:01

JavaScript單線程非阻塞

2022-03-14 07:53:27

ELTETL大數據

2022-12-12 08:46:11

2015-07-31 10:35:18

實時計算

2017-10-18 22:01:12

2024-02-02 08:50:20

Node.js元數據自動化
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 高清国产午夜精品久久久久久 | 国产亚洲精品91 | 国产精品视频不卡 | 一区二区三区国产 | 精品国产免费人成在线观看 | 国产高清视频一区二区 | 欧美日韩电影一区二区 | 欧美日韩成人影院 | 欧美日韩视频 | 国产精品久久久久久吹潮 | 日韩看片 | 日韩在线中文 | 亚洲一区av在线 | 日本一级淫片免费啪啪3 | 日日操视频 | 精品久久久久久久人人人人传媒 | 99视频在线播放 | 亚洲欧美视频一区二区 | 亚洲视屏 | 欧美黑人一级爽快片淫片高清 | 最新免费av网站 | 国产一级影片 | 午夜激情在线视频 | 成人免费视频一区二区 | 午夜影视免费片在线观看 | 久久综合一区 | 在线观看涩涩视频 | 99久久久久久久久 | 欧美久久一区 | 草久在线| 亚洲男人天堂av | 国产一区免费视频 | 欧美精品久久久 | 国产伦精品一区二区三区照片91 | 欧美日韩视频 | 天天干b | 国产乱码久久久 | 久久51| 久久久久国产精品 | 国产在线一区观看 | 国产欧美一区二区三区久久手机版 |