首页 > 其他分享 >讲真,这3个命令不会用等于白混

讲真,这3个命令不会用等于白混

时间:2023-07-12 14:32:36浏览次数:37  
标签:information 白混 Show 讲真 show 命令 等于 debug 路由器

下午好,我的网工朋友。

前两期更的网络故障排障命令和案例合集,不少朋友都在催更。

这篇就给你们继续安排上,最后一期了哈。

前两期还没看过的,看这:

排障还能这么玩?教你5个好用命令(上)

排障还能这么玩?教你5个好用命令(中)

除了Ping、Traceroute,最后再教你三个好用命令:Show、Clear、Debug

还是一样,命令详解+排障案例,经典又实用。

学起来!~


今日文章阅读福利:《网络排障好用工具合辑》

搭配这篇排障命令,顺便给你分享一些排障的好用工具。私信我,发送暗号“排障”,即可领取全部工具。


01 Show 命令

Show命令是用于了解路由器的当前状况、检测相邻路由器、从总体上监控网络、隔离互连网络中故障的最重要的工具之一。

几乎在任何故障排除和监控场合,Show命令都是必不可少的。

给你看看基于RGNOS路由平台的Show命令选项:

RG#show ?

  access-group           MAC access-group
  access-lists           List access lists
  accounting             Accounting configurations parameters
  address-bind           address binding table
  AggregatePort          AggregatePort IEEE 802.3ad
  arp                    ARP table
  class-map              Show QoS Class Map
  clock                  Display the system clock
  cluster                Cluster information
  configure              Contents of Non-Volatile memory
  cpu                    CPU statistics
  debugging              State of each debugging option
  detect                 detect user ip
  dot1x                  IEEE 802.1X information
  file                   Show filesystem information
  gvrp                   GVRP configure command
  host                   IP dns host table
 interfaces             Interface status and configuration
  ip                     IP information
  ip-auth-mode           Show IP authentication mode
  key                    Key information
  line                   TTY line information
  lldp                   LLDP information
  logging                Show the contents of logging buffers
  mac                    MAC information
 mac-address-table      MAC forwarding table
  member                 Show members information
  memory                 Memory statistics
  mls                    Show MultiLayer Switching information
  monitor                Show a SPAN session
  policy-map             Show QoS Policy Map
  port-security          Show secure port information
  privilege              Show current privilege level
  radius-server          Show RADIUS query parameters
  rate-control           Rate control configuration information
  reload                 Halt and perform a cold restart
  rmon                   rmon statistics
  running-config         Current operating configuration
  security               Security Settings
  service                Show network management services
  smp-server             SMP Server Parameters
  snmp                   snmp statistics
  snmp-server            Show SNMP parameters
  sntp                   show sntp parameter
  spanning-tree          Spanning tree topology
  storm-control          Show packet storm control configuration
  time-range             Show time-range information
  version                System hardware and software status
  vlan                   VLAN status

在此仅介绍部分最常用的、全局性的show命令。


常用命令① Show Version

Show Version命令是最基本的命令之一,它用于显示路由器硬件和软件的基本信息。

因为不同的版本有不同的特征,实现的功能也不完全相同,所以,查看硬件和软件的信息是解决问题的重要一步。

在进行故障排除时,大家通常从这个命令开始收集数据。该命令将帮助用户收集下列信息:

  • RGNOS软件版本
  • 是哪一系列的产品

输出示例如下,请找到上述提及的相应项。

reload                 Halt and perform a cold restart
  rmon                   rmon statistics
  running-config         Current operating configuration
  security               Security Settings
  service                Show network management services
  smp-server             SMP Server Parameters
  snmp                   snmp statistics
  snmp-server            Show SNMP parameters
  sntp                   show sntp parameter
  spanning-tree          Spanning tree topology
  storm-control          Show packet storm control configuration
  time-range             Show time-range information
  version                System hardware and software status
  vlan                   VLAN status

Switch #sh ver
System description      : Red-Giant Gigabit Intelligent Switch(S2126G) By
                          Ruijie Network
System uptime           : 1d:2h:41m:11s
System hardware version : 3.3
System software version : 1.66(3) Build Sep  7 2006 Rel
System BOOT version     : RG-S2126G-BOOT  03-02-02
System CTRL version     : RG-S2126G-CTRL  03-11-02
Running Switching Image : Layer2


