Linux下traceroute的安裝和使用


一、工具介紹

traceroute是跟蹤數據包到達網絡主機所經過的路由工具。其原理為試圖以最小的TTL發出探測包來跟蹤數據包到達目標主機所經過的網關,然后監聽一個來自網關ICMP的應答。發送數據包的大小默認為40個字節。本篇我們將詳細學習traceroute的用法。

二、traceroute的安裝

yum install -y traceroute

三、traceroute的使用

  1. 首先我們開啟ubuntu虛擬機,並且確保其能上網。安裝traceroute軟件。執行命令"apt-get install traceroute"進行安裝。

    linux下traceroute使用教程
     
  2. 我們介紹traceroute軟件的命令格式為 traceroute [參數選項] hostname,域名或 IP地址。

    首先我們執行第一條命令為"traceroute www.sina.com",對新浪地址進行追蹤。

    此處我們對結果加以說明:

       記錄按序列號從1開始,每個紀錄就是一跳 ,每跳表示一個網關,我們看到每行有三個時間,單位是 ms,其實就是-q的默認參數。探測數據包向每個網關發送三個數據包后,網關響應后返回的時間;如果您用 traceroute -q 4 www.sina.com ,表示向每個網關發送4個數據包。

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

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

    linux下traceroute使用教程
  3. 下一條命令,"traceroute -q 4 www.sina.com",表示每次向網關發送的探測數據包數量為4。
    linux下traceroute使用教程
  4. 下一條命令,"traceroute -m 10 www.wangshihai.com",表示設置的跳轉數量為10次。
    linux下traceroute使用教程
  5. 下一條命令,"traceroute -n www.wangshihai.com",表示不顯示主機名,只顯示IP地址。
    linux下traceroute使用教程
  6. 下一條命令,"traceroute -p 7778 www.wangshihai.com",表示我們探測包使用UDP端口設置7778。
    linux下traceroute使用教程
  7. 下一條命令,"traceroute -r www.wangshihai.com",表示繞過真正的路由,直接發送到網絡主機。
    linux下traceroute使用教程
  8. 下一條命令,"traceroute -w 5 www.wangshihai.com",表示我么設置對外發送探測包的等待響應時間設置為5秒。
    linux下traceroute使用教程
  9. 下一條命令,我們可以路由追蹤的時候指定使用設備的那個網口,以及使用IPV4或者IPV6 協議。本篇我們使用命令"traceroute -i eth0 -4 www.wangshihai.com",表示使用eth0網口以及IPV4協議。
    linux下traceroute使用教程
SYNOPSIS
       traceroute [-46dFITUnreAV] [-f first_ttl] [-g gate,...]
               [-i device] [-m max_ttl] [-p port] [-s src_addr]
               [-q nqueries] [-N squeries] [-t tos]
               [-l flow_label] [-w waittime] [-z sendwait] [-UL] [-D]
               [-P proto] [--sport=port] [-M method] [-O mod_options]
               [--mtu] [--back]
               host [packet_len]
       traceroute6  [options]
Options:
  -4                          Use IPv4
  -6                          Use IPv6
  -d  --debug                 Enable socket level debugging
  -F  --dont-fragment         Do not fragment packets
  -f first_ttl  --first=first_ttl
                              Start from the first_ttl hop (instead from 1)
  -g gate,...  --gateway=gate,...
                              Route packets through the specified gateway
                              (maximum 8 for IPv4 and 127 for IPv6)
  -I  --icmp                  Use ICMP ECHO for tracerouting
  -T  --tcp                   Use TCP SYN for tracerouting (default port is 80)
  -i device  --interface=device
                              Specify a network interface to operate with
  -m max_ttl  --max-hops=max_ttl
                              Set the max number of hops (max TTL to be
                              reached). Default is 30
  -N squeries  --sim-queries=squeries
                              Set the number of probes to be tried
                              simultaneously (default is 16)
  -n                          Do not resolve IP addresses to their domain names
  -p port  --port=port        Set the destination port to use. It is either
                              initial udp port value for "default" method
                              (incremented by each probe, default is 33434), or
                              initial seq for "icmp" (incremented as well,
                              default from 1), or some constant destination
                              port for other methods (with default of 80 for
                              "tcp", 53 for "udp", etc.)
  -t tos  --tos=tos           Set the TOS (IPv4 type of service) or TC (IPv6
                              traffic class) value for outgoing packets
  -l flow_label  --flowlabel=flow_label
                              Use specified flow_label for IPv6 packets
  -w waittime  --wait=waittime
                              Set the number of seconds to wait for response to
                              a probe (default is 5.0). Non-integer (float
                              point) values allowed too
  -q nqueries  --queries=nqueries
                              Set the number of probes per each hop. Default is
                              3
  -r                          Bypass the normal routing and send directly to a
                              host on an attached network
  -s src_addr  --source=src_addr
                              Use source src_addr for outgoing packets
  -z sendwait  --sendwait=sendwait
                              Minimal time interval between probes (default 0).
                              If the value is more than 10, then it specifies a
                              number in milliseconds, else it is a number of
                              seconds (float point values allowed too)
  -e  --extensions            Show ICMP extensions (if present), including MPLS
  -A  --as-path-lookups       Perform AS path lookups in routing registries and
                              print results directly after the corresponding
                              addresses
  -M name  --module=name      Use specified module (either builtin or external)
                              for traceroute operations. Most methods have
                              their shortcuts (`-I' means `-M icmp' etc.)
  -O OPTS,...  --options=OPTS,...
                              Use module-specific option OPTS for the
                              traceroute module. Several OPTS allowed,
                              separated by comma. If OPTS is "help", print info
                              about available options
  --sport=num                 Use source port num for outgoing packets. Implies
                              `-N 1'
  --fwmark=num                Set firewall mark for outgoing packets
  -U  --udp                   Use UDP to particular port for tracerouting
                              (instead of increasing the port per each probe),
                              default port is 53
  -UL                         Use UDPLITE for tracerouting (default dest port
                              is 53)
  -D  --dccp                  Use DCCP Request for tracerouting (default port
                              is 33434)
  -P prot  --protocol=prot    Use raw packet of protocol prot for tracerouting
  --mtu                       Discover MTU along the path being traced. Implies
                              `-F -N 1'
  --back                      Guess the number of hops in the backward path and
                              print if it differs
  -V  --version               Print version info and exit
  --help                      Read this help and exit
Arguments:
+     host          The host to traceroute to
      packetlen     The full packet length (default is the length of an IP
                    header plus 40). Can be ignored or increased to a minimal
                    allowed value

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM