linux网络95值工具,Linux下网络故障排查工具之ping

2023-11-19

服务器运维人员在日常运维服务器的过程中经常会遇到服务器网络故障,有服务器硬件造成的,也有服务商网络问题造成的,也有区域网络问题造成的,这个时候就需要用到ping,traceroute,mtr这三个命令

1、ping 最简单的网络请求反馈命令

ping使用了ICMP回送请求和回送应答报文。ping工具发出去的数据包没有通过tcp/udp协议,但是要经过ip协议。ping命令计算的时间是数据包的往返总时间。

ping命令常用的选项如下:-c num  表示使用ping发出去num个数据包

-d 使用Socket的SO_DEBUG功能。

-f  极限检测。大量且快速地送网络封包给一台机器,看它的回应。快速ping,Flood ping,发送接收ICMP Echo报文的频率快了非常多

-n 只输出IP,表示ping的输出中包含主机信息的都用ip表示,不在进行ip和主机名之间的映射,那样ping的响应速度会更快。

-q 不显示任何传送封包的信息,只显示最后的结果。

-r 忽略普通的Routing Table,直接将数据包送到远端主机上。通常是查看本机的网络接口是否有问题。

-R 记录路由过程。

-v 详细显示指令的执行过程。

-c 数目:在发送指定数目的包后停止。LINUX的ping不会自动终止如果不指定这个参数就需要手动按ctrl+c终止

-i 秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。

-I 网络界面:使用指定的网络界面送出数据包。

-l 前置载入:设置在送出要求信息之前,先行发出的数据包。

-p 范本样式:设置填满数据包的范本样式。

-s packetsize 字节数:指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。

-t 存活数值:设置存活数值TTL的大小。设定数据包在网络上传输的Time To Live(TTL)生命周期

举例:ping -c 3 -s 512 www.bnxb.com     #表示向www.bnxb.com发送3个512B大小的数据包,来进行网络探测

ping -f www.bnxb.com    #快速ping

2.traceroute和tcptraceroute 路由追踪命令

traceroute也是使用ICMP协议,使用了ICMP的时间超过差错差错报告报文以及ICMP终点不可达报文。

tcptraceroute则是使用tcp协议,现代网络广泛使用防火墙,导致传统路由跟踪工具发出的(ICMP应答(ICMP

echo)或UDP)数据包都被过滤掉了,所以无法进行完整的路由跟踪。尽管如此,许多情况下,防火墙会准许反向(inbound)TCP数据包通过防火墙到达指定端口,这些端口是主机内防火墙背后的一些程序和外界连接用的。通过发送TCP

SYN数据包来代替UDP或者ICMP应答数据包,tcptraceroute可以穿透大多数防火墙。

traceroute和tcptraceroute原理为:

常规的traceroute和tcptraceroute具有相同的工作原理:

发送一个TTL(Time-To-Live)相当小的包,TTL经过每一跳时会递减。当它减为0时,数据包就被丢弃。

当TTL失效后,看哪个路由器返回一个带有表明的ICMP “time exceeded”

如果返回的路由器就是最终的目的地,停止trace

否则,TTL加1并返回到步骤1

两者的不同点:

常规的traceroute使用UDP包或ICMP “Echo”包,这两种包都可能会被防火墙拦截。

tcptraceroute使用TCP “SYN”包。发送带SYN标志位的数据段是TCP建立连接时进行“三次握手”的第一次握手,只要目标地址是被允许访问的,通常这种包不会被防火墙拦截。但是防火墙会拦截其他的不是用于建立连接的TCP包。

基于TCP的traceroute拥有更高的访问权限。以amazon.com为例。基于UDP的traceroute停在205.251.248.5,这个地址很可能是某种防火墙。基于TCP的traceroute访问80端口,这是amazon.com的默认端口,然后进入下一步,最终停在72.21.194.212

traceroute的重要选项有:-d 使用Socket层级的排错功能。

-f 设置第一个检测数据包的存活数值TTL的大小。

-F 设置勿离断位。

-g 设置来源路由网关,最多可设置8个。

-i 使用指定的网络界面送出数据包。

-I 使用ICMP回应取代UDP,与-U\-T是互斥关系。

-m 设置检测数据包的最大存活数值TTL的大小,也就是改变跳数,默认只检测30跳。

-n 直接使用IP地址而非主机名称。

-p 设置UDP传输协议的通信端口。

-q 改变每一次主机之间路由传送包的次数,最大为10

-r 忽略普通的Routing Table,直接将数据包送到远端主机上。

-s 设置本地主机送出数据包的IP地址。

