网络协议 -- ICMP协议(3)Tracert程序

24 篇文章 235 订阅 ¥19.90 ¥99.00
Tracert和traceroute是用于追踪IP数据报路由的工具,利用IP首部的TTL字段和ICMP超时报文。当TTL为0或1时,路由器会丢弃数据报并发送ICMP差错报文。Tracert在Windows上通过ping包判断到达目标,而traceroute使用UDP包。ICMP差错报文type为11, code为0表示超时。示例代码可在webrtc项目的tracert工程中找到。" 51731962,2983823,Ubuntu上搭建Redmine企业项目管理平台,"['项目管理', 'redmine', 'ubuntu', 'mysql', 'ruby']
摘要由CSDN通过智能技术生成

Tracert是windows系统提供的一个工具,使用该程序可以让我们看到IP数据报从一台主机到另一台主机所经过的路由器。Linux系统也提供了类似的工具,叫traceroute,功能和Tracert一样。

一、 Tracert原理

在介绍Tracert的原理之前,需要先弄清楚IP首部TTL字段的含义,IP报文每经过一个路由器,路由器都会将该IP报文首部的TTL字段减1,
当路由器收到一份IP数据报的TTL是0或1时,路由器此时不会转发该数据报,而会丢弃该数据报,并且给IP数据报首部中的源地址发送一份ICMP超时报文。

IP首部的定义见:http://blog.csdn.net/china_jeffery/article/details/78984477

Tracert就是利用了路由器会丢弃TTL为1或0的数据报且返回ICMP超时报文的特性,来实现侦测路由的功能。Tracert程序先发送TTL值为1的IP数据报,处理这份数据报的第一个路由器将TTL减1,丢弃该数据报并返回ICMP超时报文,这样程序就得到了第一个路由器的地址,以此方式,递增IP数据报TTL的值,直到数据报最终到达目标主机。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

china_jeffery

你的鼓励是我前进的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值