1. 程式人生 > >traceroute和tracert用法詳解

traceroute和tracert用法詳解

什麼是Traceroute?  
               Internet,即國際網際網路,是目前世界上最大的計算機網路,更確切地說是網路的網路。它由遍佈全球的幾萬區域網和數百萬臺計算機組成,並通過用於異構網路的
TCP/IP協議進行網間通訊。網際網路中,資訊的傳送是通過網中許多段的傳輸介質和裝置(路由器,交換機,伺服器,閘道器等等)從一端到達另一端。每一個連線在Internet上的裝置,如主機、路由器、接入伺服器等一般情況下都會有一個獨立的IP地址。通過Traceroute我們可以知道資訊從你的計算機到網際網路另一端的主機是走的什麼路徑。當然每次資料包由某一同樣的出發點(source)到達某一同樣的目的地(destination)走的路徑可能會不一樣,但基本上來說大部分時候所走的路由是相同的。UNIX系統中,我們稱之為Traceroute,MS Windows中為Tracert。Traceroute通過傳送小的資料包到目的裝置直到其返回,來測量其需要多長時間。一條路徑上的每個裝置Traceroute要測3次。輸出結果中包括每次測試的時間(ms)和裝置的名稱(如有的話)及其IP地址。
               在大多數情況下,作為網路工程技術人員或者系統管理員會在UNIX主機系統下,直接執行命令列:

               Traceroute [引數選項] hostname     (hostname可為域名或ip地址)

 

引數選項:

               -i 指定網路介面,對於多個網路介面有用。比如 -i eth1 或-i ppp1等;

               -m 把在外發探測試包中所用的最大生存期設定為max-ttl次轉發,預設值為30次;

               -n 顯示IP地址,不查主機名。當DNS不起作用時常用到這個引數;

               -p port 探測包使用的基本UDP埠設定為port ,預設值是33434

               -q n 在每次設定生存期時,把探測包的個數設定為值n,預設時為3;

               -r 繞過正常的路由表,直接傳送到網路相連的主機;

               -w n 把對外發探測包的等待響應時間設定為n秒,預設值為3秒;

 

windows之tracert

C:\>tracert

Usage: tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout]target_name 

引數說明:
tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name
該診斷實用程式通過向目的地傳送具有不同生存時間 (TL) 的 Internet 控制資訊協議 (CMP) 迴應報文,以確定至目的地的路由。路徑上的每個路由器都要在轉發該 ICMP 迴應報文之前將其 TTL 值至少減 1,因此 TTL 是有效的跳轉計數。當報文的 TTL 值減少到 0 時,路由器向源系統發回 ICMP 超時資訊。通過傳送 TTL 為 1 的第一個迴應報文並且在隨後的傳送中每次將 TTL 值加 1,直到目標響應或達到最大 TTL 值,Tracert 可以確定路由。通過檢查中間路由器發發回的 ICMP 超時 (ime Exceeded) 資訊,可以確定路由器。注意,有些路由器“安靜”地丟棄生存時間 (TLS) 過期的報文並且對 tracert 無效。
引數:
    -d指定不對計算機名解析地址。
    -h maximum_hops指定查詢目標的跳轉的最大數目。
    -jcomputer-list指定在 computer-list 中鬆散源路由。
    -w timeout等待由 timeout 對每個應答指定的毫秒數。
    target_name目標計算機的名稱,可為域名或ip地址。

忽然在想,這次海底線纜掛了,備用路由在哪裡呢?

試試tracert,看看都經過那幾個跳轉 

C:\>tracert blog.is36.cn

 

Tracing route to blog.is36.cn [68.68.99.173]

