非常有用的Linux网络诊断命令:traceroute
nanshan 2024-11-25 15:27 21 浏览 0 评论
简介
traceroute 是一个网络诊断工具,用于检测数据包从本机到目标主机经过的路由路径。它可以帮助我们分析出网络连接的瓶颈,定位网络问题,并帮助我们优化网络连接。在 Linux 系统中,traceroute 命令是一个非常常用的工具。
安装 traceroute
在大多数 Linux 发行版中,traceroute 工具已经默认安装,可以直接使用。如果你的系统中没有安装 traceroute,可以使用以下命令在 Ubuntu 中安装:
sudo apt-get install traceroute
在其他发行版中安装方法类似,可以使用相应的包管理工具安装。
使用 traceroute
traceroute 命令的基本语法如下:
traceroute [选项] 目标主机
例如:
traceroute www.baidu.com
这将输出从本机到百度的路由路径。
traceroute 命令的选项:
- -n:不对 IP 地址进行域名解析,直接输出 IP 地址。
- -w:设置超时时间。
- -m:设置最大跳数。
- -q:设置每个 TTL 值收到的回复数量。
例如:
traceroute -n -w 1 -m 20 -q 1 www.baidu.com
这将输出从本机到百度的路由路径,不进行域名解析,设置超时时间为 1 秒,最大跳数为 20,每个 TTL 值收到的回复数量为 1。
输出解释
traceroute 命令的输出有以下几个字段:
- 跳数:即从本机到目标主机经过的跳数。
- 时间:每个跳数的延迟时间。
- IP 地址:经过的路由器的 IP 地址或目标主机的 IP 地址。
- 主机名:经过的路由器的主机名。
例如:
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 ms
其中,“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 的工作原理
traceroute 使用 ICMP 协议,向目标主机发送特定的数据包(称为 TTL),每经过一个路由器,TTL 值就减 1,当 TTL 值为 0 时,路由器将会将数据包丢弃并向源主机发送一个 ICMP “超时”消息。traceroute 利用这个特性,对目标主机进行探测,获取数据包经过的路由路径。
traceroute 还使用 UDP 协议,当 ICMP 协议被防火墙或路由器过滤时,可以使用 UDP 协议进行探测。
traceroute 的常用参数
-I 参数
使用 -I 参数可以让 traceroute 使用 ICMP ECHO 请求报文而不是 UDP 数据包,从而可以绕过部分防火墙的过滤。
-p 参数
使用 -p 参数可以指定 UDP 数据包的目标端口号,从而可以避免被防火墙过滤。
-T 参数
使用 -T 参数可以让 traceroute 使用 TCP SYN 数据包,从而可以检测目标主机是否开放了指定的端口。
-z 参数
使用 -z 参数可以指定每次发送数据包之间的延迟时间。
总结
traceroute 是一个非常有用的网络诊断工具,可以帮助我们分析出网络连接的瓶颈,定位网络问题,并帮助我们优化网络连接。本文介绍了 traceroute 的基本语法和常用参数,以及其工作原理和输出解释,希望能够帮助读者更好地了解和掌握 traceroute 的使用。
相关推荐
- F5负载均衡器如何通过irules实现应用的灵活转发?
-
F5是非常强大的商业负载均衡器。除了处理性能强劲,以及高稳定性之外,F5还可以通过irules编写强大灵活的转发规则,实现web业务的灵活应用。irules是基于TCL语法的,每个iRules必须包含...
- 映射域名到NAS
-
前面介绍已经将域名映射到家庭路由器上,现在只需要在路由器上设置一下端口转发即可。假设NAS在内网的IP是192.168.1.100,NAS管理端口2000.你的域名是www.xxx.com,配置外部端...
- 转发(Forward)和重定向(Redirect)的区别
-
转发是服务器行为,重定向是客户端行为。转发(Forward)通过RequestDispatcher对象的forward(HttpServletRequestrequest,HttpServletRe...
- SpringBoot应用中使用拦截器实现路由转发
-
1、背景项目中有一个SpringBoot开发的微服务,经过业务多年的演进,代码已经累积到令人恐怖的规模,亟需重构,将之拆解成多个微服务。该微服务的接口庞大,调用关系非常复杂,且实施重构的人员大部分不是...
- 公司想搭建个网站,网站如何进行域名解析?
-
域名解析是将域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转...
- 域名和IP地址什么关系?如何通过域名解析IP?
-
一般情况下,访客通过域名和IP地址都能访问到网站,那么两者之间有什么关系吗?本文中科三方针对域名和IP地址的关系和区别,以及如何实现域名与IP的绑定做下介绍。域名与IP地址之间的关系IP地址是计算机的...
- 分享网站域名301重定向的知识
-
网站域名做301重定向操作时,一般需要由专业的技术来协助完成,如果用户自己在维护,可以按照相应的说明进行操作。好了,下面说说重点,域名301重定向的操作步骤。首先,根据HTTP协议,在客户端向服务器发...
- NAS外网到底安全吗?一文看懂HTTP/HTTPS和SSL证书
-
本内容来源于@什么值得买APP,观点仅代表作者本人|作者:可爱的小cherry搭好了NAS,但是不懂做好网络加密,那么隐私泄露也会随时发生!大家好,这里是Cherry,喜爱折腾、玩数码,热衷于分享数...
- ForwardEmail免费、开源、加密的邮件转发服务
-
ForwardEmail是一款免费、加密和开源的邮件转发服务,设置简单只需4步即可正常使用,通过测试来看也要比ImprovMX好得多,转发近乎秒到且未进入垃圾箱(仅以Mailbox.org发送、Out...
- 使用CloudFlare进行域名重定向
-
当网站变更域名的时候,经常会使用域名重定向的方式,将老域名指向到新域名,这通常叫做:URL转发(URLFORWARDING),善于使用URL转发,对SEO来说非常有用,因为用这种方式能明确告知搜索引...
- 要将端口5002和5003通过Nginx代理到一个域名上的操作笔记
-
要将端口5002和5003通过Nginx代理到域名www.4rvi.cn的不同路径下,请按照以下步骤配置Nginx:步骤说明创建或编辑Nginx配置文件通常配置文件位于/etc/nginx/sites...
- SEO浅谈:网站域名重定向的三种方式
-
在大多数情况下,我们输入网站访问网站的时候,很难发现www.***.com和***.com的区别,因为一般的网站主,都会把这两个域名指向到同一网站。但是对于网站运营和优化来说,www.***.com和...
- 花生壳出现诊断域名与转发服务器ip不一致的解决办法
-
出现诊断域名与转发服务器ip不一致您可以:1、更改客户端所处主机的drs为223.5.5.5备用dns为119.29.29.29;2、在windows上进入命令提示符输入ipconfig/flush...
- 涨知识了!带你认识什么是域名
-
1、什么是域名从技术角度来看,域名是在Internet上解决IP地址对应的一种方法。一个完整的域名由两个或两个以上部分组成,各部分之间用英文的句号“.”来分隔。如“abc.com”。其中“com”称...
- 域名被跳转到其他网站是怎么回事
-
当你输入域名时被跳转到另一个网站,这可能是由几种原因造成的:一、域名可能配置了域名转发服务。无论何时有人访问域名,比如.com、.top等,都会自动重定向到另一个指定的URL,这通常是在域名注册商设...
你 发表评论:
欢迎- 一周热门
-
-
爱折腾的特斯拉车主必看!手把手教你TESLAMATE的备份和恢复
-
如何在安装前及安装后修改黑群晖的Mac地址和Sn系列号
-
[常用工具] OpenCV_contrib库在windows下编译使用指南
-
WindowsServer2022|配置NTP服务器的命令
-
Ubuntu系统Daphne + Nginx + supervisor部署Django项目
-
WIN11 安装配置 linux 子系统 Ubuntu 图形界面 桌面系统
-
解决Linux终端中“-bash: nano: command not found”问题
-
NBA 2K25虚拟内存不足/爆内存/内存占用100% 一文速解
-
Linux 中的文件描述符是什么?(linux 打开文件表 文件描述符)
-
K3s禁用Service Load Balancer,解决获取浏览器IP不正确问题
-
- 最近发表
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)