本章介绍了traceroute,mtr,ipert 三个网络测试工具,具体用途如下
分类名称 | 包含工具 | 说明 |
---|---|---|
连通性测试工具 | ping , mtr |
判断主机/路径是否可达,是否存在丢包 |
路由路径分析工具 | traceroute , mtr |
显示经过哪些路由器,是否有路径异常 |
性能测试工具 | iperf |
测试带宽、延迟、抖动、丢包等网络性能 |
traceroute
1.traceroute
工具简介
traceroute
是一款用于网络路径追踪的诊断工具,它可以显示从本地主机到目标主机之间,数据包所经过的每一跳(即每一个中间路由器)的详细信息。通过它,用户可以分析网络连接中是否存在中断、延迟、路由不通等问题,是网络排障中的重要工具。
1.基本原理
traceroute
的核心思想基于 TTL(Time To Live)机制:
每个 IP 数据包都有一个 TTL 值,表示数据包在网络中最多可以经过的路由跳数。
每经过一个路由器,TTL 值会减 1。
当 TTL 减为 0 时,该路由器会丢弃该数据包,并返回一个 ICMP “Time Exceeded” 报文。
traceroute
就是通过逐步增加 TTL 值(从 1 开始),从而探测每一跳所经过的路由器。当数据包最终到达目标主机时,通常会返回一个 ICMP “Echo Reply” 或对应服务端口响应,从而终止探测。
这个过程模拟了数据包的真实路由路径,显示了路径上每个路由器的 IP 和响应时间(RTT)。
用途:显示数据包从源主机到目标主机之间经过的每一跳(路由器)的 IP 地址及响应时间。
2.工具功能
追踪数据包从源主机到目标主机经过的完整路径;
显示每一跳的 IP、DNS 主机名、响应时间;
检测路径中的网络瓶颈和高延迟点;
排查网络不可达、路由错误、防火墙过滤等问题;
支持多种协议方式(UDP、ICMP、TCP)探测,兼容性强。
3.工作原理:
1.利用 TTL(Time To Live)值逐跳探测路径。
2.每次将 TTL 值从 1 开始递增,触发中间路由器返回 ICMP Time Exceeded
报文。
3.当 TTL 足够大到达目标主机时,返回 ICMP Echo Reply
(或其他响应)。
2.基本命令格式
traceroute [选项] 目标主机
1.常用参数说明
参数 | 含义 |
---|---|
-n |
直接显示 IP,不进行 DNS 解析 |
-I |
使用 ICMP 回显(ping),而非默认的 UDP 数据包(更类似 Windows 的 tracert) |
-T |
使用 TCP SYN 数据包(常用于绕过部分防火墙) |
-p port |
指定目标端口(默认是 33434) |
-m hops |
设置最大跳数(默认 30) |
-q count |
每跳发送的探测包个数(默认 3 个) |
2.使用示例
基础用法:查看到 www.baidu.com 的路由路径
traceroute www.baidu.com
使用 ICMP 模式(更像 Windows 的
tracert
)traceroute -I www.baidu.com
使用 TCP 模式探测(如防火墙屏蔽了 UDP)
traceroute -T www.baidu.com
不解析域名,仅显示 IP