一句话理解

debug 是特权模式(#)下的实时排错工具,用来打印设备内部事件、报文交互过程,看协议到底发生了什么;不是查看已收集的统计,是实时抓事件。对比:show = 查看当前快照;debug = 实时跟踪动态过程
debug 消息优先级很高,debug ip packet 这种抓所有 IP 包的命令,流量大的时候会把 CPU 打满,设备卡死。真机规则:只开最小范围 debug,排完立刻关掉!

实例
enable
debug ip icmp # 跟踪ICMP(ping报文)
debug ip rip # 跟踪RIP路由协议
debug dhcp # 跟踪DHCP分配地址过程
undebug all # 关闭所有debug
no debug all # 同上关闭所有debug
show debug # 查看当前所有开启的debug项目

SSH/Telnet 远程登录,默认看不到 debug 输出!要敲:
terminal monitor

还有
debug ip icmp # ping排错,最常用
debug ip rip # RIP路由更新
debug eigrp packets # EIGRP报文交互
debug dhcp # DHCP地址申请/分配
debug arp # ARP解析过程
debug ip packet # 【高危!】所有IP数据包,真机慎用
debug vlan packet # 交换机VLAN事件(2960)
debug spanning-tree # STP生成树事件(2960交换机)

日志输出控制(全局配置)
conf t
logging console debug # 允许console输出debug级别日志(默认开启)
logging buffered 10240 # 把日志保存到设备内存缓冲区,方便事后看:show logging
logging buffered 10240:在设备内存里开辟一块10240 字节的环形缓冲区,存放系统日志(包含 debug 调试信息)内存缓冲区:设备重启之后,全部日志直接清空,不是永久保存到 flash

show logging 直接在特权模式#输入,就是看刚才存在内存缓冲区里面的日志。
show logging 输出内容解读(两大部分)
开头是配置信息:缓冲区大小、允许的日志级别
举例:
Syslog logging: enabled
Console logging: level debugging, 12 messages logged
Monitor logging: level debugging, 0 messages logged
Buffer logging: level debugging, 15 messages logged, buffer size 10240
下面就是日志正文**,会包含:普通系统日志、你打开 debug 产生的调试信息
*Mar 1:00:20.123: %LINK-3-UPDOWN: Interface FastEthernet0/1, changed state to up
*Mar 1:00:25.450: STP: sending BPDU ...

常用筛选命令(只看你关心的内容)
show logging | include debug
show logging | include STP
show logging | include ICMP

清除缓冲区旧日志(清空,从头记录)
clear logging

logging console debug 控制实时打印到 console 屏幕;
logging buffered 控制保存到内存缓存,这是两套独立开关。

  • 就算关掉 console 实时输出,只要logging buffered开着,日志依旧会存到内存,后面show logging可以回看。
    缓冲区容量 10240 很小,大量 debug 很快写满,旧日志丢失。
 posted on 2026-09-21 15:49  路边一菜贩  阅读(21)  评论(0)    收藏  举报