Linux下网络排查之ping|traceroute|mtr工具(zz)
1.ping
ping使用了ICMP回送请求和回送应答报文。ping工具发出去的数据包没有通过tcp/udp协议,但是要经过ip协议。ping命令计算的时间是数据包的往返总时间。
ping命令常用的选项如下:
- -c num ——表示使用ping发出去num个数据包
- -n ——表示ping的输出中包含主机信息的都用ip表示,不在进行ip和主机名之间的映射,那样ping的响应速度会更快
- -s packetsize ——指定ping发出去的数据包的大小,单位是B. 如果不配置此选项将默认为56B
- -t ttl ——设定数据包在网络上传输的Time To Live(TTL)生命周期
- -f ——快速ping,Flood ping,发送接收ICMP Echo报文的频率快了非常多
举例如下:
- ping -c 3 -s 512 www.baidu.com #表示向www.baidu.com发送3个512B大小的数据包,来进行网络探测
- ping -f www.baidu.com #快速ping
2.traceroute
traceroute也是使用ICMP协议,使用了ICMP的时间超过差错差错报告报文以及ICMP终点不可达报文。对于ICMP协议,其原理为:
traceroute的重要选项有:
- -U ——使用UDP协议来探测,这是默认的检测协议。
- -I ——使用ICMP协议来探测
- -T ——使用TCP协议来探测
使用举例如下:
- traceroute www.baidu.com
备注,使用traceroute返回的每行信息中有三个时间值,那是因为对于每个节点或者路由器,源端发了三次探测请求。
3.mtr
在Linux中有一个更好的网络连通性判断工具,它可以结合ping | nslookup | tracert 来判断网络的相关特性,这个命令就是mtr
使用格式:
- mtr [options] hostname
常用的选项:
- -r ——将mtr设置为报告模式,追踪结果以报告模式输出。若没有-r显现,那么将进入mtr的实时交互模式。
- -c num ——定义追踪的次数,每次是1s,且-c必须和-r配合使用,默认的10次。
使用举例:
(1)mtr的实时显示模式
- mtr 202.108.33.94
(2)mtr的报告模式
- [root@10.10.90.97 ~]# mtr -r 202.108.33.94
- FOCUS9097 Snt: 10 Loss% Last Avg Best Wrst StDev
- 220.181.61.252 0.0% 6.8 3.3 1.8 7.4 2.2
- 220.181.17.217 0.0% 0.4 0.5 0.4 0.7 0.1
- 220.181.16.17 0.0% 0.6 0.5 0.5 0.6 0.0
- 202.97.53.14 10.0% 0.7 0.7 0.7 0.8 0.0
- 219.158.35.1 0.0% 0.8 0.8 0.8 0.9 0.0
- 219.158.5.81 0.0% 1.2 1.3 1.2 1.6 0.1
- 123.126.0.138 0.0% 1.2 1.1 1.1 1.3 0.1
- 61.148.153.126 0.0% 1.9 10.5 1.5 89.9 27.9
- 61.148.143.22 0.0% 1.5 1.6 1.5 1.7 0.0
- 210.74.178.198 0.0% 1.6 1.6 1.5 1.9 0.1
- 202.108.33.94 0.0% 1.5 1.5 1.4 1.5 0.0
输出解释:
第一列:显示的是IP地址和本机域名,这点和tracert很像
第二列:snt:10 设置追踪的次数,默认值是10 可以通过参数 -c来定制,例如mtr -r -c 15 202.108.33.94
第三列 Loss: 是显示的每个对应IP的丢包率
第四列 Last: 显示的最近一次的返回时延
第五列 Avg : 是平均值 这个应该是发送ping包的平均时延
第六列 Best: 是最好或者说时延最短的
第七列 Wrst: 是最差或者说时延最常的
第八列 StDev: 是标准偏差
Linux下网络排查之ping|traceroute|mtr工具(zz)的更多相关文章
- linux下使用screen和ping命令对网络质量进行监控
linux下使用screen和ping命令对网络质量进行监控 场景:应用连接云服务器经常偶尔会出现连接不上的情况,android和IOS端连接的时候也会出现tcp延时5秒以上,现在想验证是否是云服务商 ...
- Linux下网络流量实时监控工具
Linux下网络流量实时监控工具大全 在工作中发现,经常因为业务的原因,需要即时了解某台服务器网卡的流量,虽然公司也部署了cacti软件,但cacti是五分钟统计的,没有即时性,并且有时候打开监控页面 ...
- 解决redhat linux下IP地址可以ping通,域名无法ping通问题
解决redhat linux下IP地址可以ping通,域名无法ping通 在/etc/resolv.conf中添点东西 格式如下: nameserver xxx.xxx.xxx.xxx nameser ...
- [原创]Linux下网络性能测试Netperf工具介绍及安装
[原创]Linux下网络性能测试Netperf工具介绍及安装 1 官方网站 http://www.netperf.org/netperf/ 2 Netperf介绍 Netperf是一种网络性能的测试工 ...
- 通过/proc/sys/net/ipv4/优化Linux下网络性能
通过/proc/sys/net/ipv4/优化Linux下网络性能 /proc/sys/net/ipv4/优化1) /proc/sys/net/ipv4/ip_forward该文件表示是否打 ...
- Linux下网络服务的安全设置
Linux下网络服务的安全设置 Linux操作系统由于其良好的稳定性.健壮性.高效性和安全性.正在成为各种网络服务的理想平台.各种网络应用在Linux系统上部有性能卓越的应用,例如,提供We ...
- [转帖]linux下网络监控神器"iptraf-ng"
linux下网络监控神器"iptraf-ng" https://www.cnblogs.com/dupengfei/articles/iptraf-ng.html 优点:监控的网络 ...
- Remmina:一个 Linux 下功能丰富的远程桌面共享工具(转载)
Remmina:一个 Linux 下功能丰富的远程桌面共享工具 作者: Aaron Kili 译者: LCTT geekpi | 2017-05-10 09:05 评论: 2 收藏: 4 Remm ...
- Linux下制作Windows启动U盘的工具
Linux下制作Windows启动U盘的工具 很多人说Linux下制作Windwos启动盘要用GRUB4DOS建立引导,其实不用,有专门的工具的,就像Windows下有Rufus制作Linux启动U盘 ...
随机推荐
- MVC模式浅谈
MVC模式浅谈 一.MVC模式概述 模型-视图-控制器(MVC模式)是一种非常经典的软件架构模式,在UI框架和UI设计思路中扮演着非常重要的角色.从设计模式的角度来看,MVC模式是 一种复合模式,它将 ...
- tf.name_scope()和tf.variable_scope() (转)
网络层中变量存在两个问题: 随着层数的增多,导致变量名的增多: 在调用函数的时候,会重复生成变量,但他们存储的都是一样的变量. tf.variable不能解决这个问题. 变量作用域使用tf.var ...
- tomcat 启动脚本
#!/bin/bash##干掉运行中的tomcat results=把结果赋值给变量,可以保证命令上条执行完再执行下一条#也可以用这句简单的代码按进程名kill: ps -ef | grep 进程名 ...
- kdump内核
什么是kdump? kdump 是一种先进的基于 kexec 的内核崩溃转储机制.当系统崩溃时,kdump 使用 kexec 启动到第二个内核.第二个内核通常叫做捕获内核,以很小内存启动以捕获转储 ...
- 解决python3.6的UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 28613: illegal multibyte sequence
这是python3.6的print()函数自身有限制,不能完全打印所有的unicode字符. 主要的是windows下python的默认编码不是'utf-8',改一下python的默认编码成'utf- ...
- 如何区分Java中的方法重载和重写
首先说的是重载: 方法的重载 * 在同一个类中,方法名相同,参数列表不同.与返回值类型无关. * 参数列表不同: * A:参数个数不同 * B:参数类型不同 * C:参数的顺序不同(不算重载 报错) ...
- Shader基础(固定管线着色器)
在Shader的编码中,要养成不加空格的习惯,否则会有时候出现一些错误 固定管线着色器: 优点:实现简单 缺点:处理的效果比较差 //设置Shader的路径 Shader "MyFixedS ...
- 老代码:js实现二级城市联动(MVC)
FormViewCity 为mvc控制器传给view的数据,包括一个MyCitys集合字段. <%@ Page Title="" Language="C#" ...
- day22 面向对象基础
1.什么是面向过程 在介绍面向对象之前,要先明确面向过程 在这之前我们所写的任何代码都是面向过程的 什么是面向过程? 是一种编程思想 面对 朝向 在编写代码时,要时刻想着过程这两个字 过程指的是什么? ...
- PHPActiveRecord 学习二
ORM关联查询 a.一对多 针对外键来说 谁属于谁 谁有谁 user表 CREATE TABLE `user` ( `uid` int(11) NOT NULL AUTO_INCREMENT, `na ...