路由追踪工具 traceroute 使用技巧

这篇具有很好参考价值的文章主要介绍了路由追踪工具 traceroute 使用技巧。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我想知道一个数据包从出发地到目的地所遵循的路由,即所有转发实体(中间的路由器)的 IP 地址。虽然不能保证所有数据包都走相同的路线,但通常都是一样的。路由信息非常有助于调试网络相关的问题。

此时使用 traceroute 工具能够输出数据包到特定目的地的完整路径。

路由追踪工作原理

traceroute 工具使用 IP 包头中的 TTL 字段来实现。而 TTL 字段表示数据包在网络中经过多少跳(中转)到达目的地。所以这就有效地描述了数据包在网络上的生命周期。这个字段通常设置为32或64。数据包每经过一个中间路由器,TTL 会减1。当某个路由器在接收到数据包后发现 TTL 值为1,这个数据包不会被转发而是被丢弃。

在丢包后,路由器丢包的同时也会对数据包来源发送一个 ICMP TTL Exceeded 的信息。这个被发回的 ICMP 包携带了此路由器的 IP 地址。

所以通过每次发送 TTL 值从1开始递增的数据包来实现路由追踪。每当一个路由器收到了数据包,例行检查 TTL 字段,如果 TTL 值为1就丢包并向源 IP 地址发送 ICMP 错误信息。traceroute 就这样逐步获取到起始地和目的地之间所有路由器的 IP。

路由追踪实例

1. 如何运行 traceroute

traceroute [-dFlnrvx][-f<存活数值>][-g<网关>...][-i<网络界面>][-m<存活数值>][-p<通信端口>][-s<来源地址>][-t<服务类型>][-w<超时秒数>][主机名称或IP地址][数据包大小]

参数说明:

-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 开启或关闭数据包的正确性检验。

server-name 是目标名称或者 IP 地址。举个例子,使用 traceroute 来找出我的机器到 blog.crazytaxii.com 的网络路径:

$ traceroute SZH-C-005ME
traceroute to SZH-C-005ME (10.161.229.120), 30 hops max, 60 byte packets
 1  _gateway (10.0.2.2)  0.307 ms  0.304 ms  0.432 ms
 2  _gateway (10.0.2.2)  3.579 ms  3.402 ms  3.256 ms

每行提供了与中间路由器交互的详细信息,不仅有路由器的 IP 地址,还有此路由器的三个往返时间,因为 traceroute 命令每次发了三包数据。

有时候输出 *,表示无法获取所需的字段。可能是从反向 DNS 查询失败、没有命中目标路由器甚至在回程中丢包。虽然可能有多种失败原因,但是 traceroute 统统输出 *。

2. 禁用 IP 地址和主机名映射

traceroute 提供选项 -n 来禁用 IP 地址与主机名映射。

$ traceroute -n SZH-C-005ME
traceroute to SZH-C-005ME (10.161.229.120), 30 hops max, 60 byte packets
 1  10.0.2.2  0.427 ms  1.134 ms  0.849 ms
 2  10.0.2.2  3.505 ms  3.358 ms  3.214 ms

然后我们在输出中就看不到主机名了。

3. 配置回复等待时间

还可以配置 traceroute 工具在发包后的等待时间,-w 选项带上值。下面例子中,等待时间设置为1秒。

$ traceroute -w 1 SZH-C-005ME
traceroute to SZH-C-005ME (10.161.229.120), 30 hops max, 60 byte packets
 1  _gateway (10.0.2.2)  0.374 ms  0.175 ms  0.312 ms
 2  _gateway (10.0.2.2)  3.355 ms  3.203 ms  3.050 ms

4. 配置每一跳的查询次数

traceroute 工具默认每跳发送3包数据来得到3次来回时间。选项 -q 需要带上整数。

$ traceroute -q 5 SZH-C-005ME
traceroute to SZH-C-005ME (10.161.229.120), 30 hops max, 60 byte packets
 1  _gateway (10.0.2.2)  0.421 ms  0.290 ms  0.299 ms  0.293 ms  0.287 ms
 2  _gateway (10.0.2.2)  3.432 ms  3.279 ms  3.130 ms  2.880 ms  2.731 ms

5. 配置 TTL 值

traceroute 可以根据用户的需求灵活改变初始 TTL 值。默认为1意味着从第一个路由器就开始,使用 -f 选项来设置一个自定义的值。

