1. 程式人生 > >Linux下ping命令、traceroute命令、tracert命令的使用

Linux下ping命令、traceroute命令、tracert命令的使用

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.命令格式:

ping [引數] [主機名或IP地址]

2.命令功能:

ping命令用於:確定網路和各外部主機的狀態;跟蹤和隔離硬體和軟體問題;測試、評估和管理網路。如果主機正在執行並連在網上,它就對回送訊號進行響應。每個回送訊號請求包含一個網際協議(IP)和 ICMP 頭,後面緊跟一個 tim 結構,以及來填寫這個資訊包的足夠的位元組。預設情況是連續傳送回送訊號請求直到接收到中斷訊號(Ctrl-C)。

ping 命令每秒傳送一個數據報並且為每個接收到的響應列印一行輸出。ping 命令計算訊號往返時間和(資訊)包丟失情況的統計資訊,並且在完成之後顯示一個簡要總結。ping 命令在程式超時或當接收到 SIGINT 訊號時結束。Host 引數或者是一個有效的主機名或者是因特網地址。

3.命令引數:

-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的通的情況

命令:

ping 192.168.120.205

輸出:

複製程式碼 [[email protected] ~]# ping 192.168.120.205PING 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
[[email protected] ~]#
複製程式碼

說明:

例項2:ping不通的情況

命令:

ping 192.168.120.202

輸出:

複製程式碼 [[email protected] ~]# ping 192.168.120.202PING 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
[[email protected] ~]#
複製程式碼

說明:

例項3:ping閘道器

命令:

ping -b 192.168.120.1

輸出:

複製程式碼 [[email protected] ~]# routeKernel 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
[[email protected] ~]# ping -b 192.168.120.1PING 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指定次數

命令:

ping -c 10 192.168.120.206

輸出:

複製程式碼 [[email protected] ~]# ping -c 10 192.168.120.206PING 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
[[email protected] ~]#
複製程式碼

說明:

例項5:時間間隔和次數限制的ping

命令:

ping -c 10 -i 0.5 192.168.120.206

輸出:

複製程式碼 [[email protected] ~]# ping -c 10 -i 0.5 192.168.120.206PING 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
[[email protected] ~]# ping -c 10 -i 0.01 192.168.120.206PING 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
[[email protected] ~]#
複製程式碼

說明:

例項6:通過域名ping公網上的站點

命令:

ping -c 5 www.58.com

輸出:

複製程式碼 peida-VirtualBox ~ # ping -c 5 www.58.comPING 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:多引數使用

命令:

ping -i 3 -s 1024 -t 255 192.168.120.206

輸出:

複製程式碼 [[email protected] ~]# ping -i 3 -s 1024 -t 255 192.168.120.206PING 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
[[email protected] ~]#
複製程式碼

說明:

-i 3 傳送週期為 3秒 -s 設定傳送包的大小為1024 -t 設定TTL值為 255

在大多數情況下,作為網路工程技術人員或者系統管理員會在UNIX主機系統下,直接執行命令列:
  Traceroute hostname
而在Windows系統下是執行Tracert的命令:
Tracert hostname
比如在北京地區使用windows NT 主機(已經與北京163建立了點對點的連線後)
使用NT系統中的Tracert命令:(使用者可用:開始->執行,輸入"command" 調出command視窗使用此命令)

C:\>tracert www.yahoo.com

引數說明:

tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name

引數
-d
指定不對計算機名解析地址。
-h maximum_hops
指定查詢目標的跳轉的最大數目。
-jcomputer-list
指定在 computer-list 中鬆散源路由。
-w timeout
等待由 timeout 對每個應答指定的毫秒數。
target_name
目標計算機的名稱。

Traceroute的命令引數:

Traceroute的用法為: Traceroute [options] <IP-address or domain-name> [data size]

[options]的內容有:

[-n]:顯示的地址是用數字表示而不是符號

[-v]:長輸出

[-p]:UDP埠設定(預設為33434)

[-q]:設定TTL測試數目(預設為3)

[-t]:設定測包的服務型別

[data size]:每次測試包的資料位元組長度(預設為38)

Traceroute的工作原理:
Traceroute最簡單的基本用法是:traceroute hostname

