西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页认证考试思科认证 → Cisco NBAR技术封杀BT和电驴下载

Cisco NBAR技术封杀BT和电驴下载

相关软件相关文章发表评论 来源:百度搜索时间:2011/7/14 14:58:41字体大小:A-A+

作者:佚名点击:725次评论:1次标签: Cisco

  • 类型:网络认证大小:722KB语言:中文 评分:8.7
  • 标签:
立即下载

揭开Cisco NBAR 的神秘面纱:

NBAR (Network-Based Application Recognition) 的意思是网络应用识别。 NBAR是一种动态能在四层到七层发现协议的技术。它不同于ACL,仅仅依靠端口号进行对应用服务的判断,更加精准的是可以通过数据包本身的描述进行识别判断,该数据属于哪一种服务,可以对使用动态分配TCP/UDP端口号(如P2P下载软件)的应用程序和HTTP流量等进行分类。

实际上NBAR的应用原理在于对网络应用层面的监控,可以进行代码匹配来识别数据报的具体应用,例如FTP、WEB、BT、电驴等等。即便所应用的服务端口变化,NBAR也可以识别出来具体的服务。NBAR首先可以应用于网络监控,判断究竟在你的网内哪种服务占据着最主要的流量,以便于配合QOS来做流量的修整。

既然这么好的东东,我们怎么测试的她的能力了? 请看下文。

采用NBAR就能封杀BT和电驴的流量,为什么?关键时路由器靠什么东西,她又能发现当前传输的流量中就包含BT的流量,这得依靠一个强大特征库文件:PDLM(数据包描述语言模块),这个特征库文件,就好比是杀毒软件的病毒库,杀毒软件能识别某些文件属于恶意程序,病毒了,关键是她的病毒库--------

PDLM它是NBAR针对于网络高层应用的主要识别原理,从Cisco IOS 12.0之后引入了NBAR的概念,由于IOS的版本高低不同,较高的IOS已经内嵌支持bittorrent和eDonkey两种协议,如果您的设备目前没有能力发现BT和电驴的流量,主要是不支持这两个协议。可以在 CISCO的网站,使用CCO账号登陆,找到各种网络应用的PDLM,每个PDLM都是针对于一种服务的,它记载了关于判别一种应用服务的关键匹配代码。

作者已经下载完了,需要上传PDLM模块到路由器的flash或者nvram中

拓扑图:

第一步:上传之前的准备工作

norvel-network#dir /all
Directory of flash:/
    1  -rw-    15824768          <no date>  3600_12_3(22)(fc2).bin
33030140 bytes total (17205308 bytes free)
norvel-network#show flash all
Partition   Size    Used      Free      Bank-Size  State          Copy Mode
  1        32255K  15453K    16802K     8192K      Read/Write     Direct
System flash directory:
File  Length   Name/status
        addr      fcksum  ccksum
  1   15824768  3600_12_3(22)(fc2).bin 
        0x40      0x89AC  0x89AC
[15824832 bytes used, 17205308 available, 33030140 total]
32768K bytes of processor board System flash (Read/Write)
   Chip    Bank    Code      Size      Name
    1      1       01AD      2048KB    AMD   29F016
    2      1       01AD      2048KB    AMD   29F016
    3      1       01AD      2048KB    AMD   29F016
    4      1       01AD      2048KB    AMD   29F016
    1      2       01AD      2048KB    AMD   29F016
    2      2       01AD      2048KB    AMD   29F016
    3      2       01AD      2048KB    AMD   29F016
    4      2       01AD      2048KB    AMD   29F016
    1      3       01AD      2048KB    AMD   29F016
    2      3       01AD      2048KB    AMD   29F016
    3      3       01AD      2048KB    AMD   29F016
    4      3       01AD      2048KB    AMD   29F016
    1      4       01AD      2048KB    AMD   29F016
    2      4       01AD      2048KB    AMD   29F016
    3      4       01AD      2048KB    AMD   29F016
    4      4       01AD      2048KB    AMD   29F016
