每天一個(ge)linux命(ming)令(ling)(54):ping命(ming)令(ling)
Linux系統的ping命(ming)令(ling)是(shi)(shi)(shi)常(chang)用的(de)網(wang)(wang)絡(luo)命(ming)令(ling),它(ta)通常(chang)用來測試與目標(biao)主機(ji)(ji)(ji)的(de)連通性,我(wo)(wo)們經常(chang)會說(shuo)“ping一下某(mou)機(ji)(ji)(ji)器,看是(shi)(shi)(shi)不(bu)是(shi)(shi)(shi)開(kai)著”、不(bu)能(neng)打開(kai)網(wang)(wang)頁時會說(shuo)“你先(xian)ping網(wang)(wang)關(guan)地(di)址192.168.1.1試試”。它(ta)通過(guo)發送ICMP ECHO_REQUEST數據包到網(wang)(wang)絡(luo)主機(ji)(ji)(ji)(send ICMP ECHO_REQUEST to network hosts),并(bing)顯示響(xiang)應(ying)情況,這(zhe)(zhe)樣我(wo)(wo)們就(jiu)可以根(gen)據它(ta)輸(shu)出的(de)信(xin)息來確定目標(biao)主機(ji)(ji)(ji)是(shi)(shi)(shi)否可訪(fang)問(wen)(但這(zhe)(zhe)不(bu)是(shi)(shi)(shi)絕對的(de))。有些(xie)服務器為了防(fang)止通過(guo)ping探測到,通過(guo)防(fang)火墻設(she)置(zhi)了禁(jin)止ping或者在內核參數中禁(jin)止ping,這(zhe)(zhe)樣就(jiu)不(bu)能(neng)通過(guo)ping確定該主機(ji)(ji)(ji)是(shi)(shi)(shi)否還(huan)處于開(kai)啟狀態(tai)。
linux下的(de)ping和windows下的(de)ping稍(shao)有區(qu)別,linux下ping不會自動終止,需要按ctrl+c終止或者用參(can)數-c指定要求完成的(de)回應次(ci)數。
1.命(ming)令(ling)格式:
ping [參(can)數] [主機名或IP地址(zhi)]
2.命令功能(neng):
ping命令用于:確定網絡和各外部(bu)主機的狀態;跟蹤和(he)隔離(li)硬件(jian)和(he)軟件(jian)問題;測試、評估和(he)管(guan)理網絡(luo)。如果主機正(zheng)在運行并連(lian)在網上,它就對回(hui)送(song)(song)信(xin)(xin)號(hao)(hao)進行響應。每個(ge)(ge)回(hui)送(song)(song)信(xin)(xin)號(hao)(hao)請(qing)求包含一(yi)(yi)個(ge)(ge)網際協(xie)議(IP)和(he) ICMP 頭,后面緊跟一(yi)(yi)個(ge)(ge) tim 結構,以及來(lai)填(tian)寫(xie)這個(ge)(ge)信(xin)(xin)息包的足(zu)夠的字(zi)節(jie)。缺省(sheng)情況是(shi)連(lian)續發(fa)送(song)(song)回(hui)送(song)(song)信(xin)(xin)號(hao)(hao)請(qing)求直(zhi)到接收到中斷信(xin)(xin)號(hao)(hao)(Ctrl-C)。
ping 命(ming)令每秒發送一(yi)個數據(ju)報并(bing)且(qie)為每個接收(shou)到的(de)響應打印(yin)一(yi)行輸出(chu)。ping 命(ming)令計算(suan)信(xin)(xin)號(hao)往返時間和(信(xin)(xin)息(xi))包(bao)丟失情況的(de)統計信(xin)(xin)息(xi),并(bing)且(qie)在完成之后顯示一(yi)個簡要總結。ping 命(ming)令在程序超時或(huo)(huo)當接收(shou)到 SIGINT 信(xin)(xin)號(hao)時結束(shu)。Host 參數或(huo)(huo)者(zhe)是一(yi)個有(you)效的(de)主(zhu)機名或(huo)(huo)者(zhe)是因特(te)網地址。
3.命令參數:
-d 使用Socket的SO_DEBUG功能(neng)。
-f 極限檢測。大量(liang)且快速(su)地(di)送網絡(luo)封包給一臺(tai)機器,看它的回應。
-n 只輸出數值。
-q 不顯(xian)示任何(he)傳送封包的信息(xi),只顯(xian)示最后的結果。
-r 忽略普通(tong)的Routing Table,直接(jie)(jie)將數據包送到遠端主(zhu)機上(shang)。通(tong)常是(shi)(shi)查看本機的網絡接(jie)(jie)口(kou)是(shi)(shi)否有(you)問題(ti)。
-R 記(ji)錄路由(you)過程。
-v 詳細顯示指令(ling)的執行過程。
<p>-c 數目:在發送指(zhi)定數(shu)目的包后停止。
-i 秒數:設定間隔(ge)幾秒(miao)送一個網絡(luo)封包給(gei)一臺機(ji)器,預(yu)設值是一秒(miao)送一次(ci)。
-I 網絡界面:使用指定的網絡界面送出數據包。
-l 前置載入:設(she)置(zhi)在送出(chu)要(yao)求(qiu)信息之(zhi)前,先行(xing)發(fa)出(chu)的數據包(bao)。
-p 范本(ben)樣式(shi):設置填滿(man)數據包(bao)的范本樣式。
-s 字節數(shu):指定發送的數據(ju)字(zi)節(jie)(jie)數,預設值(zhi)是56,加(jia)上8字(zi)節(jie)(jie)的ICMP頭,一(yi)共(gong)是64ICMP數據(ju)字(zi)節(jie)(jie)。
-t 存(cun)活數值:設置存活數值(zhi)TTL的(de)大小。
4.使用實例(li):
實例1:ping的通的情況
命(ming)令:
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 ~]#
說明:
實例(li)2:ping不通的(de)情況
命令(ling):
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 ~]#
說(shuo)明(ming):
實例3:ping網關
命令:
ping -b 192.168.120.1
輸出:
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指定次數(shu)
命令:
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 ~]#
說明(ming):
實例5:時間間隔和次數限制的ping
命(ming)令:
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 ~]#
說明:
實(shi)例6:通過域(yu)名ping公網上(shang)的站點
命令:
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:多參(can)數使用
命(ming)令(ling):
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 ~]#
說明(ming):
-i 3 發送周期為 3秒(miao) -s 設置(zhi)發送包(bao)的大小(xiao)為1024 -t 設(she)置TTL值(zhi)為 255
關注 熵減黑客 ,一起學習成長
