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.命令格式:
1 |
ping [引數] [主機名或IP地址] |
2.命令功能:
ping命令用於:確定網路和各外部主機的狀態;跟蹤和隔離硬體和軟體問題;測試、評估和管理網路。如果主機正在執行並連在網上,它就對回送訊號進行響應。每個回送訊號請求包含一個網際協議(IP)和 ICMP 頭,後面緊跟一個 tim 結構,以及來填寫這個資訊包的足夠的位元組。預設情況是連續傳送回送訊號請求直到接收到中斷訊號(Ctrl-C)。
ping 命令每秒傳送一個資料包並且為每個接收到的響應列印一行輸出。ping 命令計算訊號往返時間和(資訊)包丟失情況的統計資訊,並且在完成之後顯示一個簡要總結。ping 命令在程式超時或當接收到 SIGINT 訊號時結束。Host 引數或者是一個有效的主機名或者是因特網地址。
3.命令引數:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
-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的通的情況
命令:
1 |
ping 192.168.120.205 |
輸出:
1 2 3 4 5 6 7 8 9 10 11 12 |
[root@localhost ~]# ping 192.168.120.205 PING 192.168.120.205 (192.168.120.205) 56(84) bytes of data. 64 bytes from 192.168.120.205: icmp_seq=1 ttl=64 time=0.720 ms 64 bytes from 192.168.120.205: icmp_seq=2 ttl=64 time=0.181 ms 64 bytes from 192.168.120.205: icmp_seq=3 ttl=64 time=0.191 ms 64 bytes from 192.168.120.205: icmp_seq=4 ttl=64 time=0.188 ms 64 bytes from 192.168.120.205: icmp_seq=5 ttl=64 time=0.189 ms --- 192.168.120.205 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4000ms rtt min/avg/max/mdev = 0.181/0.293/0.720/0.214 ms [root@localhost ~]# |
說明:
例項2:ping不通的情況
命令:
1 |
ping 192.168.120.202 |
輸出:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[root@localhost ~]# ping 192.168.120.202 PING 192.168.120.202 (192.168.120.202) 56(84) bytes of data. From 192.168.120.204 icmp_seq=1 Destination Host Unreachable From 192.168.120.204 icmp_seq=2 Destination Host Unreachable From 192.168.120.204 icmp_seq=3 Destination Host Unreachable From 192.168.120.204 icmp_seq=4 Destination Host Unreachable From 192.168.120.204 icmp_seq=5 Destination Host Unreachable From 192.168.120.204 icmp_seq=6 Destination Host Unreachable --- 192.168.120.202 ping statistics --- 8 packets transmitted, 0 received, +6 errors, 100% packet loss, time 7005ms , pipe 4 [root@localhost ~]# |
說明:
例項3:ping閘道器
命令:
1 |
ping -b 192.168.120.1 |
輸出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[root@localhost ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.120.0 * 255.255.255.0 U 0 0 0 eth0 192.168.0.0 192.168.120.1 255.255.0.0 UG 0 0 0 eth0 10.0.0.0 192.168.120.1 255.0.0.0 UG 0 0 0 eth0 default 192.168.120.240 0.0.0.0 UG 0 0 0 eth0 [root@localhost ~]# ping -b 192.168.120.1 PING 192.168.120.1 (192.168.120.1) 56(84) bytes of data. 64 bytes from 192.168.120.1: icmp_seq=1 ttl=255 time=2.02 ms 64 bytes from 192.168.120.1: icmp_seq=2 ttl=255 time=1.83 ms 64 bytes from 192.168.120.1: icmp_seq=3 ttl=255 time=1.68 ms 64 bytes from 192.168.120.1: icmp_seq=4 ttl=255 time=1.98 ms 64 bytes from 192.168.120.1: icmp_seq=5 ttl=255 time=1.88 ms --- 192.168.120.1 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4000ms rtt min/avg/max/mdev = 1.682/1.880/2.020/0.129 ms |
說明:
例項4:ping指定次數
命令:
1 |
ping -c 10 192.168.120.206 |
輸出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
[root@localhost ~]# ping -c 10 192.168.120.206 PING 192.168.120.206 (192.168.120.206) 56(84) bytes of data. 64 bytes from 192.168.120.206: icmp_seq=1 ttl=64 time=1.25 ms 64 bytes from 192.168.120.206: icmp_seq=2 ttl=64 time=0.260 ms 64 bytes from 192.168.120.206: icmp_seq=3 ttl=64 time=0.242 ms 64 bytes from 192.168.120.206: icmp_seq=4 ttl=64 time=0.271 ms 64 bytes from 192.168.120.206: icmp_seq=5 ttl=64 time=0.274 ms 64 bytes from 192.168.120.206: icmp_seq=6 ttl=64 time=0.295 ms 64 bytes from 192.168.120.206: icmp_seq=7 ttl=64 time=0.269 ms 64 bytes from 192.168.120.206: icmp_seq=8 ttl=64 time=0.270 ms 64 bytes from 192.168.120.206: icmp_seq=9 ttl=64 time=0.253 ms 64 bytes from 192.168.120.206: icmp_seq=10 ttl=64 time=0.289 ms --- 192.168.120.206 ping statistics --- 10 packets transmitted, 10 received, 0% packet loss, time 9000ms rtt min/avg/max/mdev = 0.242/0.367/1.251/0.295 ms [root@localhost ~]# |
說明:
例項5:時間間隔和次數限制的ping
命令:
1 |
ping -c 10 -i 0.5 192.168.120.206 |
輸出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
[root@localhost ~]# ping -c 10 -i 0.5 192.168.120.206 PING 192.168.120.206 (192.168.120.206) 56(84) bytes of data. 64 bytes from 192.168.120.206: icmp_seq=1 ttl=64 time=1.24 ms 64 bytes from 192.168.120.206: icmp_seq=2 ttl=64 time=0.235 ms 64 bytes from 192.168.120.206: icmp_seq=3 ttl=64 time=0.244 ms 64 bytes from 192.168.120.206: icmp_seq=4 ttl=64 time=0.300 ms 64 bytes from 192.168.120.206: icmp_seq=5 ttl=64 time=0.255 ms 64 bytes from 192.168.120.206: icmp_seq=6 ttl=64 time=0.264 ms 64 bytes from 192.168.120.206: icmp_seq=7 ttl=64 time=0.263 ms 64 bytes from 192.168.120.206: icmp_seq=8 ttl=64 time=0.331 ms 64 bytes from 192.168.120.206: icmp_seq=9 ttl=64 time=0.247 ms 64 bytes from 192.168.120.206: icmp_seq=10 ttl=64 time=0.244 ms --- 192.168.120.206 ping statistics --- 10 packets transmitted, 10 received, 0% packet loss, time 4499ms rtt min/avg/max/mdev = 0.235/0.362/1.241/0.294 ms [root@localhost ~]# ping -c 10 -i 0.01 192.168.120.206 PING 192.168.120.206 (192.168.120.206) 56(84) bytes of data. 64 bytes from 192.168.120.206: icmp_seq=1 ttl=64 time=0.244 ms 64 bytes from 192.168.120.206: icmp_seq=2 ttl=64 time=0.195 ms 64 bytes from 192.168.120.206: icmp_seq=3 ttl=64 time=0.219 ms 64 bytes from 192.168.120.206: icmp_seq=4 ttl=64 time=0.204 ms 64 bytes from 192.168.120.206: icmp_seq=5 ttl=64 time=3.56 ms 64 bytes from 192.168.120.206: icmp_seq=6 ttl=64 time=1.93 ms 64 bytes from 192.168.120.206: icmp_seq=7 ttl=64 time=0.193 ms 64 bytes from 192.168.120.206: icmp_seq=8 ttl=64 time=0.193 ms 64 bytes from 192.168.120.206: icmp_seq=9 ttl=64 time=0.202 ms 64 bytes from 192.168.120.206: icmp_seq=10 ttl=64 time=0.211 ms --- 192.168.120.206 ping statistics --- 10 packets transmitted, 10 received, 0% packet loss, time 90ms rtt min/avg/max/mdev = 0.193/0.716/3.564/1.080 ms [root@localhost ~]# |
說明:
例項6:通過域名ping公網上的站點
命令:
1 |
ping -c 5 www.58.com |
輸出:
1 2 3 4 5 6 7 8 9 10 11 12 |
peida-VirtualBox ~ # ping -c 5 www.58.com PING www.58.com (211.151.111.30) 56(84) bytes of data. 64 bytes from 211.151.111.30: icmp_req=1 ttl=49 time=14.7 ms 64 bytes from 211.151.111.30: icmp_req=2 ttl=49 time=16.4 ms 64 bytes from 211.151.111.30: icmp_req=3 ttl=49 time=15.2 ms 64 bytes from 211.151.111.30: icmp_req=4 ttl=49 time=14.6 ms 64 bytes from 211.151.111.30: icmp_req=5 ttl=49 time=19.9 ms --- www.58.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 20101ms rtt min/avg/max/mdev = 14.618/16.192/19.917/1.965 ms peida-VirtualBox ~ # |
說明:
例項7:多引數使用
命令:
1 |
ping -i 3 -s 1024 -t 255 192.168.120.206 |
輸出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
[root@localhost ~]# ping -i 3 -s 1024 -t 255 192.168.120.206 PING 192.168.120.206 (192.168.120.206) 1024(1052) bytes of data. 1032 bytes from 192.168.120.206: icmp_seq=1 ttl=64 time=1.99 ms 1032 bytes from 192.168.120.206: icmp_seq=2 ttl=64 time=0.694 ms 1032 bytes from 192.168.120.206: icmp_seq=3 ttl=64 time=0.300 ms 1032 bytes from 192.168.120.206: icmp_seq=4 ttl=64 time=0.481 ms 1032 bytes from 192.168.120.206: icmp_seq=5 ttl=64 time=0.415 ms 1032 bytes from 192.168.120.206: icmp_seq=6 ttl=64 time=0.600 ms 1032 bytes from 192.168.120.206: icmp_seq=7 ttl=64 time=0.411 ms 1032 bytes from 192.168.120.206: icmp_seq=8 ttl=64 time=0.281 ms 1032 bytes from 192.168.120.206: icmp_seq=9 ttl=64 time=0.318 ms 1032 bytes from 192.168.120.206: icmp_seq=10 ttl=64 time=0.362 ms 1032 bytes from 192.168.120.206: icmp_seq=11 ttl=64 time=0.408 ms 1032 bytes from 192.168.120.206: icmp_seq=12 ttl=64 time=0.445 ms 1032 bytes from 192.168.120.206: icmp_seq=13 ttl=64 time=0.397 ms 1032 bytes from 192.168.120.206: icmp_seq=14 ttl=64 time=0.406 ms 1032 bytes from 192.168.120.206: icmp_seq=15 ttl=64 time=0.458 ms --- 192.168.120.206 ping statistics --- 15 packets transmitted, 15 received, 0% packet loss, time 41999ms rtt min/avg/max/mdev = 0.281/0.531/1.993/0.404 ms [root@localhost ~]# |
說明:
-i 3 傳送週期為 3秒 -s 設定傳送包的大小為1024 -t 設定TTL值為 255
本系列文章:
每天一個 Linux 命令(1):ls命令
每天一個 Linux 命令(2):cd命令
每天一個 Linux 命令(3):pwd命令
每天一個 Linux 命令(4):mkdir命令
每天一個 Linux 命令(5):rm 命令
每天一個 Linux 命令(6):rmdir 命令
每天一個 Linux 命令(7):mv命令
每天一個 Linux 命令(8):cp 命令
每天一個 Linux 命令(9):touch 命令
每天一個 Linux 命令(10):cat 命令
每天一個 Linux 命令(11):nl 命令
每天一個 Linux 命令(12):more 命令
每天一個 Linux 命令(13):less 命令
每天一個 Linux 命令(14):head 命令
每天一個 Linux 命令(15):tail 命令
每天一個 Linux 命令(16):which命令
每天一個 Linux 命令(17):whereis 命令
每天一個 Linux 命令(18):locate 命令
每天一個 Linux 命令(19):find 命令概覽
每天一個 Linux 命令(20):find命令之exec
每天一個 Linux 命令(21):find命令之xargs
每天一個 Linux 命令(22):find 命令的引數詳解
每天一個 Linux 命令(23):Linux 目錄結構
每天一個 Linux 命令(24):Linux 檔案型別與副檔名
每天一個 Linux 命令(25):Linux 檔案屬性詳解
每天一個 Linux 命令(26):用 SecureCRT 來上傳和下載檔案
每天一個 Linux 命令(27):linux chmod 命令
每天一個 Linux 命令(28):tar 命令
每天一個 Linux 命令(29): chgrp 命令
每天一個 Linux 命令(30): chown 命令
每天一個 Linux 命令(31): /etc/group 檔案詳解
每天一個 Linux 命令(32):gzip 命令
每天一個 Linux 命令(33):df 命令
每天一個 Linux 命令(34): du 命令
每天一個 Linux 命令(35): ln 命令
每天一個 Linux 命令(36): diff 命令
每天一個 Linux 命令(37): date 命令
每天一個 Linux 命令(38): cal 命令
每天一個 Linux 命令(39): grep 命令
每天一個 Linux 命令(40): wc 命令
每天一個 Linux 命令(41): ps 命令
每天一個 Linux 命令(44): top 命令
每天一個 Linux 命令(45): free 命令
每天一個 Linux 命令(46): vmstat 命令
每天一個 Linux 命令(47): iostat 命令
每天一個 Linux 命令(48): watch 命令
每天一個 Linux 命令(49): at 命令
每天一個 Linux 命令(50): crontab 命令
每天一個 Linux 命令(51): lsof 命令
每天一個 Linux 命令(52): ifconfig 命令
每天一個 Linux 命令(53): route 命令