很多人都知道通过网站(ipip.net)或者软件可以路由追踪来测试 IP的路由情况和质量,但是这只是去程路由,大部分人都把注意力放在了去程路由上面,很少人关注和测试 VPS 链接国内的 回程路由。
不管你的VPS是做Shadowsocks还是建站,你关注的应该是 回程>去程,因为不管是建站还是Shadowsocks,大部分情况下都是VPS把数据传回给你,速度受回程路由质量等影响,除非你经常用Shadowsocks上传文件或者向网站里上传文件,否则你应该更关注回程而不是去程。
浏览器访问 谷歌网站
Shadowsocks客户端 通知 Shadowsocks服务端
Shadowsocks服务端 获取 谷歌网站数据
Shadowsocks服务端(VPS)通过上行把 谷歌网站数据 传回给 Shadowsocks客户端
浏览器显示 收到的 谷歌网站数据
# 除非你是上传文件,否则大部分情况下,都是VPS把文件传回给你,经过的是回程路由。
就算你的去程CN2多么多么叼,回车绕道丢包都GG,当然不代表去程无所谓,而是关注点应该放在回程上。
当然如果你是Shadowsocks玩游戏,那么去程回程都要考虑。
测试VPS的去程可以使用在线网页或者本地软件:在线网页(ipip.net)、推荐一个可以在地图上显示TraceRoute(路由追踪)路径信息的软件
前提条件:
首先你要测试VPS链接你本地的回程路由的话,你需要有外网IP,不过现在大部分运营商都是内网NAT转的伪外网IP,无法Ping和路由追踪。
当然不是外网IP也不要急,你可以去这里,选择一个和你接近的地区,然后路由追踪任意一个IP,比如 8.8.8.8
,然后你就会在 第一个或第二个IP 中看到这个 路由追踪节点的服务器IP了,你试一下能不能Ping通,如果可以那就可以拿来测试回程路由。
TraceRoute
Linux有一个基础的路由追踪软件:traceroute,下面的另外两个软件依赖这个软件。
点击展开 查看更多
可以通过包管理器安装:
# CentOS系统:
yum update && yum install traceroute -y
# Debian/Ubuntu系统:
apt-get update && apt-get install traceroute -y
然后就可以通过 traceroute x.x.x.x
来路由追踪了。
默认是测试3次的,所以有时候会显示很乱,你可以加上 -q 1
,比如 traceroute -q 1 x.x.x.x
。
这个参数指的是只测试一次,当然之所以测试3次就为因为可能会丢包等情况,三次可以比较准确。
使用效果:
[email protected]:~/# traceroute -q 1 14.215.116.1
traceroute to 14.215.116.1 (14.215.116.1), 30 hops max, 60 byte packets
1 *
2 192.254.84.149 (192.254.84.149) 1.830 ms
3 te-0-1-0-2.cr1.lax2.us.zenlayer.net (192.254.81.141) 3.740 ms
4 218.30.48.173 (218.30.48.173) 1.374 ms
5 59.43.182.102 (59.43.182.102) 160.245 ms
6 59.43.182.102 (59.43.182.102) 158.658 ms
7 202.97.91.217 (202.97.91.217) 158.070 ms
8 202.97.91.217 (202.97.91.217) 157.866 ms
9 183.61.221.61 (183.61.221.61) 157.841 ms
10 183.56.128.14 (183.56.128.14) 158.043 ms
11 183.56.128.14 (183.56.128.14) 158.236 ms
12 14.215.116.1 (14.215.116.1) 155.918 ms
当然,这个只会显示简单的路由追踪信息。
如果你想要在每个路由信息后面加上对应的地址信息,那么你就需要使用其他的路由追踪软件:
nali-ipip、BestTrace(ipip.net开发),这两个使用的都是 ipip.net 的IP地址库。
Nali-ipip
这个是基于 nali 原版项目上改进的,把纯真IP库改为了IPIP的IP库,目前国内最准的民用IP库可能就是ipip.net了。
点击展开 查看更多
这个软件需要调用上面说的基础路由追踪软件:traceroute,所以你需要安装这个。Github项目地址
# CentOS系统:
yum update && yum install -y traceroute git gcc make
# Debian/Ubuntu系统:
apt-get update && apt-get install -y traceroute git gcc build-essential make
下载文件并编译安装:
git clone https://github.com/dzxx36gyy/nali-ipip.git
cd nali-ipip
# 进入目录并 执行编译程序,放心很快 几秒就好了。
./configure && make && make install
然后就可以通过 nali-traceroute x.x.x.x
来路由追踪了。
默认是测试3次的,所以有时候会显示很乱,你可以加上 -q 1
,比如 nali-traceroute -q 1 x.x.x.x
。
这个参数指的是只测试一次,当然之所以测试3次就为因为可能会丢包等情况,三次可以比较准确。
使用示例:
[email protected]:~/# nali-traceroute -q 1 14.215.116.1
traceroute to 14.215.116.1 [中国 广东 广州] (14.215.116.1 [中国 广东 广州]), 30 hops max, 60 byte packets
1 *
2 te-2-0-4.cr2.lax2.us.zenlayer.net (192.254.84.141 [美国 美国]) 1.370 ms
3 te-0-1-0-0.cr1.lax2.us.zenlayer.net (192.254.81.137 [美国 美国]) 1.365 ms
4 te-0-3-0-0.cr1.lax2.us.zenlayer.net (192.254.81.5 [美国 美国]) 2.790 ms
5 59.43.182.102 [中国 广东 广州] (59.43.182.102 [中国 广东 广州]) 152.550 ms
6 *
7 202.97.34.93 [中国 广东 广州] (202.97.34.93 [中国 广东 广州]) 152.785 ms
8 202.97.33.201 [中国 广东 广州] (202.97.33.201 [中国 广东 广州]) 151.772 ms
9 183.59.12.197 [中国 广东 广州] (183.59.12.197 [中国 广东 广州]) 162.344 ms
10 183.59.12.197 [中国 广东 广州] (183.59.12.197 [中国 广东 广州]) 153.908 ms
11 183.56.128.14 [中国 广东 广州] (183.56.128.14 [中国 广东 广州]) 157.017 ms
12 14.215.116.1 [中国 广东 广州] (14.215.116.1 [中国 广东 广州]) 158.869 ms
BestTrace
BestTrace是由 ipip.net 官方(不确定)开发的,同样也需要安装基础路由追踪软件:traceroute,这个软件不需要编译安装,是用Go语言编译好的程序。软件官网
点击展开 查看更多
# CentOS系统:
yum update && yum install traceroute -y
# Debian/Ubuntu系统:
apt-get update && apt-get install traceroute -y
mkdir besttrace && cd besttrace
wget -N --no-check-certificate ./softs.wtf/Software/BestTrace/BestTrace-Linux.tar.gz
# 下载文件,解压 并进入目录 赋予执行权限
tar -xzf BestTrace-Linux.tar.gz && chmod +x *
然后就可以通过 ./besttrace x.x.x.x
来路由追踪了。
默认是测试3次的,所以有时候会显示很乱,你可以加上 -q 1
,比如 ./besttrace -q 1 x.x.x.x
。
这个参数指的是只测试一次,当然之所以测试3次就为因为可能会丢包等情况,三次可以比较准确。
使用示例:
[email protected]:~/bash/besttrace# ./besttrace -q 1 14.215.116.1
traceroute to 14.215.116.1 (14.215.116.1), 30 hops max, 60 byte packets
1 *
2 192.254.84.153 0.72 ms AS21859 美国 加利福尼亚州 洛杉矶 zenlayer.com
3 te-0-0-0-2.cr1.lax3.us.zenlayer.net (192.254.81.69) 3.17 ms AS21859 美国 加利福尼亚州 洛杉矶 zenlayer.com
4 te-0-3-0-0.cr1.lax2.us.zenlayer.net (192.254.81.5) 3.25 ms AS21859 美国 加利福尼亚州 洛杉矶 zenlayer.com
5 218.30.48.173 1.29 ms AS4134 美国 加利福尼亚州 洛杉矶 CHINATELECOM
6 59.43.182.102 152.68 ms * 中国 广东 广州 电信
7 59.43.244.138 182.57 ms * 中国 广东 广州 电信
8 202.97.91.209 148.06 ms * 中国 广东 广州 电信
9 202.97.33.229 150.07 ms AS4134 中国 广东 广州 电信
10 183.59.13.161 157.65 ms AS58543 中国 广东 广州 电信
11 183.56.128.10 155.98 ms AS58543 中国 广东 广州 电信
12 14.215.116.1 150.62 ms AS58543 中国 广东 广州 电信
相似的路由追踪软件还很多,我也不一一列举了,各软件都有优缺点,自己看着用。
BestTrace 路由追踪,必须进入文件目录 或 加上文件目录(比如 bash /root/besttrace/besttrace x.x.x.x
)才能使用。
MTR
如果你需要监控VPS回程路由 一段时间的实时情况(比如各节点延迟、丢包),那么你可能需要的是 MTR。
点击展开 查看更多
# CentOS系统:
yum update && yum install mtr -y
# Debian/Ubuntu系统:
apt-get update && apt-get install mtr -y
然后就可以通过 mtr x.x.x.x
来路由追踪了。
不过上面这个命令 是动态显示的,一直持续下去,除非手动终止。
如果你需要只发送 100个数据包(测试100次),那么你可以这样写: mtr -c 100 --report x.x.x.x
这个命令不会动态显示,只会在发送 100个数据包后,直接显示最终结果。
使用示例:
Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
1. ???
2. 192.254.84.153 0.0% 61 1.1 8.8 0.6 164.0 26.1
3. te-0-0-0-2.cr1.lax3.us.zenlayer.net 0.0% 60 4.7 5.9 0.8 97.9 13.4
4. te-0-3-0-0.cr1.lax2.us.zenlayer.net 0.0% 60 1.1 6.4 0.9 125.9 16.4
5. 218.30.48.173 0.0% 60 1.3 4.0 1.0 88.8 12.2
6. 59.43.182.102 0.0% 60 152.7 158.2 152.6 256.0 17.3
7. 59.43.244.138 76.3% 60 144.8 145.7 144.8 155.1 2.7
8. 202.97.91.209 0.0% 60 146.7 147.9 145.3 169.2 3.3
9. 202.97.33.229 0.0% 60 149.3 148.8 145.7 158.4 2.3
10. 183.59.13.161 0.0% 60 157.3 156.7 153.3 186.8 4.6
11. 183.56.128.10 0.0% 60 155.2 158.7 154.3 253.8 14.0
12. 14.215.116.1 1.7% 60 151.0 153.8 147.0 321.0 22.6
转载请超链接注明:逗比根据地 » Linux中使用 路由追踪 测试VPS回程路由(回程路由比去程更影响SS速度)
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!
你的话,只需要执行一下
chmod +x *
,就可以继续下面路由追踪使用步骤了。但,在咨询大佬后,得出的是,中间的路由并不一定是积极回应你的ICMP数据包。
路由追踪,服务器A到服务器B,是服务器A发送ICMP数据包到服务器B,然后ICMP数据包每经过一个路由都会记录时间(延迟)并返回一个数据包,但是如果遇到一些比较拥挤的路由点,可能因此会反应时间增加,同理,丢包也是,一些拥挤的路由点或者说QOS严重的,会丢包很高,但是目标服务器B 收到的ICMP数据就没有多少丢包(当然收到的是中间路上丢弃后剩余的ICMP包)。