mtr的用法场景
---引用自阿里云
mtr (My traceroute)也是几乎所有 Linux 发行版本预装的网络测试工具。他把 ping和 traceroute 的功能并入了同一个工具中,所以功能更强大。
mtr 默认发送 ICMP 数据包进行链路探测。可以通过 -u 参数来指定使用 UDP 数据包用于探测。
相对于 traceroute 只会做一次链路跟踪测试,mtr 会对链路上的相关节点做持续探测并给出相应的统计信息。所以,mtr能避免节点波动对测试结果的影响,所以其测试结果更正确,建议优先使用。
----
mtr非常合适用于测试网络链路波动的场景。
#mtr -c 100 -n -i0.1 -r [dst_ip] //直接接需要测试的ip
常用参数介绍:
-c: 测试的次数100次;
-n : --no-dns,强制显示ip地址,并且不解析主机名;
-i: --interval 间隔时间
-r : 计算测试的次数,打印出最终的结果并退出
Case:
记一次服务器无法登陆的故障的排查。先剧透后面查出来的原因是被qiang了,泪目。
主要把排查的逻辑讲的清楚明白,最为重要。服务器的外网ip就匿了,用 [ip] 代替了。
问题出现的症状是:ping可以通但伴随少量丢包,telnet [ip] 22端口也能通,但是打死都无法ssh登陆。
Solution:
1、通过cosole登陆服务器:执行如下命令简单排查:
查看ssh服务状态:systemctl status sshd:
查看sshd服务是否启动:netstat -ntlp |grep 22
查看防火墙并关闭:systemctl status firewalld; systemctl stop firewalld
以上排查的结果是sshd服务正常,22端口正常监听,而且防火墙也是关闭的
2、排查网络链路的问题:
获取本地网络的出口ip地址: http://ipaddress.com,图中匿掉的就是出口ip地址。

利用mtr工具(上面简单说了mtr命令用法)排查网络链路问题
#mtr -c 100 -n -i0.1 -r [ip] //此ip是上面获取到的外网ip,在服务器上进行mtr测试

这样测试后,发现网络链路也是正常的,这个时候就比较有意思了。
3、因为考虑到是阿里云的服务器,有安全组的设置,以及云主机自己特殊的网络配置。
a.先确认安全组的设置是正确的,22端口都对外开放;
b.在控制台 ssh 127.0.0.1 这一步主要是检查sshd服务是否正常。

以上2步执行完了,还是没发现问题。
打开自己的FQ工具,在海外随便一台服务器登陆这台机器,都是可以登陆的。后面怀疑是GFW墙了(具体原因就不阐述了),把服务器上的服务迁移之后,空闲了半个月之后就又可以正常登陆,真的 great gF*W
mtr的用法场景的更多相关文章
- Android ViewPager 用法
Android ViewPager 用法 场景:一般第一次打开应用程序时,程序会有一个提示页来给展现应用程序都有哪些功能:或者程序更新时,又更新哪些新特性,都可以使用ViewPager Demo 描述 ...
- Unity 项目中委托Delegate用法案例
Unity中Delegate的用法场景 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar - ...
- .Net Framework中的AppDomain.AssemblyResolve事件的常见用法、问题,以及解决办法
一.简述 本文简要的介绍.NET Framework中System.AppDomain.AssemblyResolve事件的用法.使用注意事项,以及复杂场景下AssemblyResolve事件的污染问 ...
- the assignment of reading paper
在 IEEE 上找到Increasing Dependability of Component-based Software Systems by Online Failure Prediction, ...
- 再谈git和github-深入理解
git中的 objects 和 refs 是什么? 目录objects是仓库的 "对象库" , 是包含 代码, 提交, 日志, 信息, 索引等信息的关键所在 refs是一些 sha ...
- Java8 Lambda 之 Collection Stream
Lambda 之 Collection Stream Collection.stream() 测试实体类 class Demo { private Long id; private String na ...
- .net 中的async,await理解
理解: 1.async修饰的方法可理解为异步方法(必须要配合await,否则和普通方法无异)2.当async方法执行遇到await,则立即将控制权转移到async方法的调用者3.由调用者决定是否需要等 ...
- react.js 各种小测试笔记
首先看一个 基础html 至于其中的 js 问价大家去官网下载就好了. <html> <head> <script src="../build/react.j ...
- Python模块学习 - click
Click模块 click模块是Flask的作者开发的一个第三方模块,用于快速创建命令行.它的作用与Python标准库的argparse相同,但是,使用起来更简单. click是一个第三方库,因此使用 ...
随机推荐
- 1251. 序列终结者【平衡树-splay】
Description 网上有许多题,就是给定一个序列,要你支持几种操作:A.B.C.D.一看另一道题,又是一个序列 要支持几种操作:D.C.B.A.尤其是我们这里的某人,出模拟试题,居然还出了一道这 ...
- 【bzoj 3622】已经没有什么好害怕的了
题目 看到这个数据范围就发现我们需要一个\(O(n^2)\)的做法了,那大概率是\(dp\)了 看到恰好\(k\)个我们就知道这基本是个容斥了 首先解方程发现我们需要使得\(a>b\)的恰好有\ ...
- Python全栈开发:list 、tuple以及dict的总结
总结: 列表:增:append(),inset(),extend() 删:pop(),remove(),clear(),del 改:a.通过指定元素和切片重新赋值.b.可以使用repelace替换列表 ...
- Python的编码注释【转】
格式有多种,但必须有coding:[编码]或者coding=[编码],如: # -*- coding:utf-8 -*- # coding:utf-8 # coding=utf-8 转自:https ...
- 原生JavaScript技巧大收集
原生JavaScript技巧大收集 地址:http://itindex.net/detail/47244-javascript
- C库函数重定向问题
C库函数重定向用户能定义自己的C语言库函数,连接器在连接时自动使用这些新的功能函数.这个过程叫做重定向C语言库函数,如下图所示.举例来说,用户有一个I/O设备(如UART).本来库函数fputc()是 ...
- UITableViewCell的父视图
最近版本测试阶段,发现一个奇怪的问题,以前在A测试机上出现的崩溃bug,解决后今天在B测试机上又出现了,在B上解决完之后,返回到设备A上发现又不行了.最后调试发现是测试设备系统版本不同导致的,A设备是 ...
- jquery,字符串转json对象,json对象转字符串
字符串转json对象 方法一:var json = eval('(' + str + ')'); 方法二:return JSON.parse(str); json对象转字符串 JSON.stringi ...
- flex学习园地
http://blog.sina.com.cn/s/blog_6d0dc2a901013enk.html
- Matlab 装自定义模块
Matlab for Mac 右上角有一个set path选项. 点进去再点击 add with subfolders. 把你下载好的且解压过的工具箱添加进去 然后点save. 重启,就可以直接用了.