Linux下ping丢包或不通时链路测试工具推荐

赞赏 2017-07-02

当访问目标服务器出现 ping 丢包或 ping 不通时 或 网路访问延迟 或 访问异常时,可以通过 traceroute 或 mtr 等工具进行链路测试来判断问题。本文介绍 Linux环境下的链路测试工具。


>>Windows下链路测试工具介绍

>>链路测试结果分析说明及常见链路异常场景和测试报告



Linux 环境下链路测试工具介绍

  • traceroute 命令行工具

  • mtr 命令行工具(建议优先使用)

traceroute 命令行工具

traceroute 是几乎所有 Linux 发行版本预装的网络测试工具,用于跟踪 Internet 协议(IP)数据包传送到目标地址时经过的路径。

traceroute 先发送具有小的最大存活时间值(Max_TTL)的 UDP 探测数据包,然后侦听从网关开始的整个链路上的 ICMP TIME_EXCEEDED 响应。探测从 TTL=1 开始,TTL 值逐步增加,直至接收到ICMP PORT_UNREACHABLE 消息。ICMP PORT_UNREACHABLE 消息用于标识目标主机已经被定位,或命令已经达到允许跟踪的最大 TTL 值。

traceroute 默认发送 UDP 数据包进行链路探测。可以通过 -I 参数来指定发送 ICMP 数据包用于探测。

用法说明:

traceroute [-I] [ -m Max_ttl ] [ -n ] [ -p Port ] [ -q Nqueries ] [ -r ] [ -s SRC_Addr ] [  -t TypeOfService ] [ -f flow ] [ -v ] [  -w WaitTime ] Host [ PacketSize ]

示例输出

[root@www ~]# traceroute -I 223.5.5.5


常见可选参数说明:

  • -d 使用Socket层级的排错功能。
  • -f 设置第一个检测数据包的存活数值TTL的大小。
  • -F 设置不要分段标识。
  • -g 设置来源路由网关,最多可设置8个。
  • -i 使用指定的网卡送出数据包。用于主机有多个网卡时。
  • -I 使用ICMP数据包替代 UDP 数据包进行探测。
  • -m 设置检测数据包的最大存活数值TTL的大小。
  • -n 直接使用IP地址而非主机名称(禁用 DNS 反查)。
  • -p 设置UDP传输协议的通信端口。
  • -r 忽略普通的Routing Table,直接将数据包送到远端主机上。
  • -s 设置本地主机送出数据包的IP地址。
  • -t 设置检测数据包的TOS数值。
  • -v 详细显示指令的执行过程。
  • -w 设置等待远端主机回包时间。
  • -x 开启或关闭数据包的正确性检验。

mtr 命令行工具(建议优先使用

mtr My traceroute)也是几乎所有 Linux 发行版本预装的网络测试工具。他把 ping traceroute 的功能并入了同一个工具中,所以功能更强大。

mtr 默认发送 ICMP 数据包进行链路探测。可以通过 -u 参数来指定使用 UDP 数据包用于探测。

相对于 traceroute 只会做一次链路跟踪测试,mtr 会对链路上的相关节点做持续探测并给出相应的统计信息。所以,mtr能避免节点波动对测试结果的影响,所以其测试结果更正确,建议优先使用。

用法说明:

mtr [-hvrctglspni46] [—help] [—version] [—report] [—report-cycles=COUNT] [—curses] [—gtk] [—raw] [—split] [—no-dns] [—address interface] [—psize=bytes/-s bytes] [—interval=SECONDS] HOSTNAME [PACKETSIZE]

示例输出:

[root@www ~]# mtr 223.5.5.5


常见可选参数说明:

  • -r —report:以报告模式显示输出。
  • -p —split:将每次追踪的结果分别列出来,而非如 —report统计整个结果。
  • -s —psize:指定ping数据包的大小。
  • -n —no-dns:不对IP地址做域名反解析。
  • -a —address:设置发送数据包的IP地址。用于主机有多个IP时。
  • -4:只使用 IPv4 协议。
  • -6:只使用 IPv6 协议。

另外,也可以在 mtr 运行过程中,输入相应字母来快速切换模式,比如:

  • ?或 h:显示帮助菜单。
  • d:切换显示模式。
  • n:切换启用或禁用 DNS 域名解析。
  • u:切换使用 ICMP UDP 数据包进行探测。

返回结果说明:

默认配置下,返回结果中各数据列的说明:

  • 第一列(Host):节点IP地址和域名。如前面所示,n键可以切换显示。
  • 第二列(Loss%):节点丢包率。
  • 第三列(Snt):每秒发送数据包数。默认值是10,可以通过参数 -c 指定。
  • 第四列(Last):最近一次的探测延迟值。
  • 第五、六、七列(AvgBestWrst):分别是探测延迟的平均值、最小值和最大值。
  • 第八列(StDev):标准偏差。越大说明相应节点越不稳定。

>>链路测试结果分析说明及常见链路异常场景和测试报告


登陆后阅读全文
阅读 3721 赞赏 0 有用 1 没用 0 收藏 0 分享

   



0 条留言

linux分享的头像

linux分享

每个软件都有确定的用途

相关文章

链路测试结果分析说明及常见链路异常场景和测试报告

安全组设置允许SSH登录到 Linux 实例

Linux 流控原理,实现,及实例

Linux 如何使用 kpartx 命令读取分区表信息

云服务器 ECS Linux /tmp 目录文件是如何做到定期清理的?

Linux Web 环境配置站点的方法

Linux 内核配置问题导致 NAT 环境访问异常

Linux Mac Window网络异常时如何抓包?

Linux 系统虚拟主机 .htaccess 如何限制某些 IP 访问?

云服务器 ECS Linux 系统如何屏蔽某个 IP 的访问?

有料推荐

这世界欠我一个这样的老公!

高校学生模仿“世界名画”摆拍,可以说是戏精本精了

iPhone X 跌破发行价,苏宁200亿入股恒大 | 财经日日评

果然是高手!这次在日本,特朗普竹杠敲得不是一般狠

资深黄牛现身说法:iPhone X价格秒变不停,就像炒股一样

长一样的双胞胎也能识别?蚂蚁金服发布「眼纹识别」技术

苏联是怎么被阿富汗拖垮的?

美团或入局「分时租赁」共享汽车,王兴要大笔投入「泛出行」领域了? | 36氪独家

你或许被“一盘番茄炒蛋”刷屏了,但有人辛酸,有人质疑

iPhone X发售前夜,黄牛与苹果公司的不安

他的文章

我是如何执行 "rm -rf ~" 的

正态分布为什么常见?(财富的分布却不符合正态分布)

Linux下窗口管理器 xmonad 的使用教程

用披萨做比喻来解释 IaaS,PaaS,SaaS 的区别

如何制作CSR(证书私钥和证书请求文件)文件?

php RedisException with message read error on connection

Windows环境下ping丢包或不通时链路测试工具推荐

Linux下ping丢包或不通时链路测试工具推荐

链路测试结果分析说明及常见链路异常场景和测试报告

SSH 登录时出现如下错误:login: Module is unknown

手机扫一扫
分享文章