共计 1960 个字符,预计需要花费 5 分钟才能阅读完成。
自动写代码机器人,免费开通
这篇文章主要为大家展示了“Linux 中 traceroute 怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让丸趣 TV 小编带领大家一起研究并学习一下“Linux 中 traceroute 怎么用”这篇文章吧。
通过 traceroute 我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上 来说大部分时候所走的路由是相同的。
Linux 系统中个,我们称之为 tracertoute,在 MS Windows 中为 tracert。
traceroute 通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备 traceroute 要测 3 次。输出结果中包括每次测试的时间(ms)和设备的名称及其 IP 地址。
在大多数情况下,我们会在 Linux 主机系统下,直接执行命令行。
traceroute hostname
而在 Windows 系统下是执行 tracert 的命令:
tracert hostname
1. 命令格式:
traceroute [参数] [主机]
2. 命令功能:
traceroute 指令让你追踪网络数据包的路由途径,预设数据包大小是 40 Bytes, 用户可另行设置。
具体参数格式:traceroute [-dFlnrvx] [-f 存活数值] [-g 网关][-i 网络界面][-m 存活数值][-p 通信端口][-s 来源地址][-t 服务类型][-w 超时秒数][主机名称或 IP 地址][数据包大小]
3. 命令参数
-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 开启或关闭数据包的正确性检验
4. 返回结果解释:
默认情况下,TTL 的最大值为 30,可根据实际情况改变设置,并且发送 3 个探测(各自有不同的 TTL 的值)到每一跳
返回结果解释:
* 探测报文没有获得响应,出现这种情况,可能是防火墙封掉了 ICMP 的返回信息,所以我们得不到什么相关的数据包返回数据。
!接收到报文中的 TTL 值为 1
!H 目标主机不可达
!N 目标网络不可达
!P 目标协议不可达
!S 源路由选项错误,表示某一路由器有程序错误或硬件故障
!F 探测报文需要分段,表示某一路由器有程序错误或硬件故障
!X 由于通信被管理性禁止,该路径被阻塞或关闭
有时我们在某一网关处延时比较长,有可能是某台网关比较阻塞,也可能是物理设备本身的原因,当然如果某台 DNS 出现问题时,不能解析主机名、域名时,也会有延时长的现象;您可以加 -n 参数来避免 DNS 解析,以 IP 格式 输出数据。
5。traceroute 命令选项的应用
当目标主机所处的网络与本机所处的网络间路由数较多(多于 30)时,修改 TTL 的值
#traceroute -m 35 128.197.2.200
默认情况下,基于 UDP 协议发送探测报文,但网络中有的路由器不支持,- I 参数表示使用 ICMP 协议代替
#traceroute -m 35 -I 128.197.2.200
默认情况下,UDP 协议的 33434 端口进行跟踪,-p 指定端口号
#traceroute -m 35 -p 65000 128.197.2.200
-v 用来为每一跳显示响应报文的大小和响应报文的目标
-n 用来显示地址而不是使用符合化的名字显示,减轻网络服务的负荷(加快速度)
6.TTL
虽然 TTL 从字面上翻译,是可以存活的时间,但实际上 TTL 是 IP 数据包在计算机网络中可以转发的最大跳数。TTL 字段由 IP 数据包的发送者设置,在 IP 数据包从源到目的的整个转发路径上,每经过一个路由器,路由器都会修改这个 TTL 字段值,具体的做法是把该 TTL 的值减 1,然后再将 IP 包转发出去。如果在 IP 包到达目的 IP 之前,TTL 减少为 0,路由器将会丢弃收到的 TTL= 0 的 IP 包并向 IP 包的发送者发送 ICMP time exceeded 消息。
以上是“Linux 中 traceroute 怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!
向 AI 问一下细节
丸趣 TV 网 – 提供最优质的资源集合!