快速跟踪路由
原作者:古谷誠進 @furuya02 原文
回顾Traceroute
- 每当数据包经过一个路由器,其存活时间(TTL)就会减1
- 当其TTL为0时,主机便丢弃数据包,并发送ICMP超时数据包给请求者
传统Tracert工具
- Windows自带tracert工作时,TTL每次增加1
虽然其过程很有趣,但是等待却很无聊 - 即使有路由不返回ICMP,但是最终目标能返回ICMP也不算太坏
虽然到达目标的时间很短,但是整个traceroute过程却很漫长 - 如果最终目标也不返回ICMP包,那么整个过程慢的要死。。
程序会一直发送数据包,直到达到30跳数为止
快速Tracetoute
程序目的:尽可能快地获取到达跟踪目标的路由信息
- 30个TTL不同的数据包同时
不再受到路由先后顺序的制约 - 来自目标的数据包之后的包全部按超时处理
发往目标的数据包是最远的,所需要的时间也应该是最长的 - 若在设定的时间内未能收到来自目标的数据包,则剩余数据包全按超时处理
经过一段时间等待后,程序本身以超时结束
和系统自带tracert相比,快速traceroute节省不少时间。有意思吧?
Windows GUI
本人在原作者代码的基础上用C#开发了Windows GUI版本,并集成了IP地理位置数据库。
项目地址:Source Code