常用命令② Show running-config和Show startup-config

  • Show running-config用于查看当前的配置信息。
  • Show startup-config用于显示NVRAM或Flash中的路由器配置文件,即路由器下次上电启动时所用的配置文件。

配置文件为一文本文件,其格式如下:

  • 以命令格式保存;
  • 为节约空间,只保存非缺省的常数命令;组织以命令模式为基本框架,同一命令模式的命令组织在一起,形式一节,节与节间以注释行隔开(以“!”开始的语句为注释行)
  • 节的顺序安排:全局配置、物理接口配置、逻辑接口配置、路由协议配置等;
  • 以end为结束。

示例如下:

Switch#show running-config


System software version : 1.66(3) Build Sep  7 2006 Rel

Building configuration...
Current configuration : 287 bytes

!
version 1.0
!
hostname Switch
vlan 1
!
enable secret level 14 5 $2,1u_;C3&-8U0<D4'.tj9=GQ+/7R:>H
enable secret level 15 5 $2H.Y*T73C,tZ[V/4D+S(\W&QG1X)sv'
!
interface vlan 1
 no shutdown
 ip address 192.168.0.221 255.255.255.0
!
ip default-gateway 192.168.0.1
end

Switch#

强烈建议维护或管理人员保存一份启动配置文件的拷贝存放到路由器以外的其他设备上。

这有几点好处:

一个是这将使维护人员能够迅速配置一个替代的路由器;

第二个是,这个保存在外部的文本文件也可以按上述规定的格式脱机编辑然后使用Download命令加载到路由器上;

最后,可以将该配置文件通过E-mail形式发给相关厂商技术支持人员以帮助定位配置问题。


常用命令③ Show interface

Show interface命令可以显示所有接口的当前状态,如果只是想查看特定接口的状态,请在该命令后输入接口类型和接口号。

例如:show interface FastEthernet 0/13命令将查看以太口0/3的运行状态和相关信息。

Switch#show interface FastEthernet 0/13

Interface   : FastEthernet100BaseTX 0/13
Description :
AdminStatus : up
OperStatus  : up
Hardware    : 10/100BaseTX
Mtu         : 1500
LastChange  : 0d:22h:32m:50s
AdminDuplex : Auto
OperDuplex  : Full
AdminSpeed  : Auto
OperSpeed   : 100
FlowControlAdminStatus : Off
FlowControlOperStatus  : Off
Priority    : 0
Broadcast blocked         :DISABLE
Unknown multicast blocked :DISABLE
Unknown unicast blocked   :DISABLE


02 Clear命令

在介绍完毕Show命令的基本使用后,必须提及一下Clear命令的作用。

用于清空当前的统计信息以排除以前积累的数据的干扰。

Clear命令中最主要的是Clear counters命令。

对于端口收发的各计数器的刷新必须使用Clear counters,可通过show interface命令来观察。

Clear命令适用场合如下:

许多情况下,你需要使用带参数的Ping命令来测试链路的通断。

同时在一段时间内Ping后,通过Show ip interface x/x counters命令来查看端口报文的收发及CRC校验等情况的正确与否,从而分析报文的收发在什么地方出现了问题。

但show命令的显示值是自从路由器运行以来(或上次Clear后)的所有统计值,这个值是无法分析的。

因此,实际你需要进行的步骤为:

首先使用Clearcounters命令清空统计值,然后使用一系列Ping命令使路由器端口收发报文,最后使用Show命令来查看统计值。


排障案例① 通过Show interface FastEthernet 0/13 counters观察到端口有如下统计数据:

Interface : Fa0/13
5 minute input rate  : 76208 bits/sec, 53 packets/sec
5 minute output rate : 340600 bits/sec, 53 packets/sec
InOctets             : 53193982
InUcastPkts          : 253095
InMulticastPkts      : 32
InBroadcastPkts      : 10655
OutOctets            : 416202081
OutUcastPkts         : 336100
OutMulticastPkts     : 1740
OutBroadcastPkts     : 12981
Undersize packets    : 0
Oversize packets     : 0
collisions           : 0
Fragments            : 0
Jabbers              : 0
CRC alignment errors : 16
AlignmentErrors      : 0
FCSErrors            : 0
dropped packet events (due to lack of resources): 0
packets received of length (in octets):
  64:157041, 65-127: 127987, 128-255: 10115,
  256-511: 7169, 512-1023: 14593, 1024-1518: 297698

你发现端口收发有了错误,但这些错误是否是最近产生的呢?

可用Clear counters interface FastEthernet 0/13来进行刷新,再通过Ping一组报文测试路由器端口的收发。

最后再使用Show interface FastEthernet 0/13 counters看结果统计。

如果仍然显示发生错误,你就需要分析原因进行故障排除了。


03 Debug命令

RG系列产品提供大量的debug命令支持,可以帮助用户在网络发生故障时获得路由器中交换的报文和帧的细节信息,这些信息对网络故障的定位是至关重要的。

例如:打开IP packet调试开关,命令为:

RG# debug ip packet

由于调试信息的输出在CPU处理中赋予了很高的优先级,许多形式的debug命令会占用大量的CPU运行时间。

在负荷高的路由器上运行debug命令可能引起严重的网络故障(如网络性能迅速下降)。

但debug命令的输出信息对于定位网络故障又是如此的重要,是维护人员必须使用的工具。

因此,先给你总结了一些使用debug命令的注意要点,如下:

1、应当使用debug命令来查找故障,而不是用来监控正常的网络运行。

2、尽量在网络使用的低峰期或网络用户较少时使用,以降低debug命令对系统的影响性。

3、在没有完全掌握某debug命令的工作过程以及它所提供的信息前,不要轻易使用该debug命令。

4、不要轻易使用类似debug all之类将产生大量输出的命令。

仅当寻找某些类型的流量或故障并且已将故障原因缩小到一个可能的范围时,才使用某些特定的debug命令。

5、在使用debug命令获得足够多的信息后,应立即以“no debug xx”命令终止debug命令的执行。

可以使用show debugging命令查看当前已打开哪些调试开关并使用相应命令关闭;或干脆使用no debug all命令关闭所有调试开关。


排障案例① 忘记关闭debug开关引起的路由器报文转发速度变慢的故障排除


1、现象描述

某电信局安装了RG路由器作为接入服务器的出口网关,一段时间运转良好。

某日用户反映该设备明显速度变慢。

执行PING操作,PING对端路由器设备,所用时间为正常的2倍多。


2、 相关信息

该路由器的日志中记录了大量的收发IP报文的信息。


3、 原因分析

初步分析可能有以下几种原因:

  • 线路质量不好。
  • 对端设备问题,导致回应较慢。
  • 自身配置错误
  • 网络繁忙
  • 软硬件故障


4、 处理过程

检查线路,没有发现问题。

PING与之相连的其他路由器设备,故障依旧,说明对端设备无问题。

对照以前运转良好时备份的Running-config文件,检查路由器上的配置,没有错误。

当时并非上网高峰期,且只是变慢,而无丢包,应当不是网络负荷问题。

检查该路由器的日志信息,发现其中记录了大量的收发IP报文的信息,执行命令show debugging命令,发现该路由器的debug ip packet处于打开状态。

由于设备需要记录每一个被转发的IP报文,大大降低了路由器的处理速度,导致变慢。

关闭该debug开关后,故障排除。


5、 建议与总结

山重水复疑无路,柳暗花明又一村。

排除此类故障时应该想一下debug开关的问题。


排障案例② 通过串口telnet到路由器,在该串口上打开debug命令产生问题

当远程调试RG路由器时,有时需要通过某个串口telnet上该路由器。

如果该串口上的链路层协议封装的是FR、PPP或HDLC,千万不能打开该串口相应的链路层调试开关(可以打开其他串口的链路层调试开关)。

否则由于数据流量太大,会使该串口的协议down掉。


04 show命令和debug命令的配合使用

Show命令能够提供某个时间的设备运行状况的视图(静态),而debug命令能够展示一段时间内设备运行的变化情况(动态)。

因此,要在故障排除时了解系统运行的总体情况,必须同时使用这两个命令。


排障案例① 当进行OSPF协议的故障排除时,这两个命令怎么搭配使用?

当进行OSPF协议的故障排除时,需要使用show ip route命令来了解路由器当前已经知道了哪些路由表项,需要使用debug ip ospf events命令来了解路由表是如何更新的。

如果不知道路由表的当前内容,路由更新的信息对故障排除是不够的。

Debug命令并不能直接告诉你设备已知到的信息,而show命令则不能告诉路由表的变化情况。

两者的配合使用,才能全面了解正在发生的事情。

一般说来,Show命令不会影响系统的运行性能,而debug命令则会对系统性能造成影响。

因此两者的使用应遵循如下规则:

首先使用相关的多个show命令查看设备当前的运行状况,分析可能原因,缩减故障到适当范围。

然后打开某个特定的debug命令观察变化情况,以定位和排除问题。


整理:老杨丨10年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

标签:information,白混,Show,讲真,show,命令,等于,debug,路由器
From: https://blog.51cto.com/u_15281548/6699909

相关文章

  • 数据库之“语句查询字符串长度大于、小于或等于指定值”
    在MySQL中查询字符串长度使用length关键字,具体用法如下:先了解一下,Mysql中length()、char_length()的区别。length():mysql里面的length()函数是一个用来获取字符串长度的内置函数。char_length():在mysql内置函数里面查看字符串长度的还有一个函数是char_length()。这两个函数的区......
  • LeetCode/和等于目标值的质数对
    给你一个整数n,如果两个整数x和y满足下述条件,则认为二者形成一个质数对:1<=x<=y<=nx+y==nx和y都是质数请你以二维有序列表的形式返回符合题目要求的所有[xi,yi],列表需要按xi的非递减顺序排序。如果不存在符合要求的质数对,则返回一个空数组。1.埃氏筛预......
  • Python 满足列中任意两个数之和等于目标值,输出这两个数的值和所在列表的索引值
    给定一个列表为nums=[2,7,11,15],目标值target=9,找出列表中任意2数之和等于9的元素以及所在位置思路:双重遍历去一对一的比较判断1nums=[2,7,11,15,1,8,2]2target=93list_new=[]4deffind_num_indx():56foriinrange(len(nums)):......
  • mybatis在mapper.xml中怎么处理大于、小于、不等于号
    第一种方法:使用转义字符大于号>>大于等于号 >= >=小于号 < < 小于等于号 <= <=与 & &amp;双引号 " "单引号 ' &apos;例子: <iftest="beginTimeStr!=null">  andfile.created_at>='${beginTimeStr}'</if>......
  • UVA12716 GCD等于XOR GCD XOR
    UVA12716GCD等于XORGCDXOR一道数学题。 首先,我们可以知道,a-b>=gcd(a,b)=c;其次,a-b<=axorb=c;综上,可得a-b=c,即a-b=axorb.由于范围不大,直接枚举。第一层枚举c(因为c较少),第二层枚举a,(b=a-c) 再判断c是否等于a^b即可。#include<bits/stdc++.h>usingnamespacestd;......
  • 2357.使数组中所有元素都等于零
    问题描述2357.使数组中所有元素都等于零(Easy)给你一个非负整数数组nums。在一步操作中,你必须:选出一个正整数x,x需要小于或等于nums中最小的非零元素。nums中的每个正整数都减去x。返回使nums中所有元素都等于0需要的最少操作数。示例1:输入:nums=......
  • 讲真,这三道Java入门级面试题,你也不一定能搞定
    下面是一道入门级面试题,这道题基本上都是问初级的小伙伴比较多,但如果你是中级,或者高级。我觉得未必都能回答上来。说说Java语言有哪些特点尽量答出以下几个关键词:1)简单易学。Java有丰富的类库,能够通过静态方法封装,降低API的学习成本,提高工作效率。2)面向对象。这个也是Java最重要的......
  • mybatis if标签的判断是否等于1,0
    正确写法:<iftest="xxx=1">或者<iftest="xxx='1'.toString()">或者<iftest='xxx="1"'>错误写法<iftest="xxx='1'">如果判断条件是数字,则不能加单引号,否则将会不生效! 拓展:mybatis源码中,会把......
  • proto 可以等于 prototype 吗
    __proto__ 和 prototype 是不同的概念,它们不应该被混淆或等同使用。prototype 是函数对象(Function)特有的一个属性,函数对象通过它来实现对象的继承。函数对象的 prototype 属性指向一个原型对象,该原型对象在创建实例对象时会被作为实例对象的原型。而 __proto__ 则是Jav......
  • 查找大于等于左侧所有数小于等于右侧所有数
    在一个int数组里查找这样的数,它大于等于左侧所有数,小于等于右侧所有数。实现voidtest(){//intarr[]={2,5,3,6,6,9,12,7};intarr[]={2,4,3,9,6,5,7};//intarr[]={2335557};//intarr[]={1,2,3,4,5};//inta......