|
前面文章《精准过滤:构造不同场景的规则语句》中,我们介绍了科来DPI的语法规则,其语法灵活、语句简单,能实现不同过滤规则的组合,也讲解了不少场景示例。但我们讲解都是基于CSNAS的数据包视图来作讲解,而CSNAS除了数据包视图外,还有端点视图、会话视图、日志视图等等。今天起,我们将用一系列的篇章,为大家详细介绍科来DPI在CSNAS各种分析视图中的应用。网络端点是网络通讯中的重要组成部分,是网络通讯的两端,CSNAS将网络端点分为物理端点(以MAC地址为标记)和IP端点(以IP地址为标记)。通过网络端点统计分析功能,用户可以快速找定位通讯量最大的IP端点和物理端点。通过这些信息,我们可以确定网络中是否存在广播/组播风暴,能排查网络速度慢、网络时断时续、蠕虫病毒攻击、DOS攻击、以及用户无法上网等网络故障。IP端点视图按流量、数据包数、发送流量、接收流量、发送数据包数、接收数据包数等多种参数统计和分析网络中IP端点的通讯情况,通过这些统计指标我们可以详细了解到网络中IP地址的通讯状态,如下图:IP端点视图一共有20多种数据统计信息,可以直接通过上方的统计指标名称进行查看和排名,为了更方便我们查看,视图中也有DPI过滤语句输入栏供我们进行端点数据过滤。需要注意的是,不同于数据包的过滤,端点视图的数据源被限制为了“endpoint”类型,也就是只支持端点视图的统计数据(目的是找出满足过滤条件的端点,对端点进行分析,而不是过滤出某一类数据包)。下面我们就详细介绍科来DPI在IP端点视图中的应用。(1) 在端点视图中,所有的规则语句都是以“endpoint”开头(即规则语句的数据源固定为endpoint),如图中绿色部分;(2)“.”后面为字段数据源(IP端点视图中的统计参数),也是最关键的部分,指明需要过滤哪一种端点统计参数,如图中金黄色部分;(3)第二个“.”后是成员函数(成员函数是非必须的),如图中蓝色部分;在IP端点视图中初次使用科来DPI,推荐大家还是先点击帮助按钮,如下图:
直接进行点选想过滤的统计字段就行,下图是对字段数据源的说明:从上图中可以看到:endpoint“.”后面的字段数据源其实就是IP端点视图中统计指标的英文名。在选择好具体的指标数据源后,就可以指定关系运算符进行赋值或运算,也可以在后面跟成员函数(如find()函数)。举例如下:
具体支持过滤的统计字段如下表: 字段名 | 说明 | endpoint.alias | 地址别名 | endpoint.broadcastbytes | 广播字节 | endpoint.broadcastpackets | 广播数据包 | endpoint.bytes | 字节 | endpoint.device | 设备 | endpoint.ep | 端点 | endpoint.internalbytes | 组内字书 | endpoint.internalpackets | 组内数据包 | endpoint.ip | IP地址 | endpoint.ipcount | lP会话 | endpoint.location | 地理位置 | endpoint.multicastbytes | 组播字节 | endpoint.multicastpackets | 组播数据包 | endpoint.packets | 数据包 | endpoint.recvbytes | 接收字节 | endpoint.recvpackets | 接收数据包 | endpoint.sentbytes | 发送字节 | endpoint.sentpackets | 发送数据包 | endpoint.tcpcount | TCP会话 | endpoint.tcpfinrecv | TCP结束连接接收 | endpoint.tcpfinsent | TCP结束连接发送 | endpoint.tcprstrecv | TCP复位接收 | endpoint.tcprstsent | TCP复位发送 | endpoint.tcpsynackrecv | TCP同步确认接收 | endpoint.tcpsynacksent | TCP同步确认发送 | endpoint.tcpsynrecv | TCP同步接收 | endpoint.tcpsynsent | TCP同步发送 | endpoint.udpcount | UDP会话 |
如果记不住字段名没有关系,在科来DPI中输入endpoint.后会自动进行字段联想,如下图:
记不住字段的英文意思也没关系,点击帮助按钮,里面都有详细说明。说明:在CSNAS_15.2.0版本中,为更加方便客户使用,降低复杂程度。在端点视图的DPI过滤语句输入栏中已经不需要指定数据源“endpoint”,直接写字段数据源就能进行过滤,如下:
例1:过去1分钟网络带宽占用率偏高,找出产生10M以上流量的端点。规则语句:endpoint.bytes>10000000(或endpoint.bytes>10m)endpoint.bytes>10000000,(该字段默认单位为字节),过滤效果如下图:
或endpoint.bytes>10m,(写为m,代表单位为“兆”),过滤效果如下图:例2:列出所有地理位置为“成都”的端点的统计数据。规则语句:endpoint.location.find(‘成都’)说明:在应用字段数据源时,大家需注意该字段的类型,如下图:显示location字段的值应该是一个字符串,此时如果用“=”,则代表精确匹配,必须和统计数据中的值完全一致才会匹配中,如下图中的地理位置信息:就必须写为endpoint.location=‘中国,四川,成都,移动’才能匹配中,否则显示结果为空。为了实现“成都”这个条件的匹配,而不用管成都属于哪一个省,是哪一个运营商,此时我们应使用成员函数find()实现模糊匹配,只要地理位置中包含“成都”两字,就能匹配中!效果如下:例3:过滤出在指定时间内产生超过1000个IP会话的端点网络层DOS攻击、IP扫描、蠕虫等,攻击者都会在短时间内产生大量的IP会话数。因此,可以通过对短时间内产生大量会话数的端点进行过滤,再进一步分析原因(这里只作过滤,不再做后续分析)。过滤语句:endpoint.ipcount>1000抓包时长为5秒,在5秒时间内IP会话数超过1000的端点如下图:通过过滤,发现IP 192.168.219.128在5秒内产生了5004个会话。说明:CSNAS将两个IP端点之间的通信,只统计为一条IP会话(例如IP A和IP B建立了多条TCP会话,但只统计为1条IP会话)。广播风暴经常在短时间内占满我们的带宽,我们需要找出造成三层广播风暴的端点。过滤语句:endpoint.broadcastpackets>10000(1) 因为指标项较多,有的指标默认没有列出,如果需要查看未列出指标,可在“指标”栏点击右键,选择要查看的指标,如广播数据包,如下图:
(2) 在过滤后的结果中,看到产生广播包最多的IP为“0.0.0.0”,它发送了239694个包,接收了0个包,而广播地址255.255.255.255发送了0个包,接收了239694个包,说明有广播风暴。产生广播包的IP地址为“0.0.0.0”,这是不是有问题?可点击分析视图下方的“IP会话”,如下图:显示只有1条IP会话:源端点为0.0.0.0,目的端点为255.255.255.255。双击可查看该会话的具体内容,如下:可以看到,广播包全是DHCP包(DHCP,动态主机配置协议,是为主机动态分配IP的协议),这就解释了为什么造成广播风暴的源IP为0.0.0.0。因为这台主机压根就还没分配到IP地址,请求获得IP地址的DHCP的包就造成了广播风暴!那要找到这台主机怎么办呢?由于是内网主机,可以点击DHCP包查看他的MAC地址:源MAC地址为62:B3:54:00:71:1C,如下图:上面我们简单举了4个例子来说明科来DPI在IP端点视图中的应用,物理端点视图暂时还不支持DPI_Filter(后续篇章会讲解图形化过滤器和指标检索),因此本文中都是以IP端点视图举例。学习时间短暂,为不与数据包视图的分析混淆,分析师一定要先搞清分析逻辑,什么时候需要看端点视图?否则会欲速而不达。需要看端点视图的情况,举例如下:(1) 需要从端点视角去查看多种统计数据(如哪个端点产生了大流量?); (2) 根据某项统计指标,发现异常的端点(如短时间产生大量会话的端点); (3) 找出产生某种网络异常行为(扫描、DOS等)的端点; (4) 分析某个指定端点在网络中的状态或行为等等;本文介绍了科来DPI在端点视图中的应用,让网络分析师的分析技能又得到了提升,后面我们会陆续带来科来DPI在会话视图、日志视图中的应用等篇章,敬请期待!
|