linux下ping命令使用詳解

EpisodeOne發表於2016-05-10

Ping命令通過傳送Internet控制訊息協議(ICMP)迴響請求訊息來驗證與另一臺TCP/IP計算機的IP級連線,很重要的一條命令,今天小編就為大家介紹linux下ping命令使用詳解

一、ping的介紹

•ping命令一般用於檢測網路通與不通,也叫時延,其值越大,速度越慢PING(PacketInternetGrope),因特網包探索器,用於測試網路連線量的程式。

•ping傳送一個ICMP回聲請求訊息給目的地並報告是否收到所希望的ICMP回聲應答。它是用來檢查網路是否通暢或者網路連線速度的命令。

•原理:網路上的機器都有唯一確定的IP地址,我們給目標IP地址傳送一個資料包,對方就要返回一個同樣大小的資料包,根據返回的資料包我們可以確定目標主機的存在,可以初步判斷目標主機的作業系統等。

二、ping的工作流程

•1、在同一網段內

•ping

•主機A--------------------->主機B

•ICMP請求包

•在本機(主機A)查詢ARP快取表查詢主機B的IP與其對應的MAC,

•沒有找到主機B的IP與其MAC的對映關係,則傳送一個arp請求廣播,

•主機B接收到arp請求包後,回覆一個arp應答包(裡面包含本機MAC),

•主機A<----------------------主機B

•ICMP應答包

•2、不在同一網段

•在主機A上執行“ping主機C(不在同一網段)”後,開始跟上面一樣,到了怎樣得到MAC地址時,IP協議通過計算發現C機與自己不在同一網段內,就直接將交由路由處理,也就是將路由的MAC取過來,至於怎樣得到路由的MAC,跟上面一樣,先在ARP快取表找,找不到就廣播包。路由得到這個資料幀後,再跟主機C進行聯絡,如果找不到,就向主機A返回一個超時的資訊。

三、ping命令的使用

•ping命令的一般格式為:

•ping[-dfnqrRv][-c傳送次數][-i間隔秒數][-I(大寫i)網路介面][-l(小寫L)前置載入][-p範本樣式][-s資料包大小][-t存活數值][主機名或IP地址]

引數說明:

【-ccount】指定要被髮送(或接收)的回送訊號請求的數目,由Count變數指出。

【-wtimeout】這個選項僅和-c選項一起才能起作用。它使ping命令以最長的超時時間去等待應答(傳送最後一個資訊包後)。預設超時時間為4000ms(4s)

【-d】使用Socket的SO_DEBUG功能。

【-D】這個選項引起ICMPECHO_REPLY資訊包向標準輸出的十六進位制轉儲。

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

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

【-n】只輸出數值。

-r】忽略路由表,直接將資料包送到遠端主機上。通常是檢視本機的網路介面是否有問題。

【-R】記錄路由過程。-R標誌包括ECHO_REQUEST資訊包中的RECORD_ROUTE選項,並且顯示返回資訊包上的路由緩衝。

【-v】詳細顯示指令的執行過程。

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

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

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

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

【-pPattern】指定用多達16個“填充”位元組去填充你傳送的資訊包。這有利於診斷網路上依賴資料的問題。例如“-pff”全部用1填充資訊包。

【-q】不顯示任何傳送封包的資訊,只顯示最後的結果。

【-spacketsize】指定傳送的資料位元組數,預設值是56,加上8位元組的ICMP頭,一共是64ICMP資料位元組。

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

【-ttll】設定存活數值TTL的大小。

【-ointerface】指出interface將被用於向外的IPv6多點廣播。介面以“en0”,“tr0”等的形式指定。

使用舉例:

(1)指定要被髮送(或接收)的回送訊號請求的數目:

#ping-c5172.17.0.254(請求5次)

(2)資訊包被丟棄的資訊的快速顯示:

#ping-f172.17.0.254

(3)在每個資訊包傳送之間等待被Wait變數指定的時間(秒數):

#ping-i2172.17.0.254(間隔2s)

四、ping測試

•1、ping本機IP

•#ping172.17.0.11/127.0.0.1

•(測試:#ifdowneth0之後再ping試試)

•如果ping不通的話則表明網路卡安裝或配置有問題。將網線斷開再次執行此命令,如果顯示正常,則說明本機使用的IP地址可能與另一臺正在使用的機器IP地址重複了。如果仍然不正常,則表明本機網路卡安裝或配置有問題,需繼續檢查相關網路配置。

•Ubuntu下配置檔案位置:

•[IP]:/etc/network/interfaces

•[DNS]:/etc/resolv.conf

•2、ping閘道器IP

•#ping172.17.0.254

•能正常ping通,則表明區域網中的閘道器路由器正在正常執行。反之,則說明閘道器有問題。

•3、ping遠端IP

•#pingwww.baidu.com

•這一命令可以檢測本機能否正常訪問Internet。

五、怎樣使用Ping這命令來測試網路連通呢?

•連通問題是由許多原因引起的,如本地配置錯誤、遠端主機協議失效等,當然還包括裝置等造成的故障。首先我們講一下使用Ping命令的步驟。

•使用Ping檢查連通性有六個步驟:

•1.使用ifconfig觀察本地網路設定是否正確;

•2.Ping127.0.0.1,127.0.0.1回送地址Ping回送地址是為了檢查本地的TCP/IP協議有沒有設定好;

•3.Ping本機IP地址,這樣是為了檢查本機的IP地址是否設定有誤;

•4.Ping本網閘道器或本網IP地址,這樣的是為了檢查硬體裝置是否有問題,也可以檢查本機與本地網路連線是否正常;(在非區域網中這一步驟可以忽略)

•5.Ping本地DNS地址,這樣做是為了檢查DNS是否能夠將IP正確解析。

•6.Ping遠端IP地址,這主要是檢查本網或本機與外部的連線是否正常。

原文連結:http://blog.csdn.net/star_xiong/article/details/17320473


相關文章