科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道BPDU协议分析-sniffer应用系列

BPDU协议分析-sniffer应用系列

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

现代交换网络环境中,为了防止发生交换环路引起广播风暴等问题,常采用STP技术。首先我们在交换机上配置命令no spanning-tree vlan 1关闭VLAN 1的生成树协议的运行,之后用命令检查、确认生成树协议被关闭。

作者:51cto 2008年4月14日

关键字: 嗅探 网络嗅探 Sniffer 端口扫描

  • 评论
  • 分享微博
  • 分享邮件

  2.1 BPDU协议概述

  现代交换网络环境中,为了防止发生交换环路引起广播风暴等问题,常采用STP(Spanning Tree Prtocol,生成树协议)技术。STP利用BPDU(Bridge Protocol Data Unit,网桥协议数据单元)中三个字段:路径开销、网桥ID、端口优先级/端口ID来确定到根桥的最佳路径顺序,从而决定一个生成树实例。

  2.2 BPDU包结构

  BPDU协议的包结构如下图所示:

  

  

  

  图1  BPDU包结构

  首先是以太网帧头,包括DLC头部、LLC头部,接下来是BPDU字段,最后是为了补齐60字节边界用的DLC填充(Padding)8字节(注意,BPDU帧也经常被封装在802.1Q头部后)。

  其中的BPDU协议包结构如图2所示。

  

  

  

  图2  BPDU包格式

  2.3 BPDU协议sniffer分析

  2.3.1 BPDU协议sniffer分析

  图3是sniffer捕获到到的Catalyst WS-C2924-XL输出BPDU包头部。

  

  

  

  图3  BPDU帧格式

  在图中,应该注意到以下一些重要信息:

  ●BPDU采用的是多播目标MAC地址:01-80-c2-00-00-00(Bridge_group_addr:网桥组多播地址)

  ●DLC后面所跟的802.3帧的总长度为38字节,是指除了DLC头、尾之外的所有内容的长度

  接下来是BPDU头部,如图4所示:

  

  

  

  图4  BPDU头部

  其中:应该注意到以下一些重要信息:

  ●协议标识符和协议版本都是固定的0。

  ●BPDU类型表明是一个配置BPDU

  ●BPDU标志字段表明这既不是一个拓扑变更帧也不是一个拓扑变更确认帧

  随后是根网桥标识,其中:

  ●优先级是0x8000,即10进制的32768(默认值)

  ●MAC基地址:00:04:28:d2:09:00

  随后是根网桥代价:0(表示本交换机就是根网桥)

  随后是发送网桥ID,其中:

  ●优先级是0x8000,即10进制的32768(默认值)

  ●MAC基地址:00:04:28:d2:09:00

  ●端口:发送此BPDU的交换机端口

  最后是一些定时器的值:

  ●消息年龄:当前为0

  ●消息寿命:20秒(默认值)

  ●根hello时间:2秒(发送BPDU的时间间隔)

  ●转发延迟:15秒(交换机端口处于侦听、学习状态的时间)

  2.3.2 利用sniffer捕获广播风暴

  正常情况下在一个中、小型交换网络中,一般会几秒钟产生1个广播包。但是,当环路产生时,几秒内产生数万个包(峰值可达到8万多次广播/秒),我们将其称为广播风暴。

  下面,我们模拟一次广播风暴(请不要在生产网络进行这样的试验)!

  如图5所示,首先我们在交换机上配置命令no spanning-tree vlan 1关闭VLAN 1的生成树协议的运行,之后用命令检查、确认生成树协议被关闭。

  

  

  

  图5  关闭生成树协议

  然后,我们利用交叉线序的双绞线将交换机的fastethernet 0/1和fastethernet 0/2端口短接。几乎是同时,sniffer产生大量的报警(如果定制了声音报警,将听到连续不断的警报声)!图6显示了在sniffer的警报日志中产生的大量广播风暴的告警。(在图5中的黄色部分则显示了交换机的端口Fastethernet 0/7地址学习平均1分钟翻动(flapping)了519次!)

  

  

  

  图6  广播风暴警报日志

  我们也可以利用sniffer监控菜单下的历史样本观察到广播风暴。首先需要定义监控过滤器,选择地址类型为硬件、地址为广播(FF-FF-FF-FF-FF-FF)到任意地址,如图7所示。

  

  

  

  图7  定义监控过滤器

  之后,选择监控菜单下的设置历史样本,右击广播/秒(Broadcasts/s),开始取样。如图8所示。

  

  

  

  这样,当广播风暴产生时,我们可以观察到异常的广播包峰值,如图9所示。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章