-t 设置检测数据包的TOS数值。

-T  使用TCP协议来探测,与-U\-I是互斥关系,另外TCP协议默认是80端口,而LINUX下1024以下端口需要管理员ROOT权限才能执行,因此需注意权限。

-U 使用UDP协议来探测,这是默认的检测协议

-v 详细显示指令的执行过程。

-w 设置等待远端主机回报的时间。

-x 开启或关闭数据包的正确性检验。

使用举例如下:traceroute www.bnxb.com

备注,使用traceroute返回的每行信息中有三个时间值,那是因为对于每个节点或者路由器,源端发了三次探测请求。

部分以mini方式安装的CENTOS会没集成traceroute可以自行安装

安装命令yum -install traceroute

tcptraceroute是第三方工具,需要下载后上传服务器安装

首先需要安装依赖包libpcap[root@localhost ~]# yum install -y libpcap

下载和上传tcptraceroute

的rpm包  开源代码:https://sourceforge.net/projects/traceroute/

RPM包下载:http://rpmfind.net/linux/mageia/distrib/6/armv5tl/media/core/release/tcptraceroute-1.5-1.beta7.9.mga6.armv5tl.rpm[root@localhost ~]# rpm -ivh tcptraceroute-1.5-1.beta7.9.mga6.armv5tl.rpm

下面来说说 该命令的用法

-i  指定接口

-f

设置开始TTL值(第一条显示的路径)

-l  包长度

-q

每一跳延时查询的次数(default 3)

-t

设置TOS(服务类型)可用于传出数据包。默认 未设置

-m  设置最大TTL值

-p

指定使用本机的特定端口作为源端口(默认随机)

-s

如果本机有多个IP,可指定使用一个IP进行追踪

-w  等待超时时间

host

必跟参数,可以使用主机名或者IP地址

des port  可选选项,默认使用目的地址的80端口

example:  tcptraceroute www.google.com 443 -n -q 1

3.mtr

在Linux中有一个更好的网络连通性判断工具,它可以结合ping | nslookup | tracert 来判断网络的相关特性,这个命令就是mtr,注意:MTR使用的raw sockets是绕过TCP/IP协议,需要ROOT权限来执行,因此如果以普通用户身份来执行mtr会出错,提示“mtr: unable to get raw sockets”

默认系统里面是不带MTR,需要自己手动安装

CENTOS进入SSH,手动输入命令yum install mtr -y

UBUNTUsudo apt-get install traceroute

使用格式:mtr [options] hostname

常用的选项:-n       ——不探测主机名,no-dns不对IP地址做主机名解析

-r     ——将mtr设置为报告模式,追踪结果以报告模式输出。若没有-r显现,那么将进入mtr的实时交互模式。

-c num ——定义追踪的次数,每次是1s,且-c必须和-r配合使用,默认的10次。

mtr -s 用来指定ping数据包的大小

mtr -a 来设置发送数据包的IP地址 这个对一个主机由多个IP地址是有用的

mtr -i 使用这个参数来设置ICMP返回之间的要求默认是1秒

mtr -4 IPv4

mtr -6 IPv6

使用举例:

(1)mtr的实时显示模式,这里会一直刷新探测,可以按ctrl+c退出

mtr www.bnxb.com

(2)mtr的报告模式

[root@172.245.168.1 ~]# mtr -r www.bnxb.com

Start: Sun Dec  3 21:32:45 2017

HOST: Bnxb-VM          Loss%   Snt   Last   Avg  Best  Wrst StDev

1.|-- 172-245-168-1-host.colocr  0.0%    10    1.2  14.6   0.9  97.1  29.8

2.|-- 10.8.7.117                 0.0%    10    0.9   1.1   0.9   2.4   0.0

3.|-- 10.8.19.173                0.0%    10    0.5   5.4   0.4  42.4  13.1

4.|-- buf-b1-link.telia.net      0.0%    10    0.5   0.6   0.5   1.4   0.0

5.|-- nyk-bb4-link.telia.net     0.0%    10   10.7  10.9  10.7  11.2   0.0

6.|-- nyk-b5-link.telia.net      0.0%    10   11.3  11.3  11.2  11.8   0.0

7.|-- 6-1-20.ear2.NewYork1.leve 90.0%    10  535.6 535.6 535.6 535.6   0.0

8.|-- 4.69.153.125               0.0%    10   87.8  88.0  87.7  90.4   0.7

9.|-- network-innovations-inc.v  0.0%    10   91.4  90.0  88.2  91.4   0.9

