---引用自阿里云

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的用法场景的更多相关文章

  1. Android ViewPager 用法

    Android ViewPager 用法 场景:一般第一次打开应用程序时,程序会有一个提示页来给展现应用程序都有哪些功能:或者程序更新时,又更新哪些新特性,都可以使用ViewPager Demo 描述 ...

  2. Unity 项目中委托Delegate用法案例

    Unity中Delegate的用法场景 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar - ...

  3. .Net Framework中的AppDomain.AssemblyResolve事件的常见用法、问题,以及解决办法

    一.简述 本文简要的介绍.NET Framework中System.AppDomain.AssemblyResolve事件的用法.使用注意事项,以及复杂场景下AssemblyResolve事件的污染问 ...

  4. the assignment of reading paper

    在 IEEE 上找到Increasing Dependability of Component-based Software Systems by Online Failure Prediction, ...

  5. 再谈git和github-深入理解

    git中的 objects 和 refs 是什么? 目录objects是仓库的 "对象库" , 是包含 代码, 提交, 日志, 信息, 索引等信息的关键所在 refs是一些 sha ...

  6. Java8 Lambda 之 Collection Stream

    Lambda 之 Collection Stream Collection.stream() 测试实体类 class Demo { private Long id; private String na ...

  7. .net 中的async,await理解

    理解: 1.async修饰的方法可理解为异步方法(必须要配合await,否则和普通方法无异)2.当async方法执行遇到await,则立即将控制权转移到async方法的调用者3.由调用者决定是否需要等 ...

  8. react.js 各种小测试笔记

    首先看一个 基础html  至于其中的 js 问价大家去官网下载就好了. <html> <head> <script src="../build/react.j ...

  9. Python模块学习 - click

    Click模块 click模块是Flask的作者开发的一个第三方模块,用于快速创建命令行.它的作用与Python标准库的argparse相同,但是,使用起来更简单. click是一个第三方库,因此使用 ...

随机推荐

  1. [HNOI2003]操作系统

    嘟嘟嘟 这道题就是一个模拟. 首先我们建一个优先队列,存所有等待的进程,当然第一关键字是优先级从大到小,第二关键字是到达时间从小到大.然后再建一个指针Tim,代表cpu运行的绝对时间. 然后分一下几种 ...

  2. Day2 Mybatis初识(二)

    mapper接口开发 传统dao的开发问题(ibatis) 方法调用:字符串易错,硬编码 mapper代理开发 a) 编写全局配置 b) 编写接口(自动根据接口和映射文件创建实现类) c) 编写映射文 ...

  3. 看到了一个pipeline例子,

    pipeline { agent any options { timestamps() } parameters { string(name: 'GIT_BRANCH', defaultValue: ...

  4. 正则匹配与替换 regexp & regsub

    正则匹配是使用正则表达式匹配字符串的一种方法:在脚本编写过程中,经常需要处理一些文本,而这些文本中可能只有部分信息是有用的,我们需要从文本中提取出这些有用信息:这时候,就需要编写特定格式的正则表达式, ...

  5. 将本地项目托管到github 并预览

    本地文件上传到github的步骤 1.先在github上建立一个仓库 2.将此仓库download 3.在此文件夹中git bash here 4.进行如下git操作 git git init git ...

  6. BI之报表测试总结

    报表测试总结: 1.测试准备工作: 数据准备 保证足够多的有效数据 清楚报表中涉及到的算法.公式 清楚业务功能接口 2.报表测试点 基本测试点:界面.控件.格式.布局.明显的数据错误.js报错.报表标 ...

  7. CCF 201709-2公共钥匙盒

    问题描述 有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须放在公共钥匙盒里,老师不能带钥匙回家.每次老师上课前,都从公共钥匙盒里找到自己上课的教室的钥匙去开门,上完课后,再将钥匙放回到钥匙盒中 ...

  8. React实战一

    目录 1. 搭建环境 2. React知识点 1. 组件 1.1 定义一个组件 1.2 组合与拆分组件 1.3 组件传值 1.4 state 1.5 生命周期函数 1.6 无状态组件 1.7 List ...

  9. shell重温---基础篇(文件包含)

        和其他语言一样,Shell 也可以包含外部脚本.这样可以很方便的封装一些公用的代码作为一个独立的文件.Shell 文件包含的语法格式如下: . filename # 注意点号(.)和文件名中间 ...

  10. Matlab zeros ones

    zeros函数——生成零矩阵 ones函数——生成全1阵 [zeros的使用方法] B=zeros(n):生成n×n全零阵. B=zeros(m,n):生成m×n全零阵. B=zeros([m n]) ...