针对CDP协议攻击分析及安全防护
熟悉Cisco的朋友都知道CDP协议是思科公司独特的发现协议,在思科公司出产的所有路由器和交换机里面都能运行此协议,一台运行C D P的路由器或交换机能够得知与它直接相连的邻居端口和主机名信息。也可以得知一些附加信息如:邻居的硬件模式号码及其性能。这样通过CDP的我们能得到相关联的路由器名、路由器端口信息、IOS版本信息、 IOS平台信息、硬件版本信息,以及相关的链路信息从而描述出整个网络的拓扑情况。这时候黑客就会利用CDP欺骗攻击会让网络管理员措手不及。有下面给大家说明两种目标可能遭到CDP欺骗攻击,及应对办法。
一、两种CDP欺骗类型
(1)针对中央管理软件,各种高端网管软件Cisco works 、IBM Tivoli 、HP open view,都依赖CDP完成Cisco主机发现。如果发送伪造的CDP帧,声称在网络上新出现了一台Cisco设备,那么管理软件将试图通过SNMP与其联系,此时就有机会捕获所使用的SNMPCommunity name string ,这样很可能是网络中其他Cisco设备所使用的名称,而且很可能会导致这些设备遭到攻击。此外,CDP欺骗还可用于恶作剧,分散网络管理员的注意力。
(2)第二个目标就是Cisco IP 电话Cisco ip电话打开后,就会和相连的交换机开始交换CDP数据,,相互识别,交换机利用CDP通知电话,让它知道语音流量将使用那个VLAN,不难发现,这里有机会实施欺骗攻击,例如注入CDP帧。这样会为电话分配一个错误的VLAN。这些手动伪造的CDP帧是如何制造出来的呢?主要有两种工具可定制伪造CDP帧。下面让我们先看看Linux平台下的CDP工具程序。
1 .Yersinia工具
Yersinia 是执行第二层攻击的一个工具,帮助黑箱测试者在他的日常工作中检查2层协议配置的可靠性。Yersinia
能够操作第二层网络协议和允许攻击者阻挡交换机通过注入伪生成树协议,DHCP, VLAN 中继协议和其他信息到网络中。
1.      
安装:
tar zxvf yersinia-0.7.tar.gz
./configure;make;make install

以GUI界面启动Yersinia输入“Yersinia –G”;以字符界面启动输入“Yersinia –I”

650) this.width=650;" onclick='window.open("http://blog.51cto.com/viewpic.php?refimg=" + this.src)' src="../attachment/200901/200901041231074325094.jpg" border="0" alt="" />
二、防御措施
运行CDP的交换机/路由器定时广播带有CDP更新数据的报文,用cdp timer命令决定CDP更新数据间隔,缺省值为60秒,而且CDP默认已启用。
我们在一台Cisco
Catalyst 2924交换机上对CDP数据包的诊断输出信息。可以看到,交换机在每个活动接口发送CDP数据包。
SW#debug cdp packet
03:36:26 CDP-PA Packet received form R1 on
interface FastEthernet0/5
03:36:26 **Entry found in cache**
03:36:30 CDP-PA version 2packet sent out on
FastEthernet 0/1
03:36:30 CDP-PA version 2packet sent out on
FastEthernet 0/2
03:36:30 CDP-PA version 2packet sent out on
FastEthernet 0/3
03:36:30 CDP-PA version 2packet sent out on
FastEthernet 0/4
我们如何关闭CDP协议呢?
需要在交换机/路由器的全局模式下用no cdp enable
如果是Cisco CatOS则使用set cdp disable来禁用CDP。

