traceroute
来源:互联网 发布:linux搜索历史命令 编辑:程序博客网 时间:2024/04/29 04:38
traceroute解决了ping记录路由的缺点
traceroute使用icmp报文和ip首部中的TTL字段。每个处理数据报的路由都把TTL的值减1,由于大多数的路由转发数据的延时都小于1秒。因此TTL变成跳转计数器。
举例,发送一个TTL为1的ip数据报,经第一个路由减1,丢弃数据报,发送一个超时icmp报文。TTL为2就得到第二个路由的地址。
到什么时候终止呢?traceroute发送一份udp数据报给目的主机,但选择一个不可能的udp端口值,使目的主机产生一份 端口不可达报文,以判断结束。
icmp报文在TTL值等于0产生的,code字段为0
主机组装分片时发生超时将发送一份“组装超时”icmp报文,code字段为1
注意事项:
1,并不能保证现在的路由就是将来要使用的路由,甚至两份连续的ip报文都可能采用不同的路由。
2,不能保证udp数据报采用同一路由。路由不对称性。
3,返回的icmp报文的信源得知是udp数据包的路由接口的ip地址。
ip源站选路选项(即指定数据报传输的路径)
1.严格的源路由选择。源路由指定的下一站路由不在直接连接的网络上,就返回一个“源站路由失败”的icmp报文。code字段0x89
2.宽松的源路由选择。发送端指明了ip地址清单。中间可以插入其他路由。code字段0x85
- traceroute
- traceroute
- Traceroute
- traceroute
- traceroute
- traceroute
- traceroute
- traceroute
- Traceroute
- Traceroute
- traceroute小结
- Traceroute程序
- traceroute学习
- traceroute命令
- [Hacking]Traceroute
- traceroute原理
- TraceRoute实现
- traceroute原理
- VMware虚拟机拷贝mac冲突解决方法(及软件安装)
- C++沉思录上提到的一道练习题及其源码实现
- C语言程序100例之C#版-019
- 使用選擇器在頁面中插入內容
- 魅族M9如何设置铃声
- traceroute
- XCode4.3.3/4.2/4.3 + iOS5.1 无证书开发 、真机调试、生成IPA
- C语言程序100例之C#版-020
- C语言入门教程 (十) 函数的定义和调用
- (CUDA 编程5).CUDA编程接口(一)------一十八般武器
- Notification使用详解之三:通过服务更新进度通知&在Activity中监听服务进度
- java 实现批量文件重命名
- javascript原型和原型链
- C语言入门教程 (十一) 函数参数的传递和值返回