linux下的ping使用詳解

2021-07-23 09:47:52 字數 4659 閱讀 5216

今天整理電腦資料,發現好多以前的學習記錄,先把這個ping的使用,分享給大家看。

(宣告,這個文章應該是我從別的地方看到然後儲存的。)

語法格式

ping [ -d] [ -d ] [  -n ] [  -q ] [ -r] [ -v] [  -r ] [ -a addr_family ] [  -c count ] [ -w timeout ] [  -f |  -i wait ] [  -l preload ] [  -p pattern ] [  -s packetsize ] [ -s hostname/ip addr ] [ -l ] [ - i a.b.c.d. ] [ -o inte***ce ] [ -t ttl ] host [  packetsize ] [  count ]

使用說明

ping 命令傳送乙個網際網路控制報文協議 (icmp) echo_request 去從主機或閘道器那裡獲得 icmp echo_response 訊號。

ping 命令用於:

確定網路和各外部主機的狀態。 

跟蹤和隔離硬體和軟體問題。 

測試、評估和管理網路。

ping 命令每秒傳送乙個資料報並且為每個接收到的響應顯示一行輸出。

ping 命令計算訊號往返時間和(資訊)包丟失情況的統計資訊,並且在完成之後顯示乙個簡要總結。

ping 命令在程式超時或當接收到 sigint 訊號時結束。host 引數或者是乙個有效的主機名或者是網際網路位址。

主要引數

-c count 指定要被傳送(或接收)的回送訊號請求的數目,由 count 變數指出。 

-w timeout 這個選項僅和 -c 選項一起才能起作用。它使 ping 命令以最長的超時時間去等待應答(傳送最後乙個資訊包後)。 

-d 開始套接字級別的除錯。 

-d 這個選項引起 icmp echo_reply 資訊包向標準輸出的十六進製制轉儲。 

-f 指定 flood-ping 選項。-f 標誌「傾倒」或輸出資訊包,在它們回來時或每秒 100 次,選擇較快乙個。每一次傳送 echo_request,都顯示乙個句號,而每接收到乙個 echo_reply 訊號,就顯示乙個退格。這就提供了一種對多少資訊包被丟棄的資訊的快速顯示。僅僅 root 使用者可以使用這個選項。 

注: 這在網路上將非常困難,必須小心使用。flood ping 命令僅僅 root 使用者可以使用。-f 標誌與 -i wait 標誌不相容。 

-i a.b.c.d 指定被 a.b.c.d 標明的介面將被用於向外的 ipv4 多點廣播。-i 標誌是大寫的 i。 

-o inte***ce 指出 inte***ce 將被用於向外的 ipv6 多點廣播。介面以「en0」,「tr0」等的形式指定。 

-i wait 在每個資訊包傳送之間等待被 wait 變數指定的時間(秒數)。預設值是在每個資訊包傳送之間等待 1 秒。這個選項與 -f 標誌不相容。 

-l 對多點廣播 ping 命令禁用本地回送。 

-l preload 在進入正常行為模式(每秒 1 個)前盡快傳送 preload 變數指定數量的資訊包。-l 標誌是小寫的 l。 

-n 指定僅輸出數字。不企圖去查尋主機位址的符號名。 

-p pattern 指定用多達 16 個「填充」位元組去填充您傳送的資訊包。這有利於診斷網路上依賴資料的問題。例如,-p ff 全部用 1 填充資訊包。 

-q 指定靜默輸出。除了在啟動和結束時顯示總結行外什麼也不顯示。 

-r 忽略路由表直接送到連線的網路上的主機上。如果 主機 不在乙個直接連線的網路上,ping 命令將產生乙個錯誤訊息。這個選項可以被用來通過乙個不再有路由經過的介面去 ping 乙個本地主機。 

-r 指定記錄路由選項。-r 標誌包括 echo_request 資訊包中的 record_route 選項,並且顯示返回資訊包上的路由緩衝。 

注: ip 頭僅僅大到適合 9 個這樣的路由。而且,許多主機和閘道器忽略這個選項。 

-a addr_family 對映 icmp 資訊包的目的位址到 ipv6 格式,如果 addr_family 等於「inet6」的話。 

-s packetsize 指定要傳送資料的位元組數。預設值是 56,當和 8 位元組的 icmp 頭資料合併時被轉換成 64 位元組的 icmp 資料。 

-s hostname/ip addr 將 ip 位址用作發出的 ping 資訊包中的源位址。在具有不止乙個 ip 位址的主機上,可以使用 -s 標誌來強制源位址為除了軟體包在其上傳送的介面的 ip 位址外的任何位址。如果 ip 位址不是以下機器介面位址之一,則返回錯誤並且不進行任何傳送。 

-t ttl 指定多點廣播資訊包的生存時間為 ttl 秒。 

-v 請求詳細輸出,其中列出了除回送訊號響應外接收到的 icmp 資訊。

應用例項

要檢查網路和主機 canopus 的連線性,並且指定要傳送的回送訊號請求的數目,請輸入: 

ping  -c 5 canopus

