Traceoute
来源:互联网 发布:pdf.js 缓存问题 编辑:程序博客网 时间:2024/05/17 23:10
通过Traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的
Traceroute程序的设计是利用ICMP及IP header的TTL.
达到目的主机之前
(1)traceroute送出一个TTL是1的IP数据包(其实,每次送出的为3个40字节的包,包括源地址,目的地址和包发出的时间标签)到目的地,当路径上的第一个路由器(router)收到这个数据包时,它将TTL减1。此时,TTL变为0了,所以该路由器会将此数据包丢掉,并送回一个超时ICMP报文消息(包括发IP包的源地址,IP包的所有内容及路由器的IP地址),traceroute 收到这个消息后,便知道这个路由器存在于这个路径上,
(2)接着traceroute 再送出另一个TTL是2 的数据包,发现第2 个路由器,继续返回超时ICMP报文...... traceroute 每次将送出的数据包的TTL 加1来发现另一个路由器,这个重复的动作一直持续到抵达目的地址之前
到达目的主机
因为traceroute发送的是端口号>30000(真变态)的UDP报,所以到达目的主机的时候,目的主机只能发送一个端口不可达的ICMP数据报返还给源主机。主机接到这个报告以后就知道,主机到了。
Traceroute提取发 ICMP TTL到期消息设备的IP地址并作域名解析。每次 ,Traceroute都打印出一系列数据,包括所经过的路由设备的域名及 IP地址,三个包每次来回所花时间
Traceroute 有一个固定的时间等待响应(ICMP TTL到期消息)。如果这个时间过了,它将打印出一系列的*号表明:在这个路径上,这个设备不能在给定的时间内发出ICMP TTL到期消息的响应。然后,Traceroute给TTL记数器加1,继续进行。
- Traceoute
- python字符串模板(Template)例子
- 线刷和卡刷的区别以及步骤
- ICANN所做的工作就是要保证网络域名的稳定
- ios facebook 开源动画 pop 常用动画
- LinuxWindowSDK开发日记
- Traceoute
- 互联网的规模和发展速度远远超出网络设计先驱者的预想
- Leetcode: Bulls and Cows
- HttpURLConnection用法
- 用BCP命令将TSV,CSV等包含日期数据的字段导入SqlServer数据库
- Java基础--集合框架Conllection(LinkedList、ArrayList)
- Itext+POI将Excel转换为PDF
- cf #310 E. Case of Chocolate (upper_bound())
- MAC MacVim及Vundle安装