linux ping指令學習

2021-06-21 21:14:00 字數 1274 閱讀 2910

最近測試ios的雙網絡卡是否可以同時使用,因為對linux工具不熟悉,導致浪費了很多時間。

記錄一下最近學習到的指令:

//ios和linux的ping指令引數有區別,考慮到自己以後主要是在linux上做開發,所以這裡就只寫linux下的ping指令;

linux manpage

ping的引數集:

ping [ -lrubdfnqrvvaab] [ -c count] [ -iinterval] [ -l preload] [ -p pattern] [ -s packetsize] [ -t ttl] [ -w deadline][ -f flowlabel] [ -i inte***ce] [ -m hint] [ -q tos] [ -s sndbuf] [ -ttimestamp option] [ -w timeout] [ hop ...] destination

引數很多,我先講一下我這次用到的引數:

-c cout/number 該引數用於指定ping指令傳送多少個包之後退出;

//ios上ping指令不像linux,ios的ping如果不指定-c,則只傳送3個包就結束ping;

-i interval 包與包之間的傳送間隔,單位是秒,預設是1秒;

-i inte***ce 用於指定通過哪個網絡卡傳送

//本來有這個引數我就可以輕鬆的測試ios是否支援雙網絡卡同時工作,但是ios上的ping居然沒有這個引數,最後不得不通過修改route表來測試(其實心情還算是很愉悅,接觸到了新東西);

ping原理學習:

根據linux man page的解釋,ping使用的是icmp協議(internet control message protocol, internet控制報文協議);

icmp協議簡介:

icmp協議是tcp/ip協議協議簇的乙個子協議,屬於網路層協議,主要用於主機和路由器之間傳遞控制資訊,包括報告錯誤、交換受限控制盒狀態資訊等;

icmp協議是一種面向無連線的協議,用於傳輸出錯報告控制資訊,可以稱為是「錯誤偵測與回報機制」;

icmp協議主要功能包括:

偵測遠端主機是否存在;

建立及維護路由資料;

重導資料傳送路徑;

資料流量控制;

icmp的包大小以前有要求小於64bit,因為這樣很容易被溢位攻擊(即黑客故意傳送大於64bit的icmp包,導致主機棧溢位而執行不正常),因此目前的作業系統基本都取消了其大小限制;

ping指令可以通過 –s引數設定icmp包大小,大小預設是56bit;

具體的細節引數可以參考linux man page;

linux ping 命令詳解

功能說明 檢測主機。語 法 ping dfnqrrv c 完成次數 i 間隔秒數 i 網路介面 l 前置載入 p 範本樣式 s 資料報大小 t 存活數值 主機名稱或ip位址 補充說明 執行ping指令會使用icmp傳輸協議,發出要求回應的資訊,若遠端主機的網路功能沒有問題,就會回應該資訊,因而得知該...

linux ping命令詳解

linux系統的 ping命令是常用的網路命令,它通常用來測試與目標主機的連通性,我們經常會說 ping一下某機器,看是不是開著 不能開啟網頁時會說 你先ping閘道器位址192.168.1.1試試 它通過傳送icmp echo request資料報到網路主機 send icmp echo requ...

linux ping 命令詳解

linux ping 命令詳解 功能說明 檢測主機。語 法 ping dfnqrrv c 完成次數 i 間隔秒數 i 網路介面 l 前置載入 p 範本樣式 s 資料報大小 t 存活數值 主機名稱或ip位址 補充說明 執行ping指令會使用icmp傳輸協議,發出要求回應的資訊,若遠端主機的網路功能沒有...