萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> linux下ping命令使用介紹

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地址,這主要是檢查本網或本機與外部的連接是否正常。

copyright © 萬盛學電腦網 all rights reserved