或者 ping canopus  56  5

要想獲取有關主機 lear 的資訊,並且啟動套接字級別的除錯,請輸入: 

ping  -d lear

要獲取有關主機 opus 的資訊,並且指定要傳送的位元組數,請輸入: 

ping  -s 2000 opus

或者 ping opus  2000

要呼叫 flood-ping 選項給主機 stlopnor,請輸入: 

ping  -f stlopnor

要指定傳送到主機 opus 資訊包的傳送時間間隔為 5 秒,請輸入: 

ping  -i5 opus

在進入正常行為模式前盡快傳送 preload 變數指定的數量的資訊包到主機 opus,請輸入: 

ping  -l 10 opus

要診斷網路上依賴資料的問題,請輸入: 

ping  -p ff opus

要指定靜默輸出,請輸入: 

ping  -q bach

這個例子是本人自己寫的,也是用的最多的。

ping 192.168.1.1  –c 1000 – i 0.001

ping 閘道器 1000次,延時0.001秒。 :loveliness:

ping的錯誤回應

ping的返回資訊有"request timed out"、"destination host unreachable"和"bad ip address"還有"source quench received"。

a,request timed out

"request timed out"這提示除了在《ping(一)》提到的對方可能裝有防火牆或已關機以外,還有就是本機的ip不正確和閘道器設定錯誤。   

①、ip不正確:

ip不正確主要是ip位址設定錯誤或ip位址衝突,這可以利用ipconfig /all這命令來檢查。在win2000下ip衝突的情況很少發生,因為系統會自動檢測在網路中是否有相同的ip位址並提醒你是否設定正確。在nt中不但會出現"request time out"這提示而且會出現"hardware error"這提示資訊比較特殊不要給它的提示所迷惑。   

②、閘道器設定錯誤:這個錯誤可能會在第四個步驟出現。閘道器設定錯誤主要是閘道器位址設定不正確或閘道器沒有幫你**資料,還有就是可能遠端閘道器失效。這裡主要是在你ping外部網路位址時出錯。錯誤表現為無法ping外部主機返回資訊"request time out"。

["request timed out"這個資訊表示對方主機可以到達到time out,這種情況通常是為對方拒絕接收你發給它的資料報造成資料報丟失。大多數的原因可能是對方裝有防火牆或已下線。]

------但windows下面,對方主機聯不上時(比如網路連線有故障),都是request timed out,而在linux下面則都是"、"destination host unreachable"

b, destination   host   unreachable   目的主機無法到達!   

當你在開始ping網路計算機時如果網路裝置出錯它返回資訊會提示"destination   host   unreachable"。如果區域網中使用dhcp分配ip時,而碰巧dhcp失效,這時使用   ping命令就會產生此錯誤。因為在dhcp失效時客戶機無法分配到ip系統只有自設ip,它往往會設為不同子網的ip。所以會出現"destination   host   unreachable"。另外子網掩碼設定錯誤也會出現這錯誤。 當然,網路線未接好,也是重要的產生原因. 

還有乙個比較特殊就是路由返回錯誤資訊,它一般都會在"destination   host   unreachable"前加上ip位址說明哪個路由不能到達目標主機。這說明你的機器與外部網路連線沒有問題,但與某台主機連線存在問題。

如:from 192.168.148.226 icmp_seq=50 destination host unreachable

["destination net unreachable"這個資訊表示對方主機不存在或者沒有跟對方建立連線。這裡要說明一下"destination host unreachable"和"time out"的區別,如果所經過的路由器的路由表中具有到達目標的路由,而目標因為其它原因不可到達,這時候會出現"time out",如果路由表中連到達目標的路由都沒有,那就會出現"destination host unreachable"。]

c,"bad ip address" 這個資訊表示你可能沒有連線到dns伺服器所以無法解析這個ip位址,也可能是ip位址不存在。 

d,"source quench received"資訊比較特殊,它出現的機率很少。它表示對方或中途的伺服器繁忙無法回應。

Linux下ping命令的使用

linux下ping命令的使用 對於大家來說,ping命令在windows下的應用應該很熟悉了。鑑於此,我對linux下ping命令的使用有以下幾點說明 1 ping 任意位址 此程式將一直執行不能停下來.如果想讓它停下來,可以ctrl c 2 如何使得lunux下的ping命令執行效果和windo...

LINUX下禁止ping命令的使用

linux下禁止ping命令的使用 以root進入linux系統,然後編輯檔案icmp echo ignore all vi proc sys net ipv4 icmp echo ignore all 將其值改為1後為禁止ping 將其值改為0後為解除禁止ping 直接修改會提示錯誤 warnin...

linux下的ping命令

linux下的ping命令用於檢視網路上的主機是否在工作。執行ping指令會使用icmp傳輸協議,發出要求回應的資訊,若遠端主機的網路功能沒有問題,就會回應該資訊,因而得知該主機運作正常。ping命令的一般格式為 ping dfnqrrv c 傳送次數 i 間隔秒數 i 網路介面 l 前置載入 p ...