session 1 NBRA
标记和分类使用内置工具NBAR更好的实现针对高层协议的挑选。
NBAR (Network-Based Application Recognition) 网络基础应用识别。 NBAR是一种动态能在四层到七层发现协议的技术。该工具可以让转发设备查看数据包的负载,也就是Data的内容从而识别高层应用的。如ACL、route-map等,只能识别L4层以下的协议。
NBAR要启用必须要求开启CEF功能,因为该工具模块是基于CEF工作的。
NBAR的缺点:
1. 对加密流量无效。
2. 不支持非tcp/ip
栈以外的其他协议。
3. 对始发于路由器
的流量无效。
NBAR可以识别应用层流量,也就意味着可以提取出一些动态变化的流量。比如说P2P流量、IM通讯流量等。NBAR是cisco的一个用来识别网络应用的工具,内置在cisco的路由器内。它可以识别多种应用协议,主要用于QOS中对流量进行提取(match)。NBAR是依靠内置的应用程序关键字对比数据包中数据部分来判断数据包属于哪种应用程序(类似杀软识别病毒),当NBAR的识别库使用PDLM来更新应用识别库。
PDLM:数据包
描述语言模块(PDLM)从路由器
的闪存里加载,用于在不使用新的Cisco IOS软件,或重启路由器的情况下对新的协议或应用程序进行识别。在cisco官方网站可以下载。
目前Cisco网站提供的P2P Protocol的PDLM模块有:Bittorrent,eDonkey,WinMX,Kazza2,FastTrack,Napster等等!
用法也比较简单,直接用TFTP把Bittorrent.pdlm,eDonkey.pdlm下载到路由器的FLASH卡上:
copy tftp://172.17.17.243/Bittorrent.pdlm flash://Bittorrent.pdlm
然后全局上加载一下PDLM后NBAR就可以识别Bittorrent这个协议了:
ip nbar pdlm flash://Bittorrent.pdlm
查看NBAR支持的协议:
R1(config)#class-map match-all
bnar
R1(config-cmap)#match protocol ? 使用NBAR内置的协议识别抓取高层协议数据
1、例如需要抓取http流量
R1(config-cmap)#match protocol http ?
c-header-field Client general Header Field
host Server Host Name
mime Match MIME Type
s-header-field Server general Header Field
url Match URL String
2、例如需要丢弃访问sina.com网图片格式文件的所有流量(因为class-map是match-all的与模式)
第一步使用NBAR来抓取这些流量
R1(config)#Class-map match-all xk
R1(config-cmap)#match protocol http url " www.sina.com"
R1(config-cmap)#match protocol http mime "*.jpg|jpeg|gif|bmp|png"
R1(config-cmap)#exit
但是假如该网站的http的端口号不是默认的80而是8080,那么也需要在NBAR上做相应的映射才能抓取生效:
R1(config)#ip nbar port-map http tcp 80 8080 在NBAR中将http协议的80端口映射到8080端口
做完
第二步使用QOS策略做控制
R1(config)#policy-map deny-sian_*jpg
R1(config-pmap)#class xk 对class-map xk生效的策略
R1(config-pmap-c)#drop 丢弃
第三步在接口入向(因为是内网流量进入接口转发出去)使用QOS策略
R1(config)#interface f0/0
R1(config-if)#service-policy input deny-sian_*jpg 在接口的input方向调用策略
在NBAR中还可以进行接口的流量统计,cisco默认是以5分钟作为统计时间间隔显示的
R1(config)#interface f0/0
R1(config-if)#ip nbar protocol-discovery 在接口下开启统计
R1#show ip nbar protocol-discovery 查看接口流量统计数据
session 2 使用NBAR来监控流量
可以使用NBAR的统计功能来统计所有流量的状况,前提是NBAR的PDLM模块可以识别该种流量。使用方法配置如下:
1、在接口上开启NBAR流量统计
R1(config)#interface s0/0
R1(config-if)#ip nbar protocol-discovery 在s0/0接口开启NBAR的统计功能
R1(config-if)#exit
2、查看NBAR的统计情况,这里以ping的icmp流量举例作为测试
R1#ping 192.168.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/4/20 ms
R1#show ip nbar protocol-discovery
Serial0/0
Input Output
----- ------
Protocol Packet Count Packet Count
Byte Count Byte Count
5min Bit Rate (bps) 5min Bit Rate (bps)
5min Max Bit Rate (bps) 5min Max Bit Rate (bps)
------------------------ ------------------------ ------------------------
icmp 20 10 看到了icmp的in和out的流量统计情况,以5min为时间单位
2080 1040
1000 0
1000 0
bgp 0 0
0 0
0 0
0 0
citrix 0 0
0 0
0 0
0 0
cuseeme 0 0
0 0