1. 程式人生 > >【每天一個Linux命令】01. Linux中ping命令的用法

【每天一個Linux命令】01. Linux中ping命令的用法


PING:

PING (Packet Internet Grope),因特網包探索器

功能說明:

檢測網路的連通性ping可以測試計算機名和計算機的 ip 地址,驗證與遠端計算機的連線,通過將 icmp 回顯資料包傳送到計算機並偵聽回顯回覆資料包來驗證與一臺或多臺遠端計算機的連線,該命令只有在安裝了 tcp/ip 協議後才可以使用。


備註:

TTL:生存時間

  指定資料包被路由器丟棄之前允許通過的網段數量。 

  TTL 是由傳送主機設定的,以防止資料包不斷在 IP 網際網路絡上永不終止地迴圈。轉發 IP 資料包時,要求路由器至少將 TTL 

語  法:

ping [-dfnqrRv][-c<完成次數>][-i<間隔秒數>][-I<網路介面>][-l<前置載入>][-p<範本樣式>][-s<資料包大小>][-t<存活數值>][主機名稱或IP地址] 

補充說明:

執行ping指令會使用ICMP傳輸協議,發出要求迴應的資訊,若遠端主機的網路功能沒有問題,就會迴應該資訊,因而得知該主機運作正常。 

備註:

ICMP是(Internet Control Message Protocol)Internet控制報文協議。它是TCP/IP協議族的一個子協議,用於在IP主機路由器之間傳遞控制訊息。控制訊息是指網路通不通、主機是否可達、路由是否可用等網路本身的訊息。這些控制訊息雖然並不傳輸使用者資料,但是對於使用者資料的傳遞起著重要的作用。

參  數: 

-a     將地址解析為計算機名。

-d 使用Socket的SO_DEBUG功能。 

-c<完成次數> 設定完成要求迴應的次數。 

-f 極限檢測。 

-i<間隔秒數> 指定收發資訊的間隔時間。 

-I<網路介面> 使用指定的網路介面送出資料包。 

-l<前置載入> 設定在送出要求資訊之前,先行發出的資料包。 

-n 只輸出數值。 

-p<範本樣式> 設定填滿資料包的範本樣式。 

-q 不顯示指令執行過程,開頭和結尾的相關資訊除外。 

-r 忽略普通的Routing Table,直接將資料包送到遠端主機上。 

-R 記錄路由過程。 

-s<資料包大小> 設定資料包的大小。 

-t<存活數值> 設定生存時間

TTL的大小。 

-v 詳細顯示指令的執行過程。 

舉個栗子1:將地址解析為計算機名


小解其意:

64 bytes:表示本次傳送的ICMP包的大小,此值為預設值

icmp_seq=0:ICMP所偵測的次數,第一次為0,第二次為1,依次類推

ttl=52:生存時間

time:響應時間

舉個栗子2:測試網路的連通性,ping 10 次,間隔1S


小解其意:其中 –c   count 次數,也就是ping的次數,-i interval  間隔 ,每次ping之間的時間空格

作者:畢小朋  部落格: http://www.wirelessqa.com  微博 : http://weibo.com/wirelessqa 郵箱:[email protected]

舉個栗子3:ping整個網路主機,看是否有迴應,一秒ping一臺主機

由於公ping一次,而且只sleep1秒,所以ping的選項為:-c1 -w1,假設你的電腦所在的網路為:192.168.1.*,所以shell命令這樣寫(vi ping.sh):

01 #!/bin/bash
02 for siteip in $(seq 1 254)do
03 site="192.168.1.${siteip}"
04 ping -c1 -W1 ${site} &> /dev/null
05 if "$?" == "0" ]; then
06 echo "$site is UP"
07 else
08 echo "$site is DOWN"
09 fi
10 done

小解其意:

1、ping -c1 -w1 中-c1是指ping的次數,-w是指執行的最後期限,也就是執行的時間,單位為秒

2、&>/dev/null 是指標準輸出和錯誤輸出都輸出到/dev/null上,而不在介面上顯示;

後面的&&和|| 是與和或得意思,如a&&b||c ,表示a為真,則執行b;否則執行c