欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mtr分析网络情况

程序员文章站 2022-05-10 16:17:37
...

这也是个曲折的故事。
之前用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]太麻烦了,我用的zshoh-my-zsh,所以有两种方法能简单一点,一种将/usr/local/sbin加入环境变量,一种将这种命令用alias写成别名缩写。
我将/usr/local/sbin写入了~/.zshrc文件中的环境变量$PATH,然后运行

source ~/.zshrc

使环境变量生效。

使用

其实mtr是个结合了tracerouteping的工具,让你测出你所在位置到目标位置之间的速度大概怎么样。

sudo mtr [HOST]

大概长这样
mtr分析网络情况
输入q退出。

可以看出这条线路掉包率0.3%,平均延迟181,大概经过了四川 —> 上海 —> 北京 —> 日本。不过这个跟本地网络有关,我在公司测得时候数据比这个好的多,而且上下行都超过了1m/s,所以是可以用的~