zoukankan      html  css  js  c++  java
  • tracert使用详解

    概念

    Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP数据包访问目标所采取的路径。Tracert 命令使用用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。

    常规使用

    C:\Users\A>Tracert www.baidu.com
    
    通过最多 30 个跃点跟踪
    到 www.a.shifen.com [112.80.248.76] 的路由:
    
      1    <1 毫秒   <1 毫秒   <1 毫秒 hzyj [192.168.2.1]
      2     3 ms     2 ms     3 ms  101.71.194.1
      3     3 ms     2 ms     2 ms  124.90.33.185
      4     9 ms     8 ms     8 ms  101.69.245.197
      5    15 ms    15 ms    15 ms  219.158.115.74
      6    12 ms    12 ms    13 ms  153.3.228.154
      7    14 ms    15 ms    14 ms  153.37.96.158
      8     *        *        *     请求超时。
      9    13 ms    12 ms    13 ms  112.80.248.76
    
    跟踪完成。
    

    现在就可以用112.80.248.76来访问百度了。
    image

    指令

    tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name

    其中参数说明如下:

    -d                  不将地址解析成主机名。
    -h maximum_hops     搜索目标的最大跃点数,默认30。
    -j host-list        与主机列表一起的松散源路由(仅适用于 IPv4)。指定沿host-list的稀疏源路由列表序进行转发。
                        host-list是以空格隔开的多个路由器IP地址,最多9个;
    -w timeout          等待每个回复的超时时间(以毫秒为单位)。
    -R                  跟踪往返行程路径(仅适用于 IPv6)。
    -S srcaddr          要使用的源地址(仅适用于 IPv6)。
    -4                  强制使用 IPv4。
    -6                  强制使用 IPv6。
    target_name         目标计算机的名称。
    

    wireshark 分析tracert过程

    image

    所以tracert是基于ICMP协议的。
    本机共发送了6个请求,每发送两个请求就会收到一个回复的消息。其中三条请求没有回复,显示no response,这表示丢包,。
    wireshark会根据pacp文件中的icmp请求和回显报文,自动补齐Response frame或no response found字段;这个是wireshark行为,不是包本身信息。

    Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。

    实现原理

    1、tracert发出TTL值为1的ICMP数据包(40个字节、源地址、目标地址和发出时间标签,一般发3个)
    2、当到达路径上第一个路由器时,路由器会将,TTL值减1
    3、此时TTL值为0,该路由器将此数据包丢弃,向源地址返回一个ICMP超时通知(数据包的源地址、路由器的IP地址)
    4、当tracert收到该数据包,获得了这个路径上的第一个路由器的地址
    5、tracert再发送另一个TTL为2的数据包
    6、第一个路由器会将此数据包转发给第二个路由器
    7、当TTL=0,第二个路由器返回一个超时通知,tracert得到第二个路由器地址
    Tracert每次发出数据报时便会将TTL加1,发现下一个路由器
    这个动作一直重复,直到到达目的地或者确定目标主机不可到达为止
    到达目的IP后,目标主机并不返回超时报文
    Tracert发送数据报时,会选择一个一般应用程序不会使用的号码来做端口(3000以上)
    当到达目的地后,目标主机返回一个ICMP port unreachable(端口不可达)的消息
    当tracert收到这个消息后,就知道目的地到达了
    image

  • 相关阅读:
    .NET ------ 多线程的简单使用
    .NET --- 页面刷新(html 和 js两种方式)
    .NET ---- B/S的特点,不接收js赋值
    二分查找与二分答案
    c++运行程序 鼠标点击按钮 (c++)(windows)
    c++运行程序 光标隐藏与移动 (c++)(windows)
    推荐:史蒂芬霍金论天道
    LaTeX公式学习
    Markdown语法学习
    文言语言!!!(附c/c++自译)
  • 原文地址:https://www.cnblogs.com/still-smile/p/15656665.html
Copyright © 2011-2022 走看看