$ traceroute -f 2 szh-c-005me
traceroute to szh-c-005me (10.161.229.120), 30 hops max, 60 byte packets
 2  _gateway (10.0.2.2)  3.404 ms  3.108 ms  2.956 ms

看到相比于之前的输出少了第一跳 10.0.2.2,也就是从第二跳开始抓取。文章来源地址https://www.toymoban.com/news/detail-460336.html

到了这里,关于路由追踪工具 traceroute 使用技巧的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PostMan工具常见使用技巧

    Postman 快速修改参数调试 前后端联调出现问题,后端自测,常用postman进行调试,快速复制参数 1、复制接口 F12: 找到要复制的接口 == 右键 Copy == Copy as cURL(bash) 2、PostMan 中导入 import == Raw text ==粘贴到里面 注意事项:如果需要修改参数值,在这里可以修改参数,比如ip、添加参数

    2024年02月07日
    浏览(71)
  • EmEditor文本工具使用技巧

    EmEditor是一款功能强大又轻便的文字编辑器,支持各种主流文本格式的直接编辑,如:txt、bat、js、html,你也可以用它来编辑各种程序的文件格式,如c++、vbs、python,其特点是支持无限制的撤销与恢复操作,自定义的文本高亮显示以及插件。 本文将介绍txt文本的快速编辑技巧

    2024年02月16日
    浏览(43)
  • 飞鱼星路由器的使用方法与技巧简介

      一、Reset键 1、就像电脑系统的一键还原一样,路由器上的Reset键也能帮助我们解决很多问题当路由器的基本设置出现混乱,甚至进入配置界面的IP地址都找不到时,这时我们可以用Reset持续按住该按钮几秒钟,就能将该设备的所有参数恢复到出厂配置,以便我们重新配置。

    2024年02月05日
    浏览(74)
  • Cisco使用技巧 路由器RIP协议用动态路由配网实例 计网知识_cisco rip配置

    Trunk 模式: Trunk 模式用于连接两个交换机或交换机与路由器之间的端口。Trunk 允许通过同一物理链路传输来自不同 VLAN 的数据帧。 Trunk 端口上的数据帧通常包含 VLAN 标签,以便在传输过程中区分不同 VLAN 的流量。 Trunk 允许更大的灵活性,因为它允许在同一链路上传输多个

    2024年04月13日
    浏览(51)
  • Python 开发工具 Pycharm —— 使用技巧Lv.1

    Basic code completion Ctrl+空格 is available in the search field when you search for text in the current file Ctrl+F, so there is no need to type the entire string 基本代码完成Ctrl +空格可在搜索领域当你搜索文本在当前文件Ctrl + F,所以没有必要整个字符串类型 To make your printouts (File | Print) nice and informative, use

    2024年02月14日
    浏览(43)
  • Python 开发工具 Pycharm —— 使用技巧Lv.3

    1: 鼠标左键单击红点是断点行 2:甲虫样式是进行调试方式运行,鼠标左键单击点击 3: 单步运行图标,点击让程序运行一行 4: 步入步出,可以进入当前代码行函数内 5:重新运行,修改之后或者运行完成后想要再次运行 点此再次运行

    2024年02月13日
    浏览(39)
  • Python 开发工具 Pycharm —— 使用技巧Lv.2

    pydoc 是python自带的一个文档生成工具,使用pydoc可以很方便的查看类和方法结构 本文主要介绍:1.查看文档的方法、2.html文档说明、3.注释方法、 **方法1:**启动本地服务,在web上查看文档 命令【python3 -m pydoc -p 1234】 通过http://localhost:1234来访问查看文档 说明: 1、-p指定启动

    2024年02月14日
    浏览(48)
  • DEDE仿站过程中CSS图片抓取工具的使用技巧

    在我们进行仿站的时候,使用好的工具,能够提高我们仿照的效率还能够让仿站变得非常轻松。 这个工具是在DEDE仿站的过程中起着非常重要的作用,如果你对DEDE仿站有兴趣,推荐你先看一下 dede(织梦)网站前端仿站步骤教程 这篇内容。 在输入网页地址栏中,大家输入需要

    2024年02月01日
    浏览(36)
  • Python开发工具PyCharm使用技巧——键盘快捷键指南

    JetBrains PyCharm是一种Python IDE,其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具。此外,该IDE提供了一些高级功能,以用于Django框架下的专业Web开发。 PyCharm有大多数与编辑、导航、重构、调试和其他任务相关命令的键盘快捷键,记住这些快捷键可以帮助

    2024年04月09日
    浏览(81)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包