思科路由show processes cpu看不出来哪些进程占用CPU高,但CPU使用率却是99%,请高手指点。

思科路由show processes cpu看不出来哪些进程占用CPU高,但CPU使用率却是99%,请高手指点。,第1张

你的路由可能被攻击了,最好把路由器恢复到出厂设置,在重新设置下,另外就是检查下端口,对端口进行监控,观察一段时间看下
你看下show processes cpu | exclude 000%
然后看看那个线程CPU usage会比较高
不知道有没有loop
检测下有没有环路
再就是用排除法来分析了
把端口逐个断开,观察cpu利用率,很快就能找出故障的端口。或者进一步用排除发找出网络分支上的故障点。
1、判断故障原因
原理上,是在路由器上创建一个permit ip any any的access-list(访问列表),然后,把这个acl应用到故障端口上,打开ip包的debug,分析故障原因。例子如下:
11创建一个access-list ,允许ip包通过
route(config)# access-list 120 permit ip any any
12把此acl应用的故障端口上
route((config-if)#ip access-group 120 in
这样做的目的是因为,下面要打开debug,就是要根据这个acl,来抓通过这个端口的包。
13打开debug进行抓包
route#debug ip packet 120
debug应该在console上进行
14停止debug
route#no debug all
注意debug可能会把路由器冲死,所以应该尽快停止。
15分析抓到的包
抓到的包,可以分析出原地址,目的地址,源端口,目的端口,用于判断故障的根源。
当然,有时遇到攻击软件,会用IP欺骗的方式进行攻击,例如下面看到的抓包信息
2:54:56: IP:
s=18093127229 (FastEthernet0/0), d=1931517376 (FastEthernet0
1), g=2111387497, len 40, forward
2:54:56: TCP src=1232, dst=80, seq=1632305152, ack=0, win=16384 SYN
2:54:56: IP: s=18093128205 (FastEthernet0/0), d=1931517376 (FastEthernet0
1), g=2111387497, len 40, forward
2:54:56: TCP src=1839, dst=80, seq=1144193024, ack=0, win=16384 SYN
2:54:56: IP: s=18093129212 (FastEthernet0/0), d=1931517376 (FastEthernet0
1), g=2111387497, len 40, forward
2:54:56: TCP src=1116, dst=80, seq=1918435328, ack=0, win=16384 SYN
2:54:56: IP: s=18093130223 (FastEthernet0/0), d=1931517376 (FastEthernet0
1), g=2111387497, len 40, forward
2:54:56: TCP src=1302, dst=80, seq=1559429120, ack=0, win=16384 SYN
上面这个例子可以看出,攻击行为用虚拟源地址180xxx想目的地址1921517376发包,这些包都被发到了网关,也就是路由器的FastEthernet0/0。
2、解决方法
首先,当然应该先找到罪魁祸首,如果在路由器上debug不是很清晰能找出故障源,就用sniffer或者ethereal这样的抓包工具找出那台机器。
另外,在路由器上,也可以针对攻击的特性,做访问列表,关闭相关的端口。
下面是在路由器上一个典型的acl
! --- 禁止ICMP协议
access-list 115 deny icmp any any echo
access-list 115 deny icmp any any echo-reply
! --- 禁止冲击波135端口的数据包
access-list 115 deny tcp any any eq 135
access-list 115 deny udp any any eq 135
access-list 115 deny udp any any eq 4444
! --- 禁止TFTP应用的端口的数据包
access-list 115 deny udp any any eq 69
! --- 禁止其他微软的有漏洞的协议端口
access-list 115 deny udp any any eq 137
access-list115denyudpanyanyeq138
access-list115denytcpanyanyeq139
access-list115denyudpanyanyeq139
access-list115denytcpanyanyeq445
access-list115denytcpanyanyeq593
! --- 允许其他的IP包通过路由器端口
access-list 115 permit ip any any
! --- 把以上的访问列表应用的端口上
interface
ip access-group 115 in
ip access-group 115 out
另外还有和你一样有故障的人的结局方法:你可以参考下
1 IP
NAT导致路由器cpu利用率高的情况比较常见,查了nat表 发现我的静态映射条目只有5个不算多 这个应该不需要考虑
2
在inside、outside端口增加no ip redirect和no ip
direct-broadcast等语句以减少cpu处理的数据包,这个是非常重要的一步,很多时候,路由器死机就是因为没有做这一步防范
3
启用了service tcp-keepalive-in功能和scheduler process-watchdog
terminat功能,开启了看门狗进程,检查已经建立的tcp连接,如果发生不激活或者长时间挂起的情况,立刻中断这个连接。个人认为只对路由器自身发
起的链接有效,
4 使用no ip source-route命令关于对于源ip地址的路由检查,这个避免了不必要的资源占用
5
关闭一些不需要的服务 比如 no ip finger ,no service tcp-small-servers,no service
udp-small-servers等等
6 关闭对直接广播的转发 no ip direct-broadcast
这样可以防治路由器对一些大量的广播包进行应答
7 关闭了路由器的>这个很明显是arp欺骗,
解决办法
1、在你上不去的电脑上arp -a一下,看看获取到的MAC和IP和网关mac和ip是否一致!
2、如果不一致,检查网络里面是否有这个MAC-IP的路由设备,或者通过抓包找出发起arp攻击的IP
3、通过一些arp检查工具查找攻击源,找出后重做系统(发arp的机器未必是上不去网的哦)
我个人认为掉线问题都是由于底层漏洞出的问题 例如(arp\udp\tcp syn)攻击。一些传统的360卫士、arp防火墙,杀毒软件我都试过了也都不行。
最后我是通过免疫网络彻底的解决了网络底层问题,这东西网上有很多,但好像只有一个叫巡路的在做,而且还有免费的。建议楼主自己找找。

看你的描述,你应该通过抓包,看到了一些数据包的信息。如果单纯是 控制广播的话可以通过以下方式进行控制
storm-control action
shutdown或trap //当检测到风暴之后对端口处理的方式是err-disable 关闭端口还是产生一条日志
storm-control broadcast level [开始抑制的百分比] [重新使用的百分比] //当广播数据流量达到该端口百分多少时认为是storm
storm-control
broadcast level bps [开始抑制的带宽值] [重新使用的带宽值] //
当广播数据流量达到多少bps(即达到多少带宽)时认为是storm
storm-control
broadcast level pps [开始抑制的每秒报文数] [重新使用的每秒报文数] //
当广播数据流量达到多少pps(即每秒多少个数据包)时认为是storm
重新使用的参数值可以不配置,如果不配置两个的值一致。 三个控制选项使用其中一个就可以。
配置示例:
interface GigabitEthernet0/1
storm-control broadcast level 2000 1000 //当广播流量达到端口流量的20%关闭端口,10%开启端口
storm-controlaction shutdown
通过show storm-control broadcast查看接口广播控制状态
SW#show storm-control broadcast
Interface FilterState Upper Lower Current
--------- ------------- ----------- ----------- ----------
Gi0/1 Forwarding 2000% 1000% 000%
还有一种方式是通过acl进行过滤,根据抓到的数据包分析其特性,比如源和目的IP地址端口等等,编写acl或者mac acl 然后在相应的接口in方向绑定列表,禁止相应ip或者端口发送数据。
例如禁止10111 的 4000端口对外访问
access-list 101 deny tcp 10111 4000 any
access-list 101 permit ip 10111 any
然后将列表绑定在相应的接口上面接口。
通过广播控制可以有效的控制交换机接收到的广播包,但一般来说,出现大量广播你应该查看一下相应ip或者主机是否存在问题。解决主机的问题才是根本。

1最好有拓扑图
2从你的描述来推断我觉得你这个网络的STP不断被攻击,不能收敛。所以除了BPDU能通过外没有其他数据能通过。
3如果你用的设备是思科你可以配置BPDU filter或者guard这两个技术。其他品牌应该也有类似技术。

在cisco路由器上设置TELNET的命令的 *** 作方法和步骤如下:
1、第一步,在思科软件中放置两个路由器。
然后在路由器下方输入名称和IP地址,如下图所示,然后进入下一步。
2、其次,完成上述步骤后,进入路由器R1的“CLI”窗口。
在“f0 / 0”接口上配置R1 IP地址,如下图所示,然后进入下一步。
3、接着,完成上述步骤后,进入“line”模式并配置密码。 然后使用login命令来调用“启动”密码,如下图所示,然后进入下一步。
4、然后,完成上述步骤后,在R2路由器中,配置IP地址。随后,使用“Telnet”命令测试两个路由器的连通性,如下图所示,然后进入下一步。
5、随后,完成上述步骤后,在R2中为R1配置静态主机名,具体的命令代码如下图红框标注所示,然后进入下一步。
6、最后,完成上述步骤后,就可以在R2中进行“远程登录”和“ping”测试了,如下图所示。这样,问题就解决了。
第一种:telnet 119975128
这是一个公网上的ip,一般是不会启用telnet这个协议的,因为telnet在传播的时候都是明文,也就是说当中如果有人用抓包软件,就可以直接知道你的用户名和密码,所以“不能打开到主机的连接, 在端口 23: 连接失败”是因为路由器上没有对外启用这个协议
第二种:在网吧的时候试着登录网吧的路由器提示的是什么没有权限。
是说明这台路由器已经开放了这个端口,但是禁止其他人远程连接而已。例如:
access-list 101 permit tcp host 192168010 host 1921680254 eq 23
access-list 101 deny tcp any host 1921680254 eq 23
第一个语句的意思就是只允许192168010这一个ip可以telnet到路由器1921680254
第二个语句是拒绝所用ip地址telnet到这台路由器1921680254这个ip
这个就是没有权限的原因了;另外telnet的端口为tcp的23号端口

如果可以断网 直接把总线接到笔记本上面,看看有没有丢包
有的话呢 检测 光转换器 先重新启动下,一般来说光纤熔点没有熔接好,光转换器老化,或者光信号不好都会导致这个问题。 所以如果重启不成直接插笔记本还严重丢包的话 就让你的isp来测试下线路
如果不丢包,你可以做一个镜像端口 然后用抓包工具抓包 一般来说 流量最大的几个都看看,最好你抓包的机器上在安装一个防火墙,看看有没有机器发广播,或者arp


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12956691.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存