norvel-network#copy tftp flash  //采用TFTP协议,复制TFTP文件到路由器flash中
Address or name of remote host []? 192.168.10.10  //TFTP服务器的IP地址
Source filename []? bittorrent.pdlm //上传支持BT协议的PDLM,该文件要求要事先放置在TFTP的根目录下
Destination filename [bittorrent.pdlm]?  //上传后的目的文件名
Accessing tftp://192.168.10.10/bittorrent.pdlm...
Erase flash: before copying? [confirm]n  //一定要选择NO,不格式化Flash,否则PDLM是上传到Flash中了,Flash中的其他的文件都被格式化了
Loading bittorrent.pdlm from 192.168.10.10 (via Ethernet0/3): !
[OK - 3100 bytes]
Verifying checksum...  OK (0x7C83)
3100 bytes copied in 0.332 secs (9337 bytes/sec)
norvel-network#show flash //查看flash确认已经上传成功
System flash directory:
File  Length   Name/status
  1   15824768  3600_12_3(22)(fc2).bin 
  2   3100     bittorrent.pdlm 
[15827996 bytes used, 17202144 available, 33030140 total]
32768K bytes of processor board System flash (Read/Write)
按照上面的相同方法,如果您的设备flash空间已经满了,无法存放PDLM,你可以按同理
将PDLM上传到NVRAM中,PDLM文件本身都比较小,不用担心占用太多的空间
norvel-network#dir nvram:
Directory of nvram:/
   25  -rw-        3612                   <no date>  startup-config
   26  ----           5                    <no date>  private-config
    1  -rw-           0                    <no date>  ifIndex-table
    2  ----          12                    <no date>  persistent-data
30712 bytes total (24995 bytes free)
norvel-network#copy tftp nvram:
Address or name of remote host []? 192.168.10.10
Source filename []? eDonkey.pdlm   
Destination filename [eDonkey.pdlm]?
Accessing tftp://192.168.10.10/eDonkey.pdlm...
Loading eDonkey.pdlm from 192.168.10.10 (via Ethernet0/3): !
[OK - 3492 bytes]
3492 bytes copied in 9.784 secs (357 bytes/sec)
也可以上传到NVRAM中
norvel-network#dir nvram:
Directory of nvram:/
   25  -rw-        3612                   <no date>  startup-config
   26  ----           5                    <no date>  private-config
    1  -rw-           0                    <no date>  ifIndex-table
    2  ----          12                    <no date>  persistent-data
    3  -rw-        3492                  <no date>  eDonkey.pdlm
30712 bytes total (20899 bytes free)
上传完毕切记需要保存,保存到闪存中,防止无意间重启丢弃PDLM
norvel-network#write memory

第二步:通过IP NBAR命令加载PDLM模块到内存中,并使用Class-map来对流量进行分类标记,使用Policy-map对分类的流量给定丢弃的策略,并最终应用在连接Internet的接口下

//采用ip nbar 命令从flash中加载BT和电驴的模块,如果IOS已经支持这两种协议,则无需上传PDLM,也无需使用此命令
norvel-network(config)#ip nbar pdlm flash:bittorrent.pdlm
norvel-network(config)#ip nbar pdlm flash:eDonkey.pdlm
//使用Class-map对流量进行分类,Class-map的名字为BT
“match-any”匹配上其中一种流量,就执行分类
“match-all” 匹配所有流量,才分类
norvel-network(config)#class-map match-any BT
//Match 对象很多,可以ACL或者协议等
norvel-network(config-cmap)#match protocol bittorrent
norvel-network(config-cmap)#match protocol edonkey
//流量已经分类,使用Policy-map的目的是针对这些分类的流量给定一个什么样的策略。
这里先定义policy-map 的名字为Deny-BT 名称可以是任意字符
norvel-network(config)#policy-map Deny-BT
//在Policy-map中关联Class-map 的名字
norvel-network(config-pmap)#class BT
//policy-map给这些满足分类流量的策略是丢弃,你可以做做限速,可以让下载BT,但是速度限制20Kbps
norvel-network(config-pmap-c)#drop
//要使用NBAR必须启用 Cisco 快速转发
norvel-network(config)#ip cef
//在接口下要调用Policy-map 的策略
norvel-network(config)#int e0/2
//开启接口下NBAR发现协议的功能
norvel-network(config-if)#ip nbar protocol-discovery
//把策略应用E0/2的出方向
norvel-network(config-if)#service-policy output  Deny-BT

第三步:在路由器上检查配置

        Show class-map

        Show Policy-map

        Show policy-map interface e0/2

