前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >traceroute使用方法及实现原理

traceroute使用方法及实现原理

作者头像
十毛
发布2022-07-28 08:42:00
5630
发布2022-07-28 08:42:00
举报
文章被收录于专栏:用户1337634的专栏

在检查网络连通情况是,使用最多的traceroute命令(windows对应的是tracert命令)

使用方法

  • 使用示例
代码语言:javascript
复制
➜  ~ traceroute -n 114.114.114.114
traceroute to 114.114.114.114 (114.114.114.114), 64 hops max, 52 byte packets
 1  192.168.1.1  4.278 ms  1.725 ms  1.613 ms
 2  192.168.2.1  2.718 ms  2.642 ms  2.501 ms
 3  113.225.128.1  4.248 ms  5.537 ms  4.423 ms
 4  218.25.7.41  4.746 ms
    218.25.8.81  4.604 ms
    218.25.15.54  4.752 ms
 5  113.230.181.213  6.066 ms
    113.230.172.185  4.953 ms
    113.230.167.189  5.631 ms
 6  219.158.102.41  23.336 ms  23.146 ms  23.269 ms
 7  60.217.43.38  26.471 ms  26.548 ms  26.099 ms
 8  * * *
 9  * * *
  • 使用语法
代码语言:javascript
复制
traceroute [-dFlnrvx][-f<存活数值>][-g<网关>...][-i<网络界面>][-m<存活数值>][-p<通信端口>][-s<来源地址>][-t<服务类型>][-w<超时秒数>][主机名称或IP地址][数据包大小]
  • 常用参数
代码语言:javascript
复制
-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 开启或关闭数据包的正确性检验。

实现原理

主机之间通信,网络层IP数据报的首部中,有个TTL字段(Time To Live)。TTL的作用是,设置IP数据报被丢弃前,最多能够经过的节点数。 此外,每经过一个中间节点,再向下一个节点转发数据前,都会将TTL减1。如果TTL不为0,则将数据报转发到下一个节点;否则,丢弃数据报,并返回错误(ICMP time exceeded) 。

假设TTL设置为N,当前转发到第M个节点:

  • 第1个节点:将TTL设置为N-1。如果TTL != 0,则将数据报传递给第2个节点;否则丢弃数据报,并向源主机报错。
  • 第2个节点:将TTL设置为N-2。如果TTL != 0,则将数据报传递给第3个节点;否则丢弃数据报,并向源主机报错。
  • 。。。
  • 第M个节点:将TTL设置为N-M。如果TTL != 0,则将数据报传递给第3个节点;否则丢弃数据报,并向源主机报错。
  • 。。。

参考

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-07-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用方法
  • 实现原理
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档