天天看點

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的大小。

4.使用執行個體:

執行個體1:ping的通的情況

指令:

ping 192.168.120.205

輸出:

<code>[root@localhost ~]# ping 192.168.120.205</code>

<code>PING 192.168.120.205 (192.168.120.205) 56(84) bytes of data.</code>

<code>64 bytes from 192.168.120.205: icmp_seq=1 ttl=64 time=0.720 ms</code>

<code>64 bytes from 192.168.120.205: icmp_seq=2 ttl=64 time=0.181 ms</code>

<code>64 bytes from 192.168.120.205: icmp_seq=3 ttl=64 time=0.191 ms</code>

<code>64 bytes from 192.168.120.205: icmp_seq=4 ttl=64 time=0.188 ms</code>

<code>64 bytes from 192.168.120.205: icmp_seq=5 ttl=64 time=0.189 ms</code>

<code>--- 192.168.120.205 ping statistics ---</code>

<code>5 packets transmitted, 5 received, 0% packet loss, time 4000ms</code>

<code>rtt min/avg/max/mdev = 0.181/0.293/0.720/0.214 ms</code>

<code>[root@localhost ~]#</code>

說明:

執行個體2:ping不通的情況

ping 192.168.120.202

<code>[root@localhost ~]# ping 192.168.120.202</code>

<code>PING 192.168.120.202 (192.168.120.202) 56(84) bytes of data.</code>

<code>From 192.168.120.204 icmp_seq=1 Destination Host Unreachable</code>

<code>From 192.168.120.204 icmp_seq=2 Destination Host Unreachable</code>

<code>From 192.168.120.204 icmp_seq=3 Destination Host Unreachable</code>

<code>From 192.168.120.204 icmp_seq=4 Destination Host Unreachable</code>

<code>From 192.168.120.204 icmp_seq=5 Destination Host Unreachable</code>

<code>From 192.168.120.204 icmp_seq=6 Destination Host Unreachable</code>

<code>--- 192.168.120.202 ping statistics ---</code>

<code>8 packets transmitted, 0 received, +6 errors, 100% packet loss, time 7005ms</code>

<code>, pipe 4</code>

執行個體3:ping網關

ping -b 192.168.120.1

<code>[root@localhost ~]# route</code>

<code>Kernel IP routing table</code>

<code>Destination     Gateway         Genmask         Flags Metric Ref    Use Iface</code>

<code>192.168.120.0   *               255.255.255.0   U     0      0        0 eth0</code>

<code>192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0</code>

<code>10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0</code>

<code>default         192.168.120.240 0.0.0.0         UG    0      0        0 eth0</code>

<code>[root@localhost ~]# ping -b 192.168.120.1</code>

<code>PING 192.168.120.1 (192.168.120.1) 56(84) bytes of data.</code>

<code>64 bytes from 192.168.120.1: icmp_seq=1 ttl=255 time=2.02 ms</code>

<code>64 bytes from 192.168.120.1: icmp_seq=2 ttl=255 time=1.83 ms</code>

<code>64 bytes from 192.168.120.1: icmp_seq=3 ttl=255 time=1.68 ms</code>

<code>64 bytes from 192.168.120.1: icmp_seq=4 ttl=255 time=1.98 ms</code>

<code>64 bytes from 192.168.120.1: icmp_seq=5 ttl=255 time=1.88 ms</code>

<code>--- 192.168.120.1 ping statistics ---</code>

<code>rtt min/avg/max/mdev = 1.682/1.880/2.020/0.129 ms</code>

說明:  ping網關要加上-b參數

執行個體4:ping指定次數

ping -c 10 192.168.120.206

<code>[root@localhost ~]# ping -c 10 192.168.120.206</code>

<code>PING 192.168.120.206 (192.168.120.206) 56(84) bytes of data.</code>

<code>64 bytes from 192.168.120.206: icmp_seq=1 ttl=64 time=1.25 ms</code>

