traceroute 是用来检测发出数据包的主机到目标主机之间所经过的网关数量的工具。traceroute 的原理是试图以最小的TTL发出探测包来跟踪数据包到达目标主机所经过的网关,然后监听一个来自网关ICMP的应答。发送数据包的大小默认为 38个字节。
Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。
从上边我们可以看出这两个命令功能是基本一致的,都是用来探测我们访问一个地址所经历的路由状态的。为什么要把他们放在一起呢?因为Traceroute hostname,是Linux操作系统下的命令,而Tracert hostname对应的是win系统的命令。
用法
Linux :Traceroute [参数] [IP/hostname]
windows:Tracert [参数] [IP/hostname]
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 开启或关闭数据包的正确性检验。
Tracert命令
- -d 不将地址解析成主机名。
- -h maximum_hops 搜索目标的最大跃点数。
- -j host-list 与主机列表一起的松散源路由(仅适用于 IPv4)。
- -w timeout 等待每个回复的超时时间(以毫秒为单位)。
- -R 跟踪往返行程路径(仅适用于 IPv6)。
- -S srcaddr 要使用的源地址(仅适用于 IPv6)。
- -4 强制使用 IPv4。
- -6 强制使用 IPv6。