腦出問題了,上不了網(wǎng),想排查下電腦的問題出在哪兒就需要用到ping,但是如果是Mac電腦該如何ping呢?其實在Mac 自帶的“終端”中使用ping命令,下面小編教你如何在Mac系統(tǒng)中使用ping命令。
Mac下有個類似于Windows下CMD的模式叫做終端,但是這個模式和Windows下的CMD有一些差別。
Macv.com
Macv.com
Macv.com
腦出問題了,上不了網(wǎng),想排查下電腦的問題,用慣了window的你可以輕松運行ping命令,但是剛接手mac電腦的你,知道Mac電腦如何使用ping命令嗎?一起跟隨小編來看看吧!
Mac下有個類似于Windows下CMD的模式叫做終端,但是這個模式和Windows下的CMD有一些差別。
ing命令我們見怪不怪了,一般來說,我們們用 ping查看網(wǎng)絡(luò)情況,主要是檢查兩個指標(biāo):
1、對方是否可達(dá)
2、延遲是否太高
如果超時那么肯定是網(wǎng)絡(luò)有問題(禁 ping情況除外),如果延遲太高,網(wǎng)絡(luò)情況肯定也是很糟糕的。
我們知道它的作用,但是ping到底是如何檢查網(wǎng)絡(luò)的?它背后的原理又是什么呢?
接下來我們做個實驗來驗證一下!
環(huán)境準(zhǔn)備和抓包
01 環(huán)境準(zhǔn)備
抓包工具:Wireshark 準(zhǔn)備兩臺電腦,進(jìn)行互 ping操作:
02 抓包操作
打開 Wireshark,選取指定的網(wǎng)卡進(jìn)行抓包,進(jìn)行 ping操作,在 A電腦上 ping B電腦的 IP。抓包情況如下:
在上圖中可以看到發(fā)送方和接收方的IP以及使用的協(xié)議等、在下面的封包列表中顯示被選中的詳細(xì)信息,信息按OSI Layer進(jìn)行分組;
上面就是整個 ping命令的過程,但我們知道 ping命令不是依托于 TCP或者 UDP這種傳輸層協(xié)議的,而是依托于 ICMP協(xié)議實現(xiàn)的, 那么什么是 ICMP 協(xié)議呢?這里簡單介紹下:
1、ICMP是什么?
ICMP是控制報文協(xié)議,它是TCP/IP協(xié)議族的一個子協(xié)議,用于在IP主機(jī)、路由器之間傳遞控制消息。控制消息是指網(wǎng)絡(luò)通不通、主機(jī)是否可達(dá)、路由是否可用等網(wǎng)絡(luò)本身的消息,這些控制消息雖然并不傳輸用戶數(shù)據(jù),但是對于用戶數(shù)據(jù)的傳遞起著重要的作用。
從技術(shù)角度說,ICMP就是一個"錯誤偵測與回報機(jī)制",其目的就是讓我們能夠檢測網(wǎng)路的連線狀況﹐也能確保連線的準(zhǔn)確性﹐其功能主要有:
· 偵測遠(yuǎn)端主機(jī)是否存在。
· 建立及維護(hù)路由資料。
· 重導(dǎo)資料傳送路徑(ICMP重定向)。
ICMP在溝通之中,主要是透過不同的類別(Type)與代碼(Code) 讓機(jī)器來識別不同的連線狀況。常用的類別如下表所列:
可見,ICMP 是個非常有用的協(xié)議﹐尤其是當(dāng)我們要對網(wǎng)路連接狀況進(jìn)行判斷的時候。
02 Ping過程解析
了解了上面的基礎(chǔ)概念后,我們來分析下抓包的數(shù)據(jù),其流程如下:
上面的請求過程我畫成流程圖比較直觀一點:
關(guān)于ping
1、ping命令是依托于 ICMP協(xié)議的, ICMP協(xié)議是網(wǎng)絡(luò)層輔助IP工作的協(xié)議,存在就是為了更高效的轉(zhuǎn)發(fā) IP數(shù)據(jù)報和提高交付成功的機(jī)會。
ping命令除了依托于 ICMP,在局域網(wǎng)下還要借助于 ARP協(xié)議, ARP協(xié)議能根據(jù) IP地址反查出計算機(jī)的 MAC地址。
另外 ARP是有緩存的,為了保證 ARP的準(zhǔn)確性,計算機(jī)會更新ARP緩存。