针对CDP协议攻击分析及安全防护的更多相关文章

  1. DDOS的攻击原理和如何防护网站和游戏恶意攻击

    DDOS的攻击原理和如何防护网站和游戏恶意攻击                 1-DDOS全名是Distribution Denial of Service (分布式拒绝服务攻击),很多DOS攻击源 ...

  2. ddos攻击和cc攻击的区别和防护!!

    什么是DDoS攻击? DDoS攻击就是分布式的拒绝服务攻击,DDoS攻击手段是在传统的DoS攻击基础之上产生的一类攻击方式.单一的DoS攻击一般是采用一对一方式的,随着计算机与网络技术的发展,DoS攻 ...

  3. 协议形式化分析Scyther 资料整理

    1.性能分析 目前来说形式化的分析已经成为安全协议的一种很流行的方法,但是每种工具都用其不同适合的协议,Scyther软件是一种形式化分析工具,极大的促进了协议的分析和设计,scyther工具在运行界 ...

  4. Android IOS WebRTC 音视频开发总结(八十六)-- WebRTC中RTP/RTCP协议实现分析

    本文主要介绍WebRTC中的RTP/RTCP协议,作者:weizhenwei ,文章最早发表在编风网,微信ID:befoio 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID ...

  5. 基于byte[]的HTTP协议头分析代码

    smark 专注于高并发网络和大型网站架规划设计,提供.NET平台下高吞吐的网络通讯应用技术咨询和支持 基于byte[]的HTTP协议头分析代码 最近需要为组件实现一个HTTP的扩展包,所以简单地实现 ...

  6. 服务器被ddos攻击?分析如何防止DDOS攻击?

    上周知名博主阮一峰的博客被DDOS攻击,导致网站无法访问而被迫迁移服务器的事情,引起了广大网友的关注及愤慨,包括小编的个人博客也曾接受过DDOS的“洗礼”,对此感同身受.所以,本文我们一起来了解下DD ...

  7. OAuth认证协议原理分析及同步消息到Twitter和Facebook使用方法

    OAuth有什么用?为什么要使用OAuth? twitter或豆瓣用户一定会发现,有时候,在别的网站,点登录后转到 twitter登录,之后转回原网站,你会发现你已经登录此网站了,这种网站就是这个效果 ...

  8. TCP/IP网络协议攻击

    kali视频学习请看 http://www.cnblogs.com/lidong20179210/p/8909569.html 这部分涉及: ARP缓存欺骗攻击 ICMP重定向攻击 SYN FLOOD ...

  9. 《图解HTTP》阅读笔记--第十一章针对web的攻击技术

    第十一章.针对WEB的攻击技术 ----<图解HTTP>阅读笔记攻击目标---Web简单的HTTP协议本身并不存在安全性 问题,协议本身并不会成为被攻击的对象,应用HTTP的服务器和客户端 ...

随机推荐

  1. CSS W3SCHOOLS

    https://www.w3schools.com/csS/css3_buttons.asp

  2. exsi的虚拟机加载U盘

    1. 添加usb控制器: 2.添加设备

  3. Laravel核心解读--HTTP内核

    Http Kernel Http Kernel是Laravel中用来串联框架的各个核心组件来网络请求的,简单的说只要是通过public/index.php来启动框架的都会用到Http Kernel,而 ...

  4. 紫书 例题 10-23 UVa 10213(欧拉公式+高精度)

    用欧拉公式V-E+F=2 V是顶点数,E是边数,F是面数 具体推导见https://blog.csdn.net/QWsin/article/details/53635397 要用高精度 #includ ...

  5. 05-数据类型转换(bool类型)

  6. MyBatis学习总结(10)——批量操作

    一.mybatis中的批量操作    批量操作核心就是一次传入多个数据然后进行相关操作,增删改查中掌握其中一个其他的也不成问题 1.最新在做的短信平台,要批量插入群发的短信记录: 当然批量操作还有:批 ...

  7. 洛谷 P1293 班级聚会

    P1293 班级聚会 题目描述 毕业25年以后,我们的主人公开始准备同学聚会.打了无数电话后他终于搞到了所有同学的地址.他们有些人仍在本城市,但大多数人分散在其他的城市.不过,他发现一个巧合,所有地址 ...

  8. cocos2d-js导弹跟踪算法(一边追着目标移动一边旋转角度)

    跟踪导弹 function(targetPosition){ // 让物体朝目标移动的方法 ; var targetPoint = targetPosition; var thisPoint = cc ...

  9. Android活动状态和生存期

    活动状态 1.运行状态(顶层的活动) 2.暂停状态(非顶层的,可见的活动) 3.停止状态(非顶层的,不可见的活动) 4.销毁状态(保证手机的内存充足) 活动的生存期 完整的生存期 onCreate活动 ...

  10. Quart 学习

    quartz版本使用2.2.1 梳理一下其中的流程,可以表示为: 0.调度器线程run() 1.获取待触发trigger 1.1数据库LOCKS表TRIGGER_ACCESS行加锁 1.2读取JobD ...