IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    使用traceroute来跟踪网路路由地址

    mckee发表于 2016-08-11 17:36:52
    love 0

    traceroute在排查网路问题很有用,它不仅能够获得本地到目标主机的所有网关路径,还能得知在哪一网关延时较长。
    traceroute实现原理很简单,就是利用增加存活时间(TTL)值来实现其功能的。每当数据包经过一个路由器,其存活时间就会减1。当其存活时间是0时,主机便取消数据包,并传送一个ICMP TTL数据包给原数据包的发出者。
    traceroute使用:
    traceroute[参数][主机]
    traceroute参数

    • -d 使用Socket层级的排错功能。
    • -f 设置第一个检测数据包的存活数值TTL的大小。
    • -F 设置勿离断位。
    • -g 设置来源路由网关,最多可设置8个。
    • -i 使用指定的网络界面送出数据包。
    • -I 使用ICMP回应取代UDP资料信息。
    • -m 设置检测数据包的最大存活数值TTL的大小。
    • -n 直接使用IP地址而非主机名称。
    • -p 设置UDP传输协议的通信端口。
    • -r 忽略普通的Routing Table,直接将数据包送到远端主机上。
    • -s 设置本地主机送出数据包的IP地址。
    • -t 设置检测数据包的TOS数值。
    • -v 详细显示指令的执行过程。
    • -w 设置等待远端主机回报的时间。
    • -x 开启或关闭数据包的正确性检验。

    traceroute示例
    mckee@mckee-pc ~ $ traceroute www.phpddt.com
    traceroute to www.phpddt.com (42.121.145.230), 64 hops max
      1   192.168.1.1  3.020ms  2.988ms  2.985ms 
      2   222.64.72.1  7.912ms  4.578ms  6.929ms 
      3   124.74.37.249  4.968ms  6.149ms  8.057ms 
      4   124.74.215.25  11.770ms  7.179ms  8.031ms 
      5   *  *  * 
      6   *  *  * 
      7   180.163.38.30  17.071ms  7.793ms  8.161ms 
      8   42.120.241.30  9.982ms  10.891ms  9.320ms 
      9   140.205.24.17  9.402ms  12.160ms  12.802ms 
     10   42.120.247.70  36.269ms  10.030ms  11.860ms 
     11   42.120.247.106  12.880ms  10.969ms  12.403ms 
     12   42.120.244.218  12.802ms  12.450ms  12.777ms 
     13   *  *  * 
     14   *  *  * 
     15   42.121.145.230  62.176ms  49.375ms  97.886ms

     说明:
    • 三个时间是-q的默认参数,探测数据包向每个网关发送三个数据包后,网关响应后返回的时间。
    • *表示可能防火墙屏蔽了ICMP返回信息,所以无数据返回。 



沪ICP备19023445号-2号
友情链接