溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux基礎命令ping的用法

發(fā)布時間:2021-08-31 21:20:32 來源:億速云 閱讀:136 作者:chen 欄目:建站服務器

這篇文章主要講解了“Linux基礎命令ping的用法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Linux基礎命令ping的用法”吧!

ping

ping指令可以發(fā)送ICMP請求到目標地址,如果網(wǎng)絡功能正常,目標主機會給出回應信息。ping使用ICMP協(xié)議強制發(fā)送ECHO_REQUEST報文到目標主機,從主機或網(wǎng)關獲取ICMP ECHO_RESPONSE。ECHO_REQUESTt數(shù)據(jù)報(‘pings’)有一個IP和ICMP報頭,后面跟著一個timeval結構體,然后是用于填充數(shù)據(jù)包的任意數(shù)量的“pad”字節(jié)。

此命令的適用范圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

 

1、語法

ping [選項]  destination 

 

2、選項列表

選項

說明

-a

可聽的ping

-A

自適應平包間隔適應往返時間,因此有效地不超過一個(或多個,如果設置了預加載)未回答的探針在網(wǎng)絡中存在。對于非超級用戶,最小間隔為200毫秒。在RTT低的網(wǎng)絡上,這種模式實質上等同于flood模式。

-b

允許ping廣播地址

-B

不允許ping更改探針的源地址。當ping啟動時,該地址綁定到選定的地址。

-c count

指定ping的次數(shù)

-d

在所使用的套接字上設置SO_DEBUG選項。實際上,linux內核不使用這個套接字選項。

-F flowlabel

在回送請求數(shù)據(jù)包上分配和設置20位flow label。(只有平6)。如果值為零,內核將分配隨機flow label。

-f

極限檢測,不等收到回復就發(fā)送下一個請求,只有超級管理員才可以使用

-i interval

指定發(fā)送的時間間隔

-Iinterfaceaddress

將源地址設置為指定的接口地址。參數(shù)可以是數(shù)字IP地址或設備名稱。當選擇ipv 6鏈路本地地址時,此選項是必需的。

-l preload

如果指定了預加載preload,ping將發(fā)送許多未等待回復的數(shù)據(jù)包。只有超級用戶才能選擇超過3的預加載

-L

抑制組播數(shù)據(jù)包的回送。此標志僅適用于ping目標為多播地址的情況

-n

用數(shù)字方式顯示

-p pattern

您可以指定多達16個“PAD”字節(jié)來填充您發(fā)送的數(shù)據(jù)包。這對于診斷網(wǎng)絡中與數(shù)據(jù)相關的問題很有用

-Q tos

在ICMP數(shù)據(jù)報中設置與服務相關的比特的質量。TOS可以是十進制數(shù),也可以是十六進制數(shù)。傳統(tǒng)上(RFC 1349),它們被解釋為:0表示保留(當前被重新定義為擁塞控制),1-4表示服務類型,5-7表示優(yōu)先級。服務類型的可能設置是:最低成本:0x02,可靠性:0x04,吞吐量:0x08,低延遲:0x10。不能同時設置多個TOS位。特殊優(yōu)先級的可能設置范圍從優(yōu)先級(0x20)到凈控制(0xe0)。

-q

不顯示執(zhí)行過程

-r

忽略正常的路由表

-R

記錄路由

-spacketsize

指定數(shù)據(jù)包的大小

-S sndbuf

設置套接字發(fā)送緩沖區(qū)sndbuf。如果沒有指定,則選擇它來緩沖不超過一個數(shù)據(jù)包

-t ttl

指定數(shù)據(jù)包的生存期TTL

-Ttimestampoption

設置特殊的ip時間戳選項??梢允莟sonly (only timestamps), tsandaddr (timestamps and addresses) or tsprespec  host1  [host2 [host3 [host4]]] (timestamp prespecified hops)

-M hint

選擇路徑MTU發(fā)現(xiàn)策略,可以是do(禁止碎片,即使是本地的)、want(當數(shù)據(jù)包大小較大時,在本地發(fā)現(xiàn)pmtu)、don’t(不設置DF標志)

-U

打印完整的user-to-user延遲

-wdeadline

在ping退出之前指定一個超時(以秒為單位),而不管發(fā)送或接收了多少數(shù)據(jù)包。

-Wtimeout

等待響應的時間,以秒為單位。該選項只影響任何響應的超時,否則ping將等待兩個RTT

-v

顯示詳細執(zhí)行過程

-V

顯示版本

 

3、ICMP報文

沒有選項的IP報頭是20個字節(jié)。ICMP echo_Request數(shù)據(jù)包包含另外8字節(jié)的ICMP報頭,后面跟著任意數(shù)量的數(shù)據(jù)。當給定一個數(shù)據(jù)包大小時,這表明了這個額外數(shù)據(jù)塊的大小(缺省值為56)。因此,在ICMP ECHO_REPLY類型的IP數(shù)據(jù)包中接收的數(shù)據(jù)量總是比請求的數(shù)據(jù)空間(ICMP報頭)多8個字節(jié)。

如果數(shù)據(jù)空間至少是結構體timeval的大小,Timeval ping使用這個空間的起始字節(jié)來包含它在計算往返時間時使用的時間戳。如果數(shù)據(jù)空間較短,則不提供往返時間。

4、 重復和損壞的數(shù)據(jù)包

ping將報告重復和損壞的數(shù)據(jù)包。重復的數(shù)據(jù)包不應該發(fā)生,似乎是由不適當?shù)逆溌芳壷貍饕鸬?重復可能在許多情況下發(fā)生,很少(如果有的話)是一個好的跡象,盡管低水平的重復可能并不總是引起恐慌。損壞的數(shù)據(jù)包顯然是引起警報的嚴重原因,并且經(jīng)常表示ping數(shù)據(jù)包路徑(網(wǎng)絡中或主機中)的某個硬件出現(xiàn)故障。

 

5、嘗試不同的數(shù)據(jù)模式

(內部)網(wǎng)絡層不應根據(jù)數(shù)據(jù)部分中包含的數(shù)據(jù)對分組進行不同的處理。不幸的是,依賴于數(shù)據(jù)的問題已經(jīng)被人們知道潛入網(wǎng)絡,并且在很長一段時間內沒有被發(fā)現(xiàn)。在許多情況下,會出現(xiàn)問題的特定模式是沒有足夠的“轉換”的東西,例如所有的1或所有的零,或者在邊緣的一個模式,例如幾乎所有的零。僅僅指定命令行上所有零的數(shù)據(jù)模式(例如)并不一定足夠,因為感興趣的模式是在數(shù)據(jù)鏈接級別上,而且您鍵入的內容與控制器發(fā)送的內容之間的關系可能很復雜。

這意味著,如果您有一個數(shù)據(jù)依賴的問題,您可能需要做大量的測試才能找到它。如果幸運的話,您可能會設法找到一個文件,該文件要么無法通過您的網(wǎng)絡發(fā)送,要么需要比其他類似長度的文件更長的傳輸時間。然后,您可以檢查這個文件是否有重復的模式,可以使用ping的-p選項進行測試。

 

6、TTL

IP數(shù)據(jù)包的TTL值表示數(shù)據(jù)包在被丟棄之前可以通過的最大IP路由器數(shù)。在當前的實踐中,您可以期望Internet中的每個路由器將TTL字段減少一個。TCP/IP規(guī)范規(guī)定,TCP數(shù)據(jù)包的TTL字段應該設置為60,但許多系統(tǒng)使用較小的值(4.3BSD使用30,4.2使用15)。該字段的最大可能值為255,大多數(shù)Unix系統(tǒng)將ICMP ECHO_REQUEST數(shù)據(jù)包的TTL字段設置為255。這就是為什么您會發(fā)現(xiàn)您可以“ping”一些主機,但不能通過telnet(1)或ftp(1)到達它們。

在正常操作中,ping從它接收的數(shù)據(jù)包打印ttl值。當遠程系統(tǒng)收到ping數(shù)據(jù)包時,它可以在響應中使用ttl字段執(zhí)行以下三項任務之一。

1)不改變它;這是Berkeley Unix系統(tǒng)在4.3BSDTahoe發(fā)布之前所做的事情。在這種情況下,接收到的數(shù)據(jù)包中的TTL值將為255減去往返路徑中的路由器數(shù)量。

2)將其設置為255;這是目前BerkeleyUnix系統(tǒng)所做的。在這種情況下,接收到的數(shù)據(jù)包中的TTL值將為255減去從遠程系統(tǒng)到ping主機的路徑中的路由器數(shù)量。

3)將其設置為其他值。有些機器對ICMP數(shù)據(jù)包使用的值與它們對TCP數(shù)據(jù)包使用的值相同,例如30或60。其他人可能會使用完全狂野的價值觀。

7、實例

1)ping廣播地址

[root@localhost ~]# ping  192.168.1.255

Do you want to ping broadcast? Then -b

[root@localhost ~]# ping -b 192.168.1.255                  //只有使用-b選項才能ping廣播地址

WARNING: pinging broadcast address

PING 192.168.1.255 (192.168.1.255) 56(84) bytes of data.

64 bytes from 192.168.1.8: icmp_seq=1 ttl=64 time=0.219 ms

64 bytes from 192.168.1.8: icmp_seq=2 ttl=64 time=0.282 ms

64 bytes from 192.168.1.8: icmp_seq=3 ttl=64 time=0.215 ms

64 bytes from 192.168.1.8: icmp_seq=4 ttl=64 time=0.268 ms

^C

--- 192.168.1.255 ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 3684ms

rtt min/avg/max/mdev = 0.215/0.246/0.282/0.029 ms 

2)測試目標地址是否暢通

[root@localhost ~]# ping -c 4 192.168.1.8                //指定發(fā)送數(shù)據(jù)包的次數(shù)

PING 192.168.1.8 (192.168.1.8) 56(84) bytes of data.

64 bytes from 192.168.1.8: icmp_seq=1 ttl=64 time=0.427 ms

64 bytes from 192.168.1.8: icmp_seq=2 ttl=64 time=0.196 ms

64 bytes from 192.168.1.8: icmp_seq=3 ttl=64 time=0.220 ms

64 bytes from 192.168.1.8: icmp_seq=4 ttl=64 time=0.329 ms

 

--- 192.168.1.8 ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 3002ms

rtt min/avg/max/mdev = 0.196/0.293/0.427/0.092 ms

感謝各位的閱讀,以上就是“Linux基礎命令ping的用法”的內容了,經(jīng)過本文的學習后,相信大家對Linux基礎命令ping的用法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI