如何追踪ping连接中的所有路由器的数量和IP

如何快速判断ping连接经过的路由器个数和IP?

方法一:

ping命令会返回一个TTL,TTL(Time To Live)存活时间,一般初始值为64,每经过一个路由器就减一,当TTL为0时丢弃网络包,是IP协议一个状态位,用来防止请求在网络中一直流转的方式。

在这里插入图片描述
从图中可以看到,TTL为51,64-51=13,所以请求大概经过了13个路由器。

方法二:

tracert命令会返回经过的每个路由器的IP地址

在Linux系统中是traceroute命令,在Windows系统中是tracert命令

在这里插入图片描述
通过tracert命令,可以看到经过的每个路由器的IP,一共经过了15个路由器,与ping命令的估算接近。

tracert命令返回的其他数据列都是什么意思呢?这就涉及其工作原理了。

tracert模拟请求进行发送,IP头中的TTL参数从1开始依次增加,直到到达目标主机

例如,一个请求的TTL为1,经过一个路由器后TTL减1,为0,网络包被丢弃,最后一个路由器向源主机发送ICMP差错报告,差错类型是时间超时,并在ICMP协议可选部分记录发送时间,源主机接收到请求后得到路由器的IP和发送时间,就可以计算出耗时(ms)。

所以三个时间分别是,连接的时间、返回的时间、多次连接反馈的平均值

随后发送TTL为2的请求,并返回最后一个路由器的IP,…,直到到达目的IP。

还有一个问题,tracert怎么知道现在已经接收完全部ICMP请求,还是由于网络等原因一直没有收到响应?

tracert模拟的请求会设置端口为一个不存在的端口,请求到达目的主机后端口对应不上,就会发送ICMP差错报告,差错类型是端口不可达,我们就知道请求已经到达目的主机了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值