mtr分析网络情况
这也是个曲折的故事。
之前用AWS第一年免费的优惠搭了ss,但是速度着实不怎样。而且免费的到期,最近又用樱花docker搭了个,在研究网络好坏的过程中接触到了一个工具叫mtr。
安装
brew install mtr
不过安装之后报了个错,说brew link
失败了,
显示/usr/local/share/man/man8is not writable.
我找了下,有个解决办法
sudo chown -R `whoami` /usr/local
这样就给了权限。
然后运行 brew link mtr
,完成未完成的link。
之后mtr
应该被link到了/usr/local/sbin/
我运行sudo /usr/local/sbin/mtr -h
是可以的,但是运行sudo /usr/local/sbin/mtr [ip]
这种就会报错,报错信息为Failure to start mtr-packet: Invalid argument
。
我又去找到brew的安装路径,使用sudo /usr/local/Cellar/mtr/0.92/sbin/mtr [ip]
我发现是可以的,所以我怀疑link的时候出了问题!然后我运行了
brew uninstall mtr
brew install mtr
重新安装了mtr,这次link没有错误。
然后运行sudo /usr/local/sbin/mtr [ip]
发现就OK了~
加入环境变量
每次总输入sudo /usr/local/sbin/mtr [ip]
太麻烦了,我用的zsh
和oh-my-zsh
,所以有两种方法能简单一点,一种将/usr/local/sbin
加入环境变量,一种将这种命令用alias
写成别名缩写。
我将/usr/local/sbin
写入了~/.zshrc
文件中的环境变量$PATH
,然后运行
source ~/.zshrc
使环境变量生效。
使用
其实mtr
是个结合了traceroute
和ping
的工具,让你测出你所在位置到目标位置之间的速度大概怎么样。
sudo mtr [HOST]
大概长这样
输入q
退出。
可以看出这条线路掉包率0.3%,平均延迟181,大概经过了四川 —> 上海 —> 北京 —> 日本。不过这个跟本地网络有关,我在公司测得时候数据比这个好的多,而且上下行都超过了1m/s,所以是可以用的~