Linux中ping命令
Linux系統的ping命令是常用的網路命令,它通常用來測試與目標主機的連通性,我們經常會說“ping一下某機器,看是不是開著”、不能開啟網頁時會說“你先ping閘道器地址192.168.1.1試試”。它通過傳送ICMP ECHO_REQUEST資料包到網路主機(send ICMP ECHO_REQUEST to network hosts),並顯示響應情況,這樣我們就可以根據它輸出的資訊來確定目標主機是否可訪問(但這不是絕對的)。有些伺服器為了防止通過ping探測到,通過防火牆設定了禁止ping或者在核心引數中禁止ping,這樣就不能通過ping確定該主機是否還處於開啟狀態。
linux下的ping和windows下的ping稍有區別,linux下ping不會自動終止,需要按ctrl+c終止或者用引數-c指定要求完成的迴應次數。
1.命令格式:
ping [引數] [主機名或IP地址]
2.命令功能:
ping命令用於:確定網路和各外部主機的狀態;跟蹤和隔離硬體和軟體問題;測試、評估和管理網路。如果主機正在執行並連在網上,它就對回送訊號進行響應。每個回送訊號請求包含一個網際協議(IP)和 ICMP 頭,後面緊跟一個 tim 結構,以及來填寫這個資訊包的足夠的位元組。預設情況是連續傳送回送訊號請求直到接收到中斷訊號(Ctrl-C)。
ping 命令每秒傳送一個數據報並且為每個接收到的響應列印一行輸出。ping 命令計算訊號往返時間和(資訊)包丟失情況的統計資訊,並且在完成之後顯示一個簡要總結。ping 命令在程式超時或當接收到 SIGINT 訊號時結束。Host 引數或者是一個有效的主機名或者是因特網地址。
3.命令引數:
-d 使用Socket的SO_DEBUG功能。
-f 極限檢測。大量且快速地送網路封包給一臺機器,看它的迴應。
-n 只輸出數值。
-q 不顯示任何傳送封包的資訊,只顯示最後的結果。
-r 忽略普通的Routing Table,直接將資料包送到遠端主機上。通常是檢視本機的網路介面是否有問題。
-R 記錄路由過程。
-v 詳細顯示指令的執行過程。
<p>-c 數目:在傳送指定數目的包後停止。
-i 秒數:設定間隔幾秒送一個網路封包給一臺機器,預設值是一秒送一次。
-I 網路介面:使用指定的網路介面送出資料包。
-l 前置載入:設定在送出要求資訊之前,先行發出的資料包。
-p 範本樣式:設定填滿資料包的範本樣式。
-s 位元組數:指定傳送的資料位元組數,預設值是56,加上8位元組的ICMP頭,一共是64ICMP資料位元組。
-t 存活數值:設定存活數值TTL的大小。