norvel-network#sh class-map
 Class Map match-any BT (id 2)
   Match protocol bittorrent
   Match protocol edonkey
 Class Map match-any class-default (id 0)
   Match any
norvel-network#show policy-map
  Policy Map Deny-BT
    Class BT
      drop
norvel-network#show policy-map int e0/2
 Ethernet0/2
  Service-policy input: Deny-BT
    Class-map: BT (match-any)
      0 packets, 0 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: protocol bittorrent
        0 packets, 0 bytes
        5 minute rate 0 bps
      Match: protocol edonkey
        0 packets, 0 bytes
        5 minute rate 0 bps
      drop
    Class-map: class-default (match-any)
      8133 packets, 7734590 bytes
      5 minute offered rate 182000 bps, drop rate 0 bps
      Match: any
  Service-policy output: Deny-BT
    Class-map: BT (match-any)
      0 packets, 0 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: protocol bittorrent
        0 packets, 0 bytes
        5 minute rate 0 bps
      Match: protocol edonkey
        0 packets, 0 bytes
        5 minute rate 0 bps
      drop
    Class-map: class-default (match-any)
      13273 packets, 871872 bytes
      5 minute offered rate 31000 bps, drop rate 0 bps
      Match: any

第四步: 安装BT和电驴测试 NBAR的效果,软件安装就不多说了,下一步就可以,这些软件的安装包中,都捆版了很多广告软件,安装时请谨慎选择。

第五步:找到下载好的BT种子,记好了,一定要是BT种子文件,这是产生的下载流量才可以被PDLM所识别,如果是HTTP下载,无法触发Bittorrent的流量

第六步:验证效果,如果不在E0/2下,调用Policy-map策略,开启BT下载,可以看到该接口发现了很多BT的流量,BT流量非常疯狂

norvel-network#sh ip nbar protocol-discovery int e0/2
 Ethernet0/2
                            Input                    Output                 
   Protocol                 Packet Count             Packet Count           
                            Byte Count               Byte Count             
                            5 minute bit rate (bps)  5 minute bit rate (bps)
   ------------------------ ------------------------ ------------------------
   http                     33963                    24384                  
                            33559299                 6041847                
                            292000                   67000                  
   bittorrent               4326                     7868                   
                            2204807                  3092548                
                            46000                    5500

 第七步:接口下调用Policy-map 策略,检查接口Drop包的数量,5分钟内丢弃了10000

norvel-network#sh policy-map int e0/2
 Ethernet0/2
  Service-policy output: Deny-BT
    Class-map: BT (match-all)
      1290 packets, 150864 bytes
      5 minute offered rate 10000 bps, drop rate 10000 bps
      Match: protocol bittorrent
      drop
    Class-map: class-default (match-any)
      27006 packets, 5211833 bytes
      5 minute offered rate 97000 bps, drop rate 0 bps
      Match: any

第八步:为了更好的看一下 丢弃的效果,我们暂时把接口下的策略取消掉,来观察BT的下载速度是否在“猛涨”

norvel-network(config)#policy-map Deny-BT
norvel-network(config-pmap)#class BT
norvel-network(config-pmap-c)#no drop

关闭丢弃的策略,BT的下载速度开始上涨了,

你可以多观察几分钟,只要你的带宽够大,种子资源够活跃,这“变态下载”速度会越来越快。

第九步:启用NBAR策略,封杀BT的流量,我们观察BT下载速度,在一分一秒的降低,几分钟之后的0KB/S,而且一直这样持续。

说明NBAR封杀BT的流量,现象成功了

norvel-network(config)#policy-map Deny-BT
norvel-network(config-pmap)#class BT
norvel-network(config-pmap-c)#drop

而且下载速度哪里一直保持的是0KB/S

下载的流量经过路由器是全被丢弃了。

norvel-network#sh policy-map int e0/2
 Ethernet0/2
  Service-policy input: Deny-BT
    Class-map: BT (match-all)
      8448 packets, 3672204 bytes
      5 minute offered rate 26000 bps, drop rate 27000 bps

      Match: protocol bittorrent
      drop

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    第 1 楼 浙江杭州铁通 网友 客人 发表于: 2012/11/1 22:59:41
    奶奶的,思科的这套系统要是被中国电信用上了,咱们这些用户就遭殃了。

    支持( 0 ) 盖楼(回复)

    发表评论 查看所有评论(1)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)