<code>64 bytes from 192.168.120.206: icmp_seq=2 ttl=64 time=0.260 ms</code>

<code>64 bytes from 192.168.120.206: icmp_seq=3 ttl=64 time=0.242 ms</code>

<code>64 bytes from 192.168.120.206: icmp_seq=4 ttl=64 time=0.271 ms</code>

<code>64 bytes from 192.168.120.206: icmp_seq=5 ttl=64 time=0.274 ms</code>

<code>64 bytes from 192.168.120.206: icmp_seq=6 ttl=64 time=0.295 ms</code>

<code>64 bytes from 192.168.120.206: icmp_seq=7 ttl=64 time=0.269 ms</code>

<code>64 bytes from 192.168.120.206: icmp_seq=8 ttl=64 time=0.270 ms</code>

<code>64 bytes from 192.168.120.206: icmp_seq=9 ttl=64 time=0.253 ms</code>

<code>64 bytes from 192.168.120.206: icmp_seq=10 ttl=64 time=0.289 ms</code>

<code>--- 192.168.120.206 ping statistics ---</code>

<code>10 packets transmitted, 10 received, 0% packet loss, time 9000ms</code>

<code>rtt min/avg/max/mdev = 0.242/0.367/1.251/0.295 ms</code>

說明:-c指定ping的次數

執行個體5:時間間隔和次數限制的ping

ping -c 10 -i 0.5 192.168.120.206

<code>[root@localhost ~]# ping -c 10 -i 0.5 192.168.120.206</code>

<code>64 bytes from 192.168.120.206: icmp_seq=1 ttl=64 time=1.24 ms</code>

<code>64 bytes from 192.168.120.206: icmp_seq=2 ttl=64 time=0.235 ms</code>

<code>64 bytes from 192.168.120.206: icmp_seq=3 ttl=64 time=0.244 ms</code>

<code>64 bytes from 192.168.120.206: icmp_seq=4 ttl=64 time=0.300 ms</code>

<code>64 bytes from 192.168.120.206: icmp_seq=5 ttl=64 time=0.255 ms</code>

<code>64 bytes from 192.168.120.206: icmp_seq=6 ttl=64 time=0.264 ms</code>

<code>64 bytes from 192.168.120.206: icmp_seq=7 ttl=64 time=0.263 ms</code>

<code>64 bytes from 192.168.120.206: icmp_seq=8 ttl=64 time=0.331 ms</code>

<code>64 bytes from 192.168.120.206: icmp_seq=9 ttl=64 time=0.247 ms</code>

<code>64 bytes from 192.168.120.206: icmp_seq=10 ttl=64 time=0.244 ms</code>

<code>10 packets transmitted, 10 received, 0% packet loss, time 4499ms</code>

<code>rtt min/avg/max/mdev = 0.235/0.362/1.241/0.294 ms</code>

<code>[root@localhost ~]# ping -c 10 -i 0.01 192.168.120.206</code>

<code>64 bytes from 192.168.120.206: icmp_seq=1 ttl=64 time=0.244 ms</code>

<code>64 bytes from 192.168.120.206: icmp_seq=2 ttl=64 time=0.195 ms</code>

<code>64 bytes from 192.168.120.206: icmp_seq=3 ttl=64 time=0.219 ms</code>

<code>64 bytes from 192.168.120.206: icmp_seq=4 ttl=64 time=0.204 ms</code>

<code>64 bytes from 192.168.120.206: icmp_seq=5 ttl=64 time=3.56 ms</code>

<code>64 bytes from 192.168.120.206: icmp_seq=6 ttl=64 time=1.93 ms</code>

<code>64 bytes from 192.168.120.206: icmp_seq=7 ttl=64 time=0.193 ms</code>

<code>64 bytes from 192.168.120.206: icmp_seq=8 ttl=64 time=0.193 ms</code>

<code>64 bytes from 192.168.120.206: icmp_seq=9 ttl=64 time=0.202 ms</code>

