traceroute 是一个网络诊断工具,用于检测数据包从本机到目标主机经过的路由路径。它可以帮助我们分析出网络连接的瓶颈,定位网络问题,并帮助我们优化网络连接。在 Linux 系统中,traceroute 命令是一个非常常用的工具。 在大多数 Linux 发行版中,traceroute 工具已经默认安装,可以直接使用。如果你的系统中没有安装 traceroute,可以使用以下命令在 Ubuntu 中安装: 在其他发行版中安装方法类似,可以使用相应的包管理工具安装。 traceroute 命令的基本语法如下: 例如: 这将输出从本机到百度的路由路径。 traceroute 命令的选项: 例如: 这将输出从本机到百度的路由路径,不进行域名解析,设置超时时间为 1 秒,最大跳数为 20,每个 TTL 值收到的回复数量为 1。 traceroute 命令的输出有以下几个字段: 例如: 其中,“30 hops max” 表示最大跳数为 30。每一行输出包括跳数、时间、IP 地址和主机名(如果有的话),例如第一行输出为 “1 192.168.1.1 (192.168.1.1) 0.363 ms 0.340 ms 0.308 ms”,表示第一跳的 IP 地址为 192.168.1.1,延迟时间分别为 0.363ms、0.340ms 和 0.308ms。 traceroute 使用 ICMP 协议,向目标主机发送特定的数据包(称为 TTL),每经过一个路由器,TTL 值就减 1,当 TTL 值为 0 时,路由器将会将数据包丢弃并向源主机发送一个 ICMP “超时”消息。traceroute 利用这个特性,对目标主机进行探测,获取数据包经过的路由路径。 traceroute 还使用 UDP 协议,当 ICMP 协议被防火墙或路由器过滤时,可以使用 UDP 协议进行探测。 使用 -I 参数可以让 traceroute 使用 ICMP ECHO 请求报文而不是 UDP 数据包,从而可以绕过部分防火墙的过滤。 使用 -p 参数可以指定 UDP 数据包的目标端口号,从而可以避免被防火墙过滤。 使用 -T 参数可以让 traceroute 使用 TCP SYN 数据包,从而可以检测目标主机是否开放了指定的端口。 使用 -z 参数可以指定每次发送数据包之间的延迟时间。 traceroute 是一个非常有用的网络诊断工具,可以帮助我们分析出网络连接的瓶颈,定位网络问题,并帮助我们优化网络连接。本文介绍了 traceroute 的基本语法和常用参数,以及其工作原理和输出解释,希望能够帮助读者更好地了解和掌握 traceroute 的使用。简介
安装 traceroute
sudo apt-get install traceroute
使用 traceroute
traceroute [选项] 目标主机
traceroute www.baidu.com
-n
:不对 IP 地址进行域名解析,直接输出 IP 地址。-w
:设置超时时间。-m
:设置最大跳数。-q
:设置每个 TTL 值收到的回复数量。traceroute -n -w 1 -m 20 -q 1 www.baidu.com
输出解释
traceroute to www.baidu.com (220.181.38.148), 30 hops max, 60 byte packets
1 192.168.1.1 (192.168.1.1) 0.363 ms 0.340 ms 0.308 ms
2 10.100.1.1 (10.100.1.1) 15.791 ms 15.779 ms 15.765 ms
3 218.205.109.89 (218.205.109.89) 26.228 ms 26.217 ms 26.204 ms
4 218.205.110.253 (218.205.110.253) 25.176 ms 25.163 ms 25.150 ms
5 202.97.50.201 (202.97.50.201) 25.135 ms 25.123 ms 25.110 ms
6 202.97.52.65 (202.97.52.65) 26.541 ms 26.528 ms 26.515 ms
7 202.97.52.66 (202.97.52.66) 28.002 ms 27.989 ms 27.976 ms
8 202.97.50.54 (202.97.50.54) 30.024 ms 30.011 ms 29.998 ms
9 202.97.50.45 (202.97.50.45) 27.975 ms 27.962 ms 27.949 ms
10 61.135.169.121 (61.135.169.121) 28.937 ms 28.924 ms 28.911 ms
11 61.135.169.26 (61.135.169.26) 28.898 ms 28.885 ms 28.872 ms
12 220.181.38.148 (220.181.38.148) 29.726 ms 29.713 ms 29.700 mstraceroute 的工作原理
traceroute 的常用参数
-I 参数
-p 参数
-T 参数
-z 参数
总结
vim命令大全,非常详细,强烈建议收藏!
介绍如何在 MySQL 中创建新用户并授予权限?
如何使用 OpenSSL 来检查证书,来确保网络通信的安全性?
原文始发于微信公众号(运维漫谈):非常有用的Linux网络诊断命令:traceroute
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/221506.html