Traceroute程式的設計是利用ICMP及IP header的TTL(Time To Live)欄位(field)。首先,traceroute送出一個TTL是1的IP datagram(其實,每次送出的為3個40位元組的包,包括源地址,目的地址和包發出的時間標籤)到目的地,當路徑上的第一個路由器(router)收到這個datagram時,它將TTL減1。此時,TTL變為0了,所以該路由器會將此datagram丟掉,並送回一個「ICMP time exceeded」訊息(包括髮IP包的源地址,IP包的所有內容及路由器的IP地址),traceroute 收到這個訊息後,便知道這個路由器存在於這個路徑上,接著traceroute 再送出另一個TTL是2 的datagram,發現第2 個路由器...... traceroute 每次將送出的datagram的TTL 加1來發現另一個路由器,這個重複的動作一直持續到某個datagram 抵達目的地。當datagram到達目的地後,該主機並不會送回ICMP time exceeded訊息,因為它已是目的地了,那麼traceroute如何得知目的地到達了呢?

Traceroute在送出UDP datagrams到目的地時,它所選擇送達的port number 是一個一般應用程式都不會用的號碼(30000 以上),所以當此UDP datagram 到達目的地後該主機會送回一個「ICMP port unreachable」的訊息,而當traceroute 收到這個訊息時,便知道目的地已經到達了。所以traceroute 在Server端也是沒有所謂的Daemon 程式。

Traceroute提取發 ICMP TTL到期訊息裝置的IP地址並作域名解析。每次 ,Traceroute都打印出一系列資料,包括所經過的路由裝置的域名及 IP地址,三個包每次來回所花時間。

Traceroute 有一個固定的時間等待響應(ICMP TTL到期訊息)。如果這個時間過了,它將打印出一系列的*號表明:在這個路徑上,這個裝置不能在給定的時間內發出ICMP TTL到期訊息的響應。然後,Traceroute給TTL記數器加1,繼續進行。


相關推薦

Linuxping命令traceroute命令tracert命令的使用

