路由追踪原理
Traceroute是Linux和Mac OS等系统使用的路由追踪程序,Tracert是Windows系统使用的路由追踪程序。二者利用增加存活时间(TTL)值来实现其功能的。通过向目的地址发送一系列TTL初始值分别为1,2,3…的探测包,每当数据包经过一个路由器,其存活时间就会减1。当其存活时间是0时,主机便丢弃数据包,并发送一个超时通知(ICMP Time Exceeded Message)给原数据包的发出者,这样就得到得到源地址与目的地址之间的每一跳路由信息。在Linux中,默认情况下,命令发送到目标主机的是UDP数据包并且到达目标主机会返回不可达通知(ICMP Port Unreachable);而在Windows的情况下,它发送ICMP回显请求并返回ICMP回显应答。
与PING的区别
Ping最主要的就是检测目标主机是不是可连通。Ping程序实际就是发送一个ICMP回显请求报文给目的主机,并等待回显的ICMP应答,主要是用来查看与目标地址的延迟和丢包情况,Ping不通一个地址并不一定表示这个IP不存在或者没有连接在网络上,因为对方主机可能做了限制,比如安装了防火墙,因此Ping不通并不表示不能使用FTP或者TELNET连接。
tracert追踪路由也是依赖ICMP回显请求和ICMP回显应答数据包,因此可以看作ping的一个扩展,它用来查看网络所经过的每一跳路由并显示路由的延迟与ip地址,可以用来发现出故障的网络路径,相对于ping更能反映源地址与目的地址之间的网络连通情况。
在线测试工具
- 站长工具—路由追踪(地址:http://tool.chinaz.com/Tracert/)
- 由站长之家提供的检测工具,使用简单方便,可以选择国内外的地点进行测试,只需输入域名/IP地址即可追踪。
- traceroute(地址:http://www.ipip.net/traceroute.php)
- 由ipip.net提供的路由测试工具,可以选择国内外多个地区作为测试点,结果还可以用地图显示网络路径。
- Visual Trace Route Tool(地址:http://www.monitis.com/traceroute/, 英文)
- 免费提供跟踪您的网站并解决网络问题,只需输入网址或IP地址,即可同时从美国,欧洲和亚洲进行跟踪到您的网站。确定并隔离网络连接问题!
本地测试
1.Windows
打开命令提示符,输入命令tracert 域名/ip
,如tracert www.baidu.com
,即可测试从本地网络到目标地址中间路由的连通情况,单独输入tracert可以看到tracert命令的用法。
2.Linux/ Mac OS——traceroute
使用命令traceroute www.baidu.com
,结果显示与windows类似。
客户端工具
目前国内比较好用的就是Best Trace,有Windows、Linux、Mac、Android、iOS客户端,主流平台都有软件支持。使用时软件从设备上发起 traceroute 请求,附带链路可视化。
下面是windows版的软件截图:
软件下载地址:http://www.ipip.net/download.html#ip_trace