2020-10-26 1,382
BestTrace 是 ipip.net 开发的使用很广泛的路由追踪工具,可以用于查看线路走向,方便判断 VPS 路线情况,以图形化的形式在地图上显示经过的路径。

在本地追踪路径的缺点就是只能看到去程走向,然而去程走向其实参考价值是比较低的,虽然软件对于有的线路也会显示预测的回程线路,但准确性也不高。所以实际就需要从 VPS 那边的服务器端来发起路径追踪,才能准确的了解服务器的真实线路情况。
对于服务器端来说,网络的利用和用户端是相反的。像家用宽带,都是下载带宽越高越好,上网访问各种网站,等同于从各个网站的服务器下载数据。而服务器端就相反了,用户来访问时,是需要发送给用户数据,实际使用的是服务器的上传,也就是从服务器回来的线路,即回程。
本文就是来说明一下 Linux 服务器端使用此工具追踪回程路径的方法。
Linux 版的 BestTrace 程序因为是使用 GO 语言写的,所以使用起来是十分的简单,SSH 登陆 VPS,直接下载并解压即可:
wget https://cdn.ipip.net/17mon/besttrace4linux.zip
unzip besttrace4linux.zip
然后给予程序执行权限,程序默认 64 位系统:
chmod +x besttrace
如果是 32 位系统,则为
chmod +x besttrace32
然后要运行线路测试的话,在 VPS 上按以下规则运行命令即可:
./besttrace -q 1 目标 IP
32 位系统就把程序名换成 besttrace32。
例如在一台美国洛杉矶的机子追踪江苏移动的 IP,效果如下图:

可以看到是从 QN 机房,经过 zayo 和 equinix 线路到上海,然后到达南京移动。
再一个例子,从腾讯云香港机子发起追踪,到江苏电信:

线路从香港电信到上海电信,然后经过到江苏电信,从 IP 开头的 59.43 也可以看出来这个回程走了电信的 CN2 线路。
程序全部命令可以使用./besttrace -help
命令查看:
-6, - ipv6
使用 ipv6。
-J, - json
使用 JSON 格式打印 traceroute 结果。
-g, - lang string
语言现在仅支持 cn 和 en。
-m, - maxhop int
指定 traceroute 将探测的最大跳数(最大生存时间值)默认值为 30
。-a, - noas
显示时,请勿尝试将 IP 地址映射到 AS。
-n, - nodomain
显示时,请勿尝试将 IP 地址映射到主机名。
-l, - location
显示时,请勿尝试将 IP 地址映射到位置。
-q, - query int
设置每跳的探测包数。默认值为 3。
-z, - sendtime int
探针之间的最小时间间隔(默认为 0)。
当某些路由器对 ICMP 消息使用速率限制时很有用。
-f, - stopop int
指定要启动的 TTL。默认为 1.(默认值为 1)
- 同步
通过同步发送 icmp 包。
-T, - tcp
使用 TCP SYN 进行探测。
-V, - 版本
打印版本并退出。
-w, - waittime int
设置等待探测响应的时间(以秒为单位)。(默认 3)
Linux 版本 BestTrace 虽然没有 Windows 下的图形界面,但对于查看回程路线也是足够了,IP 库也基本挺新,除了部分内网 IP 基本都能正确识别。
最后要说的是软件仅仅只是一个辅助,如何判断线路好不好大多还是只能靠经验积累,玩的 VPS 多了很多问题才能知道,影响线路质量的因素非常多,具体情况需要具体分析。
- 瀚存 见方 L 8 盘位 NAS 机箱开箱 - 2024 年 10 月 24 日
- 你这学习机正经么,开箱个联想天骄 16 AIO 一体机 - 2024 年 10 月 1 日
- 【捡垃圾】技嘉 G+ Pixer 墨水屏相框体验 - 2024 年 9 月 22 日