10.|-- te-6-0-0.cs2.lax2.us.zenl  0.0%    10   88.7  90.0  88.7  95.0   1.7

11.|-- ???                       100.0    10    0.0   0.0   0.0   0.0   0.0

12.|-- 198.181.37.102.16clouds.c  0.0%    10   87.5  87.5  87.3  87.9   0.0

输出解释:

第一列:显示的是IP地址和本机域名,这点和tracert很像

第二列:snt:10 设置追踪的次数,默认值是10 可以通过参数 -c来定制,例如mtr -r -c 15 www.bnxb.com

第三列 Loss: 是显示的每个对应IP的丢包率

第四列 Last: 显示的最近一次的返回时延

第五列 Avg : 是平均值 这个应该是发送ping包的平均时延

第六列 Best: 是最好或者说时延最短的

第七列 Wrst: 是最差或者说时延最常的

第八列 StDev: 是标准偏差

(3)mtr报告模式,只显示IP不显示主机名

mtr -n -r www.bnxb.com

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux网络95值工具,Linux下网络故障排查工具之ping 的相关文章

  • CUDA+OPENCV+PYTHON tensorflow 源码环境搭建

    CUDA OPENCV PYTHON tensorflow 源码环境搭建 接上文caffe环境安装 https blog csdn net u012350025 article details 104589982 主机环境ubuntu18
  • 基于C++的带权无向图的实现 (五)- 连通图和连通分量

    该系列文章是本人整理的有关带权无向图的数据结构和算法的分析与实现 若要查看源码可以访问我的github仓库 如有问题或者建议欢迎各位指出 目录 基于C 的带权无向图的实现 一 数据结构 基于C 的带权无向图的实现 二 遍历算法 基于C 的带
  • 台式计算机怎么看有没有开独显,台式机独立显卡怎么样打开

    给台式机插入了独立显卡 但不会打开怎么办呢 下面由学习啦小编给你做出详细的台式机独立显卡打开方法介绍 希望对你有帮助 台式机独立显卡打开方法一 把显示器的数据连接线接到独立显卡上 用的就是独立显卡 把显示器的数据线连接在主板的显示输出口上
  • MyEclipse8.5的安装过程

    1 双击进行安装 点Next接受 选择好路径后 等待安装完毕 2 选择路径 3 进入工作台如下图 4 配置Tomcat 工具栏 Window Preferences 5 Myeclipse Servers Tomcat 选择版本 勾选Ena
  • 2029:【例4.15】水仙花数

    2029 例4 15 水仙花数 时间限制 1000 ms 内存限制 65536 KB 提交数 1247 通过数 720 题目描述 求100 999中的水仙花数 若三位数ABC ABC A3 B3 C3 则称ABC为水仙花数 例如153 13
  • springboot2.x默认采用cglib代理,以及配置jdk动态代理的方法

    众所周知 springboot开启AOP需要在启动类加上注解 EnableAspectJAutoProxy 但开发过程中发现即使不加 EnableAspectJAutoProxy 注解 bean还是被代理过 而且是Cglib代理对象 此时在
  • win32下Qt5BLE蓝牙开发笔记

    BLE简介 BLE蓝牙是蓝牙2 0以上的蓝牙模块 经典蓝牙是蓝牙2 0以下的蓝牙 蓝牙分为客户端和服务器两端 经典蓝牙可以通过socket编程进行客户端与服务器之间的通信 与网络socket相似 BLE蓝牙则无法使用这种方式进行通信 BLE
  • ICASSP 2023说话人识别方向论文合集

    今年入选 ICASSP 2023 的论文中 说话人识别 声纹识别 方向约有64篇 初步划分为Speaker Verification 31篇 Speaker Recognition 9篇 Speaker Diarization 17篇 An
  • 算法竞赛当中的思考方法——方法论篇。

    方法论 万物皆朴素的第一性原理 几乎任何领域的任何问题的解决方案 都可以看作是 某个结构上的朴素方法的优化 计算机只能处理规模有限的问题 在给定规模且不考虑效率的情况下 问题一定存在朴素解法 具体手段有直接模拟 利用bit枚举 各种搜索算法
  • Spring Cloud面试8连问,谁顶得住?

    问题一 什么是 Spring Cloud Spring cloud 流应用程序启动器是基于 Spring Boot 的 Spring 集成应用程序 提供与外部系统的集成 Spring cloud Task 一个生命周期短暂的微服务框架 用于
  • 数据结构-带头双向循环链表的基本实现(C语言,简单易懂,含全部代码)

    链表的概念和结构 概念 链表是一种物理存储结构上非连续 非顺序的存储结构 数据元素的逻辑顺序是通过链表中的指针链接次序实现的 结构 实际中链表的结构非常多样 以下情况组合起来就有8种链表结构 1 单向 双向 2 带头 不带头 3 循环 非循
  • java逆序输出一个整数_Java实现整数的逆序输出(三种方法)

    Java实现整数的逆序输出和C语言相似 下面我介绍三种方法 第一种 无限制整数的逆序输出 import java util Scanner class Cycle01 public static void main String args
  • Tulsi编译失败问题解决

    Tulsi编译失败 Xcode12 4 bazel 4 0 brew 20210218 tulsi最新 解决办法 跑了 usr local Cellar python 2 将这个目录去掉或者改名字为不可用 然后系统默认跑了python3就好
  • Qt—帮助系统

    一个完善的应用程序应该提供尽可能丰富的帮助信息 Qt中可以使用工具提示 状态提示以及 What s This 等简单的帮助提示 也可以使用Qt Assistant来提供强大的在线帮助 简单的帮助提示 已经讲到了工具提示和状态提示 这里简单介
  • java实现第五届蓝桥杯排列序数

    排列序数 如果用a b c d这4个字母组成一个串 有4 24种 如果把它们排个序 每个串都对应一个序号 abcd 0 abdc 1 acbd 2 acdb 3 adbc 4 adcb 5 bacd 6 badc 7 bcad 8 bcda
  • C之(9)函数内联(inline)深入分析

    C之 9 函数内联 inline 深入分析 Author Once Day Date 2023年8月9日 漫漫长路 有人对你微笑过嘛 参考引用文档 Using the GNU Compiler Collection GCC Inline 文
  • 数控技能大赛计算机程序设计员,第八届全国数控技能大赛决赛获奖名单

    近日 由人力资源社会保障部 教育部 科学技术部 中华全国总工会 中国机械工业联合会共同举办的第八届全国数控技能大赛完美落幕 大赛设置数控车工 数控车削加工技术 数控铣工 数控铣削加工技术 加工中心操作工 多轴联动加工技术 数控机床装调维修工
  • Python列表转换成字典、嵌套列表转字典、多个列表转为字典嵌套列表

    目录 两列表转为字典 多列表转为字典嵌套列表 嵌套列表转字典 方法一 直接内置dict 方法二 for循环 一个列表转字典 一 两列表转为字典 list1 key1 key2 list2 value1 value2 print dict z
  • SpringCloud Sentinel集成Gateway和实时监控

    目录 1 Sentinel集成Gateway 1 1 Sentinel对网关支持 1 2 GateWay集成Sentinel 2 Sentinel控制台 2 1 Sentinel控制台安装 2 2 接入控制台 2 3 可视化管理 2 3 1