Linux系統的ping命令是常用的網路命令,它通常用來測試與目標主機的連通性,我們經常會說“ping一下某機器,看是不是開著”、不能開啟網頁時會說“你先ping閘道器地址192.168.1.1試試”。它通過傳送ICMP ECHO_REQUEST資料包到網路主機(send 

Linux 壓縮與解壓縮 zipbinzip2tarzip命令的使用

我們經常需要對檔案壓縮或打包實現統一管理,下面就讓我們來看看gzip、bzip2、tar、zip這些命令的使用 (1)    gzip 格式:gzip [選項] [檔案] 示例: ---在testzip目錄下有以下檔案 --

Linuxping,telnet,ssh命令的比較

spa login works form 不同 是否 檢測 issues 其他 ping工作在OSI模型的第三層,網絡層。 主要用於測試到達目的主機的網絡是否連接,不能檢測某個端口是否開放。 ping使用ICMP協議,不使用某個特定端口。 也可以 ping 域名 ,這樣可以

linuxping命令的實現原始碼

相信大家一定遇到過上不了網的情形,都知道用個ping命令。這不小王就是這樣的女孩,老是上不了網,老是找我,我就先ping一下,逐步找找問題在哪兒,有的放矢,不至於盲目抓瞎(說心裡話,我真不願意幫小王弄,每次弄好了,她就和那個叫寒煙的Q友,使勁聊天,唉,心裡哇涼啊.)都說實

Linuxping命令的常用命令選項

一、ping命令簡介ping (Packet Internet Groper),因特網包探索器,用於測試網路連線量的程式。Ping傳送一個ICMP;回聲請求訊息給目的地並報告是否收到所希望的ICMP echo (ICMP回聲應答)。它是用來檢查網路是否通暢或者網路連線速度的命

Linux查看/修改系統時區時間

英國倫敦 sha 硬件時間 創建 com rec shanghai asi deb 一、查看和修改Linux的時區 1. 查看當前時區 命令 : "date -R" 2. 修改設置Linux服務器時區 方法 A 命令 : "tzselect" 方法 B 僅限於RedHat

linux查看機器的CPU內存信息

linux查看cpu信息Linux下如何查看版本信息, 包括位數和多核信息,今天我們就來一起看看linux 查看版本信息以及查看CPU內核信息、CPU具體型號等等,整個CPU信息一目了然。相信不會讓大家失望。# uname -aLinux euis1 2.6.9-55.ELsmp #1 SMP Fri Apr

Linux創建和刪除軟硬鏈接 可臨時處理空間不足

clas 就會 blog file 兩種 而是 也有 符號連接 總計 在Linux系統中,內核為每一個新創建的文件分配一個Inode(索引結點),每個文件都有一個惟一的inode號。文件屬性保存在索引結點裏,在訪問文件時,索引結點被復制到內存在,從而實

轉載:Linux查看/修改系統時區時間

div 系統 啟動 localtime ive hctosys red 亞洲 命令 一、查看和修改Linux的時區 1. 查看當前時區 命令 : "date -R" 2. 修改設置Linux服務器時區 方法 A 命令 : "tzselect" 方法 B 僅限於RedHat

linux創建和刪除軟硬鏈接

在linux下創建和刪除軟、硬鏈接說明:在安裝Mysql時,采用軟鏈接的方式來訪問Mysql安裝包,這樣可以避免後期升級,而且不方便知曉其版本,軟鏈接和硬鏈接操作如下 來源地址:https://www.cnblogs.com/xiaochaohuashengmi/archive/2011/10/05/2199

linux終端11選5平臺出租常用命令和vi命令修改文件及保存的使用方法

首開 mman bin 軟件包管理 系統啟動 左右移動 包含 地方 執行 首先11選5平臺出租 haozbbs.com Q1446595067介紹一下Ubuntu下各個目錄的一般作用: /這就是根目錄,一臺電腦有且只有一個根目錄,所有的文件都是從這裏開始的。舉個例子:當

linux查看物理CPU個數核數邏輯CPU個數

相同 查看 red sort red hat wc -l 詳細 dmidecode processor cat /proc/cpuinfo中的信息processor 邏輯處理器的id。physical id 物理封裝的處理器的id。core id

Linux解包/打包,壓縮/解壓命令

res file bzip2 lena dirname unzip bz2 裏的 dir .tar 解包:tar xvf FileName.tar 打包:tar cvf fileName.tar DirName tar.gz和.tgz 解壓:tar zxvf FileNam

linux URL中 UTF-8編碼GB2312編碼與漢字之間的轉換

下面是UTF-8編碼的轉換程式碼 #include <string.h> #include <stdio.h> #include <stdlib.h> /* 16進位制字元表 */ static const char c2x_table[] = "0

linux獲取本機IPv6地址字首閘道器

獲取本機IPv6資訊命令:cat /proc/net/if_inet6 [email protected]:/home/user1/# cat /proc/net/if_inet6 fe80000000000000922b34fffe4e70f4 02 40 20 80 et

Linux expect 指令碼語言中互動處理常用命令

Linux 下 expect 指令碼語言中互動處理常用命令 Linux 下 expect 指令碼語言中互動處理常用命令 1. #!/usr/bin/expect 告訴作業系統腳本里的程式碼使用那一個 shell 來執行。這裡的 expect 其實和 Linux 下的 bash、win

linux安裝ab壓力測試工具及ab命令詳解

yum -y install httpd-tools ab -v 檢視ab版本 ab –help ab -n1000 -c 10 http://www.xxxx.com/ 以上命令-n訪問1000次, -c併發10個 ab壓力測試返回報文內容詳解: Server Soft

EngineerCMS在linux部署,並採用dockeronlyoffice實現文件協作

等了好久,這次終於下決心在區域網部署了linux系統,並安裝docker和load了onlyoffice,利用engineercms進行資料管理和文件協作。 我整理了完整文件,見我的網盤。 engineercms 0基礎安裝linux、onlyoffice和engineercms&n

LinuxKVM虛擬機器基本管理及常用命令

  說明:可能有重複 一、KVM的基本管理 1、檢視KVM虛擬機器配置檔案 #Kvm虛擬機器預設配置檔案位置 [[email protected] qemu]# pwd /etc/libvirt/qemu [[email protected] qe

Linux檢視檔案內容的幾種常用命令

【常用】 1,cat     由第一行開始顯示內容,並將所有內容輸出 cat的功能是將檔案從第一行開始連續的將內容輸出在螢幕上。但是cat並不常用,原因是當檔案大,行數比較多時,螢幕無法全部容下時,只能看到一部分內容。 cat語法:cat [-n]  檔