over a maximum of 30 hops:

 

  1     3 ms     8 ms    10 ms  172.31.8.254 //本地區域網上一跳

  2     9 ms     9 ms     9 ms  172.8.105.254 //繼續上一跳

  3     3 ms     9 ms     9 ms  10.1.2.9 //繼續上一跳

  4     1 ms     4 ms     1 ms  10.1.2.2 //出口(內部地址)

  5    <1 ms    <1 ms    <1 ms  60.191.53.193 //出口(外部地址)

  6    <1 ms    <1 ms    <1 ms  61.164.9.169 //杭州電信

  7     1 ms     1 ms    <1 ms  61.164.3.113 //杭州電信

  8    <1 ms    <1 ms    <1 ms  220.191.129.129 //杭州電信

  9     3 ms     4 ms     3 ms  202.97.39.105 //安徽黃山

 10     3 ms     4 ms     3 ms  202.97.33.74 //北京

 11   185 ms   167 ms   168 ms  202.97.51.194 //廣西南寧

 12   171 ms   170 ms   172 ms  202.97.49.97 //北京

 13   176 ms   175 ms   173 ms  gige-g5-9.core1.sjc2.he.net [64.62.142.157] //美國紐約

 14   177 ms   174 ms   176 ms  10gigabitethernet1-1.core1.fmt1.he.net  [72.52.92.109] //美國加州

 15   174 ms   177 ms   173 ms  10gige1-1.fmt1.egihosting.com [64.71.129.70] //

 16   172 ms   172 ms   172 ms  72.13.80.26 //美國加州

 17   175 ms   175 ms   176 ms  68.68.99.173 //抵達目標主機(美國加州)

 

Trace complete.

以上ip的地址來自:http://www.ip2location.com/

linux之traceroute

Traceroute的命令引數:
Traceroute的用法為: Traceroute [options] <IP-address or domain-name> [data size]
[options]的內容有:

      -d   使用Socket層級的排錯功能。
      -f<存活數值>   設定第一個檢測資料包的存活數值TTL的大小。
      -F   設定勿離斷位。
      -g<閘道器>   設定來源路由閘道器,最多可設定8個。
      -i<網路介面>   使用指定的網路介面送出資料包。
      -I   使用ICMP迴應取代UDP資料資訊。
      -m<存活數值>   設定檢測資料包的最大存活數值TTL的大小。
      -n   直接使用IP地址而非主機名稱。
      -p<通訊埠>   設定UDP傳輸協議的通訊埠。(預設為33434)

    -q  設定TTL測試數目(預設為3)
      -r   忽略普通的Routing Table,直接將資料包送到遠端主機上。
      -s<來源地址>   設定本地主機送出資料包的IP地址。
      -t<服務型別>   設定檢測資料包的TOS數值。
      -v   詳細顯示指令的執行過程。
      -w<超時秒數>   設定等待遠端主機回報的時間。
      -x   開啟或關閉資料包的正確性檢驗。  
    [data size]:每次測試包的資料位元組長度(預設為38)

因為我的vps系統是CentOS,但是沒有安裝traceroute軟體,需要自行安裝

[[email protected] ~]# traceroute //沒有這個命令

-bash: traceroute: command not found

採用yum進行安裝(安裝完成後可以輸入traceroute看到更多可選引數):

yum_install_traceroute.jpg大小: 70.67 K尺寸: 254 x 300瀏覽: 86 次點選開啟新視窗瀏覽全圖

測試下從美國到杭州某網路公司伺服器:

tracert eb.jpg大小: 70.31 K尺寸: 300 x 210瀏覽: 87 次點選開啟新視窗瀏覽全圖

測試下從vps到牛人張宴部落格的路由跳轉:

tracert s135.jpg大小: 15.19 K尺寸: 300 x 34瀏覽: 40 次點選開啟新視窗瀏覽全圖

看來是在同一個機房裡的機器,只是出口ip不一樣。

 