随机推荐

  • 当使用Vue2+Babel时,如何实现组件重新渲染

    在以前 我们写好静态的 html 后 多数的动态渲染是交给 jquery 来重写的 这样的操作无疑增加了维护的复杂性 于是 我们开始对老系统前端上使用了Vue 2 0 Babel的架构 为什么说Vue比jQuery好呢 这主要从他们的原理着
  • 在Word中给代码添加行号

    说明 有时在Word文档中需要插入一段代码并进行说明 在说明中需要引用代码的某一行 此时可以为这段代码添加行号 应用场景 包含程序代码的作业 论文 报告 步骤 确保段落标记已显示 段落标记是给编辑者看的格式符号 如回车 显示 隐藏段落标记的
  • Win11如何下载安装java?

    一 问题描述 我在复现论文代码的时候 遇到了这样的问题 我没有下载java 那么该如何解决呢 下载 Java 的作用是为了能够在计算机上运行使用 Java 语言编写的应用程序 Java 是一种广泛使用的编程语言 可用于开发各种类型的应用程序
  • CryptoJS与JSEncrypt 加密算法

    crypto js进行AES加密 安装 npm i save crypto js jsencrypt进行RSA加密 安装 npm i save jsencrypt 官网 https github com travist jsencrypt
  • 微软Imagine Cup 2013大赛中国区CSDN高校俱乐部校区比赛成绩及获奖名单

    微软 Imagine Cup 2013 大赛已接近尾声 CSDN高校俱乐部首次参加此大赛 在中国赛区的比赛中 CSDN高校俱乐部校区取得了令人骄傲的成绩 在此向所有的参赛同学表示祝贺和感谢 同时 非常感谢各俱乐部的指导老师 主席 同学对CS
  • 路由期末复习(二)—配置命令

    这篇就专门说说关于配置的知识点 了解基础知识指路 目录 路由器 Telnet服务配置命令 路由器 SSH服务配置命令 SSH配置例子 重点 一图理解SSH配置 用FTP传输文件 使用TFTP传输文件 VLAN的基本配置 配置Hybrid端口
  • APP、软件版本号的命名规范与原则

    APP 软件版本号的命名规范与原则 为了在软件产品生命周期中更好的沟通和标记 我们应该对APP 软件的版本号命名的规范和原则有一定的了解 1 APP 软件的版本阶段 Alpha版 也叫 版 此版本主要是以实现软件功能为主 通常只在软件开发者
  • python中mysql的用法_Python中MySQL用法

    Python中MySQL用法 一 注意事项查看系统版本 arch命令 查看系统是64位还是32位 使用cat etc system release查看内核版本 注意安装MySQL的版本企业版 付费 社区版 免费 MariaDB 注意安装之后
  • java计算机毕业设计基于springboo+vue的汉服文化宣传活动交流网站(汉服社团)

    项目介绍 近年来 随着个人计算机的普及以及互联网的飞速发展 互联网逐渐成为人们获取信息的重要渠道 互联网的便捷性与实时性等特征 在方便人们获取自己感兴趣信息的同时 也在很大程度上为企事业单位节约了大量人力 物力 财力等运营成本 汉服交流网站
  • 【笔记】下单但未支付的订单倒计时自动取消逻辑实现

    平常我们都用过淘宝 京东这些电商平台 同时肯定也在这些平台上面下过单 这种情况不保证大家都有遇到过 但做开发的 肯定也知道有这个环节的存在 确认货品配置无误之后 我们都会点击购买 随之而来的就是一个结算页 让你确认商品信息 收货地址 价格等
  • ElementUi的el-tree组件样式修改

    ElementUi的el tree组件样式修改 需求如下 下拉图标的修改 element ui中的原本的基本样式是这样的 所以第一步呢 就是要把这个下拉按钮的样式修改成加号 在vue文件中 修改样式即可 vue的项目在写样式的时候 回家上s
  • join表连接的三种算法思想:Nested-Loop Join和Index Nested-Loop Join和Block Nested-Loop Join和BKA

    一 Nested Loop Join 在Mysql中 使用Nested Loop Join的算法思想去优化join Nested Loop Join翻译成中文则是 嵌套循环连接 举个例子 select from t1 inner join
  • ChatGPT能为留学生做什么?错误使用有何后果?

    随着AI人工智能行业的迅速发展 越来越多的学生开始利用ChatGPT等软件来获得更高效便利的论文和作业辅助 然而 我们需要认识到一个严肃的问题 学生是否过度依赖AI助手来完成毕业论文 近期出现的Turnitin AI Detector是一个
  • 在Windows下使用vs2019编译libjpeg库

    一 库的编译 1 下载 libjpeg 源码 这里我下载的是 jpegsr9e zip 2 解压源码 3 进入解压后的目录 找到 makefile vs 文件 用文本编辑器打开并编辑 找到 语句 include
  • 设备管理过程

    复杂度2 5 机密度2 5 最后更新2021 04 19 AIX中对设备会有如下五个操作 define aix下能看到设备的定义 但驱动程序并没有加载或初始化 该设备不可用 lsdev看到设备时defined 很多逻辑设备 vg lv等 只
  • CTF练题(5)word隐写基础题,jpg图片隐写,敲击码解密

    2022 11 2 两道misc题目 题目一 word隐写基础 题目信息如下 以及一个无法打开的word文档 解题步骤 1 将该word文档拖入010Editor中进行分析 发现文件头显示为PK 压缩文件 将该文档后缀改为 zip 保存到桌
  • go-zero使用Etcd进行服务注册代码分析

    代码分析 github com tal tech go zero v1 2 3 core discov publisher go package discov import github com tal tech go zero core
  • ld链接器的--start-group和--end-group参数说明

    start group archives end group The archives should be a list of archive files They may be either explicit file names or
  • OpenLayers与Bootstrap样式冲突的解决

    在引入Bootstrap响应式布局样式后 OpenLayers图层瓦片会显示异常 在页面中加入以下样式可以解决 参见 http openlayers org dev examples bootstrap html
  • linux网络95值工具,Linux下网络故障排查工具之ping

    服务器运维人员在日常运维服务器的过程中经常会遇到服务器网络故障 有服务器硬件造成的 也有服务商网络问题造成的 也有区域网络问题造成的 这个时候就需要用到ping traceroute mtr这三个命令 1 ping 最简单的网络请求反馈命令