tranceroute
- 原理
traceroute (Windows 系统下是tracert) 命令利用ICMP 协议定位本地计算机和目标计算机之间的所有路由器。TTL 值可以反映数据包经过的路由器或网关的数量,通过操纵独立ICMP 呼叫报文的TTL 值和观察该报文被抛弃的返回信息,traceroute命令能够遍历到数据包传输路径上的所有路由器。程序利用增加存活时间(TTL)值来实现其功能。每当数据包经过一个路由器,其存活时间就会减1。当其存活时间是0时,主机便取消数据包,并传送一个ICMP TTL数据包给原数据包的发出者。
程序发出的首3个数据包TTL值是1,之后3个是2,如此类推,它便得到一连串数据包路径。注意IP不保证每个数据包走的路径都一样。
使用目的:追踪网络数据包的路由途径
2.安装 traceroute
yum -y install traceroute
3. 使用实例
traceroute www.baidu.com

说明:
记录按序列号从1开始,每个纪录就是一跳 ,每跳表示一个网关,我们看到每行有三个时间,单位是 ms,其实就是-q的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果用 traceroute -q 4 www.58.com ,表示向每个网关发送4个数据包。
有时我们traceroute 一台主机时,会看到有一些行是以星号表示的。出现这样的情况,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。
有时我们在某一网关处延时比较长,有可能是某台网关比较阻塞,也可能是物理设备本身的原因。当然如果某台DNS出现问题时,不能解析主机名、域名时,也会 有延时长的现象;可以加-n 参数来避免DNS解析,以IP格式输出数据。
如果在局域网中的不同网段之间,我们可以通过traceroute 来排查问题所在,是主机的问题还是网关的问题。
traceroute -n -m 5 -q 4 -w 3 www.baidu.com

说明: -n 显示IP地址,不查主机名,
-m 设置跳数
-q 4 每个网关发送4个数据包
-w 把对外发探测包的等待响应时间设置为3秒
- 探测包使用的基本UDP端口设置6888
traceroute -p 6888 www.baidu.com

- 绕过正常的路由表,直接发送到网络相连的主机
traceroute -r www.baidu.com
提示错误:网络不可达

posted on 2025-01-19 10:04 Mr.Ray.zhang 阅读(22) 评论(0) 收藏 举报
浙公网安备 33010602011771号