(二)Traceroute的工作原理
Traceroute最簡單的基本用法是:traceroute hostname
Traceroute程式的設計是利用ICMP及IP header的TTL(Time To Live)欄位(field)。首先,traceroute送出一個TTL是1的IP datagram(其實,每次送出的為3個40位元組的包,包括源地址,目的地址和包發出的時間標籤)到目的地,探測包是UDP格式,由於我們不想目的主機處理它們,因此目的埠設定為一個不可能的值。當路徑上的第一個路由器(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,繼續進行。

以上部分內容轉自:http://yp.oss.org.cn/software/show_resource.php?resource_id=1057

(三)什麼是Traceroute閘道器—Traceroute  Gateway 
            一般使用Traceroute(或者是Tracert)是基於一臺主機的,但是通常您只能知道以手邊的主機為源地址到網際網路絡上任意一臺線上的主機的路由連線質量以及資料傳輸效率的情況,而使用基於WEB的方式,只要一臺主機安裝了特定的CGI程式,使用者就可以通過這臺主機執行相關的程式,執行Traceroute的功能。這臺主機我們把它叫做Traceroute閘道器。Traceroute閘道器可以幫助使用者瞭解網路的物理與邏輯連線的拓撲情況以及資料傳輸的效率。如果這種閘道器足夠多,我們就可以方便地瞭解到各主機之間連線的情況了。

(四)為什麼要使用Traceroute?
          1.幾乎每一個網上人(尤其是Webmaster)對他們的計算機(或其它裝置)與Internet的連線,路由(徑),連通時間,速度等都很關心。使用由ChianNetMap組織起來的各地區Webmaster提供的Traceroute閘道器的服務,將給你一個滿意的答案。從你的計算機到任何別的地方,ChinaNetMap(Traceroute)都能提供其間的每個裝置(IP地址)及其連通時間。它可以讓你畫出通過網路的路徑。
          2.許多公司和單位都設有或正在設立自己的伺服器-尤其是Web伺服器。一旦有自己的Web伺服器,隨著網民數量的日益增加(包括潛在的,沒法統計的網民),
你一定很想知道是否他們都能與你連線。你的ISP如何與一個或多個NAP連線,以及他們的連線效率會直接影響到你的連線質量.
          3.在選擇ISP,骨幹網連線,你站點的主機時,大多數有見識的網民喜歡檢查該Site的連線效能及其它是怎樣精確的與誰連,連到哪兒。ChinaNetMap(Traceroute)將給你一個完美的答案。

(五)將來Traceroute實現的演算法

下面討論一下Traceroute將來的實現方法,詳細資訊參考RFC1393。目前Quidway系列路由器上Traceroute應用實現的方法仍然是上面所講的方法。
將來要定義一個新的IP Traceroute選項,這樣源站發出一個數據包(TTL為指定的預設值,而不是1、2...),就可以使各個路由器返回一個新定義的ICMP Traceroute訊息給源站,通過這種方式,只需通過n + 1個數據包,源站就可以記錄下它傳送出去的資料包所經過的路由器。
? IP Traceroute 選項的格式為:
    0               8              16              24
   +-+-+-+-+-+-+-+-+---------------+---------------+---------------+
   |F| C |  Number |    Length     |          ID Number            |
   +-+-+-+-+-+-+-+-+---------------+---------------+---------------+
   |      Outbound Hop Count       |       Return Hop Count        |
   +---------------+---------------+---------------+---------------+
   |                     Originator IP Address                     |
   +---------------+---------------+---------------+---------------+
 F(拷貝標誌)
  0 僅把該選項拷貝到第一個分片中(通常設定為0)
  1 該選項應該被拷貝到所有的分片中
  C(選項類)
  2 除錯和測量
  Number(選項號)18 ( F + C + Number = 82 )
  Length 長度
  ID Number 由傳送站規定傳送出去的資料包的識別符號,與IP頭中的ID Number域無關。
  Originator IP Address 傳送站的IP地址。
  Outbound Hop Count ( OHC )傳送的資料包經過的路由器的個數
  Return Hop Count ( RHC ) 返回的資料包經過的路由器的個數

? ICMP Traceroute 訊息格式:
   +---------------+---------------+---------------+---------------+
   |     Type      |     Code      |           Checksum            |
   +---------------+---------------+---------------+---------------+
   |           ID Number           |            unused             |
   +---------------+---------------+---------------+---------------+
   |      Outbound Hop Count       |       Return Hop Count        |
   +---------------+---------------+---------------+---------------+
   |                       Output Link Speed                       |
   +---------------+---------------+---------------+---------------+
   |                        Output Link MTU                        |
   +---------------+---------------+---------------+---------------+
   Type 30
   Code
      0 – 傳送的資料包成功地向前傳送
      1 - 傳送的資料包被丟棄,因為沒有路由
   Checksum 校驗和
   ID Number 接收到的IP Traceroute選項的ID Number的拷貝,與IP頭中的ID Number域無關。
   Outbound Hop Count 接收到的IP Traceroute選項的Outbound Hop Count的拷貝
   Return Hop Count 接收到的IP Traceroute選項的Return Hop Count的拷貝
   Output Link Speed 傳送或返回的資料包的速率,單位是位元組/秒,如果無法確定,此域設定為0
   Output Link MTU 傳送或返回的資料包的MTU,單位是位元組,如果無法確定,此域為0
源站發出的資料包的OHC設定為0,RHC設定為0xFFFF,0xFFFF可以用來指明這是一個傳送的資料包,而不是返回的資料包。當一個路由器收到一個RHC為0xFFFF的資料包時,表明此資料包是源站傳送過來的,於是向前傳送一個帶有IP Traceroute選項的資料包時,同時傳送一個ICMP Traceroute 訊息給源站,向前傳送的資料包的RHC仍是0xFFFF,而OHC加1,向源站返回的資料包的RHC設定為0;當一個路由器收到一個RHC不是0xFFFF的帶IP Traceroute選項的資料包時,表明這是一個前方返回的資料包,則該路由器將RHC加1,繼續向源站方向傳送。各個路由器返回的ICMP報文不包括IP Traceroute 選項。到達目的時,目的地返回一個帶有IP Traceroute 選項的IP資料包,但設定RHC為0,而不再是返回一個ICMP報文。
這種演算法的缺點是並非所有的路由器都支援。

(六)使用例項:

例項1:traceroute 用法簡單、最常用的用法

命令:traceroute www.baidu.com 

輸出:

程式碼如下:

[[email protected] ~]# traceroute www.baidu.com
traceroute to www.baidu.com (61.135.169.125), 30 hops max, 40 byte packets
1 192.168.74.2 (192.168.74.2) 2.606 ms 2.771 ms 2.950 ms
2 211.151.56.57 (211.151.56.57) 0.596 ms 0.598 ms 0.591 ms
3 211.151.227.206 (211.151.227.206) 0.546 ms 0.544 ms 0.538 ms
4 210.77.139.145 (210.77.139.145) 0.710 ms 0.748 ms 0.801 ms
5 202.106.42.101 (202.106.42.101) 6.759 ms 6.945 ms 7.107 ms
6 61.148.154.97 (61.148.154.97) 718.908 ms * bt-228-025.bta.net.cn (202.106.228.25) 5.177 ms
7 124.65.58.213 (124.65.58.213) 4.343 ms 4.336 ms 4.367 ms
8 202.106.35.190 (202.106.35.190) 1.795 ms 61.148.156.138 (61.148.156.138) 1.899 ms 1.951 ms
9 * * *
30 * * *
[[email protected] ~]# 

說明:

記錄按序列號從1開始,每個紀錄就是一跳 ,每跳錶示一個閘道器,我們看到每行有三個時間,單位是 ms,其實就是-q的預設引數。探測資料包向每個閘道器傳送三個資料包後,閘道器響應後返回的時間;如果您用 traceroute -q 4 www.58.com ,表示向每個閘道器傳送4個數據包。

有時我們traceroute 一臺主機時,會看到有一些行是以星號表示的。出現這樣的情況,可能是防火牆封掉了ICMP的返回資訊,所以我們得不到什麼相關的資料包返回資料。

有時我們在某一閘道器處延時比較長,有可能是某臺網關比較阻塞,也可能是物理裝置本身的原因。當然如果某臺DNS出現問題時,不能解析主機名、域名時,也會 有延時長的現象;您可以加-n 引數來避免DNS解析,以IP格式輸出資料。

如果在區域網中的不同網段之間,我們可以通過traceroute 來排查問題所在,是主機的問題還是閘道器的問題。如果我們通過遠端來訪問某臺伺服器遇到問題時,我們用到traceroute 追蹤資料包所經過的閘道器,提交IDC服務商,也有助於解決問題;但目前看來在國內解決這樣的問題是比較困難的,就是我們發現問題所在,IDC服務商也不可能幫助我們解決。

例項2:跳數設定

命令:traceroute -m 10 www.baidu.com

輸出:

程式碼如下:

[[email protected] ~]# traceroute -m 10 www.baidu.com
traceroute to www.baidu.com (61.135.169.105), 10 hops max, 40 byte packets
1 192.168.74.2 (192.168.74.2) 1.534 ms 1.775 ms 1.961 ms
2 211.151.56.1 (211.151.56.1) 0.508 ms 0.514 ms 0.507 ms
3 211.151.227.206 (211.151.227.206) 0.571 ms 0.558 ms 0.550 ms
4 210.77.139.145 (210.77.139.145) 0.708 ms 0.729 ms 0.785 ms
5 202.106.42.101 (202.106.42.101) 7.978 ms 8.155 ms 8.311 ms
6 bt-228-037.bta.net.cn (202.106.228.37) 772.460 ms bt-228-025.bta.net.cn (202.106.228.25) 2.152 ms 61.148.154.97 (61.148.154.97) 772.107 ms
7 124.65.58.221 (124.65.58.221) 4.875 ms 61.148.146.29 (61.148.146.29) 2.124 ms 124.65.58.221 (124.65.58.221) 4.854 ms
8 123.126.6.198 (123.126.6.198) 2.944 ms 61.148.156.6 (61.148.156.6) 3.505 ms 123.126.6.198 (123.126.6.198) 2.885 ms
9 * * *
10 * * *
[[email protected] ~]#

例項3:顯示IP地址,不查主機名

命令:traceroute -n www.baidu.com

輸出:

程式碼如下:

[[email protected] ~]# traceroute -n www.baidu.com
traceroute to www.baidu.com (61.135.169.125), 30 hops max, 40 byte packets
1 211.151.74.2 5.430 ms 5.636 ms 5.802 ms
2 211.151.56.57 0.627 ms 0.625 ms 0.617 ms
3 211.151.227.206 0.575 ms 0.584 ms 0.576 ms
4 210.77.139.145 0.703 ms 0.754 ms 0.806 ms
5 202.106.42.101 23.683 ms 23.869 ms 23.998 ms
6 202.106.228.37 247.101 ms * *
7 61.148.146.29 5.256 ms 124.65.58.213 4.386 ms 4.373 ms
8 202.106.35.190 1.610 ms 61.148.156.138 1.786 ms 61.148.3.34 2.089 ms
9 * * *
30 * * *
[[email protected] ~]# traceroute www.baidu.com
traceroute to www.baidu.com (61.135.169.125), 30 hops max, 40 byte packets
1 211.151.74.2 (211.151.74.2) 4.671 ms 4.865 ms 5.055 ms
2 211.151.56.57 (211.151.56.57) 0.619 ms 0.618 ms 0.612 ms
3 211.151.227.206 (211.151.227.206) 0.620 ms 0.642 ms 0.636 ms
4 210.77.139.145 (210.77.139.145) 0.720 ms 0.772 ms 0.816 ms
5 202.106.42.101 (202.106.42.101) 7.667 ms 7.910 ms 8.012 ms
6 bt-228-025.bta.net.cn (202.106.228.25) 2.965 ms 2.440 ms 61.148.154.97 (61.148.154.97) 431.337 ms
7 124.65.58.213 (124.65.58.213) 5.134 ms 5.124 ms 5.044 ms
8 202.106.35.190 (202.106.35.190) 1.917 ms 2.052 ms 2.059 ms
9 * * *
30 * * *
[[email protected] ~]# 

例項4:探測包使用的基本UDP埠設定6888

命令:traceroute -p 6888 www.baidu.com

輸出:

程式碼如下:

[[email protected] ~]# traceroute -p 6888 www.baidu.com
traceroute to www.baidu.com (220.181.111.147), 30 hops max, 40 byte packets
1 211.151.74.2 (211.151.74.2) 4.927 ms 5.121 ms 5.298 ms
2 211.151.56.1 (211.151.56.1) 0.500 ms 0.499 ms 0.509 ms
3 211.151.224.90 (211.151.224.90) 0.637 ms 0.631 ms 0.641 ms
4 * * *
5 220.181.70.98 (220.181.70.98) 5.050 ms 5.313 ms 5.596 ms
6 220.181.17.94 (220.181.17.94) 1.665 ms !X * *
[[email protected] ~]# 

例項5:把探測包的個數設定為值4

命令:traceroute -q 4 www.baidu.com

輸出:

程式碼如下:

[[email protected] ~]# traceroute -q 4 www.baidu.com
traceroute to www.baidu.com (61.135.169.125), 30 hops max, 40 byte packets
1 211.151.74.2 (211.151.74.2) 40.633 ms 40.819 ms 41.004 ms 41.188 ms
2 211.151.56.57 (211.151.56.57) 0.637 ms 0.633 ms 0.627 ms 0.619 ms
3 211.151.227.206 (211.151.227.206) 0.505 ms 0.580 ms 0.571 ms 0.569 ms
4 210.77.139.145 (210.77.139.145) 0.753 ms 0.800 ms 0.853 ms 0.904 ms
5 202.106.42.101 (202.106.42.101) 7.449 ms 7.543 ms 7.738 ms 7.893 ms
6 61.148.154.97 (61.148.154.97) 316.817 ms bt-228-025.bta.net.cn (202.106.228.25) 3.695 ms 3.672 ms *
7 124.65.58.213 (124.65.58.213) 3.056 ms 2.993 ms 2.960 ms 61.148.146.29 (61.148.146.29) 2.837 ms
8 61.148.3.34 (61.148.3.34) 2.179 ms 2.295 ms 2.442 ms 202.106.35.190 (202.106.35.190) 7.136 ms
9 * * * *
30 * * * *
[[email protected] ~]# 

例項6:繞過正常的路由表,直接傳送到網路相連的主機

命令:traceroute -r www.baidu.com

輸出:

程式碼如下:

[[email protected] ~]# traceroute -r www.baidu.com
traceroute to www.baidu.com (61.135.169.125), 30 hops max, 40 byte packets
connect: 網路不可達
[[email protected] ~]# 

例項7:把對外發探測包的等待響應時間設定為3秒

命令:traceroute -w 3 www.baidu.com

輸出:

程式碼如下:

[[email protected] ~]# traceroute -w 3 www.baidu.com
traceroute to www.baidu.com (61.135.169.105), 30 hops max, 40 byte packets
1 211.151.74.2 (211.151.74.2) 2.306 ms 2.469 ms 2.650 ms
2 211.151.56.1 (211.151.56.1) 0.621 ms 0.613 ms 0.603 ms
3 211.151.227.206 (211.151.227.206) 0.557 ms 0.560 ms 0.552 ms
4 210.77.139.145 (210.77.139.145) 0.708 ms 0.761 ms 0.817 ms
5 202.106.42.101 (202.106.42.101) 7.520 ms 7.774 ms 7.902 ms
6 bt-228-025.bta.net.cn (202.106.228.25) 2.890 ms 2.369 ms 61.148.154.97 (61.148.154.97) 471.961 ms
7 124.65.58.221 (124.65.58.221) 4.490 ms 4.483 ms 4.472 ms
8 123.126.6.198 (123.126.6.198) 2.948 ms 61.148.156.6 (61.148.156.6) 7.688 ms 7.756 ms
9 * * *
30 * * *
[[email protected] ~]# 

參考連結:http://net.chinaunix.net/5/2006/08/24/1140064.shtml

                    http://blog.sina.com.cn/s/blog_53864cba010009z4.html

                    http://yp.oss.org.cn/software/show_resource.php?resource_id=1057

                    http://www.jb51.net/LINUXjishu/152395.html