<code>64 bytes from 192.168.120.206: icmp_seq=10 ttl=64 time=0.211 ms</code>

<code>10 packets transmitted, 10 received, 0% packet loss, time 90ms</code>

<code>rtt min/avg/max/mdev = 0.193/0.716/3.564/1.080 ms</code>

說明:-i指定ping次數的時間間隔,不指定則預設1s

執行個體6:通過域名ping公網上的站點

ping -c 5 www.58.com

<code>peida-VirtualBox ~ # ping -c 5 www.58.com</code>

<code>PING www.58.com (211.151.111.30) 56(84) bytes of data.</code>

<code>64 bytes from 211.151.111.30: icmp_req=1 ttl=49 time=14.7 ms</code>

<code>64 bytes from 211.151.111.30: icmp_req=2 ttl=49 time=16.4 ms</code>

<code>64 bytes from 211.151.111.30: icmp_req=3 ttl=49 time=15.2 ms</code>

<code>64 bytes from 211.151.111.30: icmp_req=4 ttl=49 time=14.6 ms</code>

<code>64 bytes from 211.151.111.30: icmp_req=5 ttl=49 time=19.9 ms</code>

<code>--- www.58.com ping statistics ---</code>

<code>5 packets transmitted, 5 received, 0% packet loss, time 20101ms</code>

<code>rtt min/avg/max/mdev = 14.618/16.192/19.917/1.965 ms</code>

<code>peida-VirtualBox ~ #</code>

執行個體7:多參數使用

ping -i 3 -s 1024 -t 255 192.168.120.206

<code>[root@localhost ~]# ping -i 3 -s 1024 -t 255 192.168.120.206</code>

<code>PING 192.168.120.206 (192.168.120.206) 1024(1052) bytes of data.</code>

<code>1032 bytes from 192.168.120.206: icmp_seq=1 ttl=64 time=1.99 ms</code>

<code>1032 bytes from 192.168.120.206: icmp_seq=2 ttl=64 time=0.694 ms</code>

<code>1032 bytes from 192.168.120.206: icmp_seq=3 ttl=64 time=0.300 ms</code>

<code>1032 bytes from 192.168.120.206: icmp_seq=4 ttl=64 time=0.481 ms</code>

<code>1032 bytes from 192.168.120.206: icmp_seq=5 ttl=64 time=0.415 ms</code>

<code>1032 bytes from 192.168.120.206: icmp_seq=6 ttl=64 time=0.600 ms</code>

<code>1032 bytes from 192.168.120.206: icmp_seq=7 ttl=64 time=0.411 ms</code>

<code>1032 bytes from 192.168.120.206: icmp_seq=8 ttl=64 time=0.281 ms</code>

<code>1032 bytes from 192.168.120.206: icmp_seq=9 ttl=64 time=0.318 ms</code>

<code>1032 bytes from 192.168.120.206: icmp_seq=10 ttl=64 time=0.362 ms</code>

<code>1032 bytes from 192.168.120.206: icmp_seq=11 ttl=64 time=0.408 ms</code>

<code>1032 bytes from 192.168.120.206: icmp_seq=12 ttl=64 time=0.445 ms</code>

<code>1032 bytes from 192.168.120.206: icmp_seq=13 ttl=64 time=0.397 ms</code>

<code>1032 bytes from 192.168.120.206: icmp_seq=14 ttl=64 time=0.406 ms</code>

<code>1032 bytes from 192.168.120.206: icmp_seq=15 ttl=64 time=0.458 ms</code>

<code>15 packets transmitted, 15 received, 0% packet loss, time 41999ms</code>

<code>rtt min/avg/max/mdev = 0.281/0.531/1.993/0.404 ms</code>

-i 3 發送周期為 3秒 -s 設定發送包的大小為1024 -t 設定TTL值為 255

     本文轉自布拉君君 51CTO部落格,原文連結http://blog.51cto.com/5148737/1546001:,如需轉載請自行聯系原作者

繼續閱讀