好久没更博了,说明学习进度太慢了。
一 实施目的
用抓取的数据包做统计分析,分析出行为的特征信息,用于进一步的网络诊断
二 实现思路
对已经抓取和解析的大量的数据包,进行数据清洗和初步过滤,处理成半结构化的数据,导入到HDFS分布式文件系统中,做进一步的统计分析、信息检索、快速查询。具体采用Hive做统计特征的计算,Hbase作为详细信息的快速查询,Splunk对文件建立索引,全文检索,可以直观查询统计关键字,提示敏感信息。
三 系统流程图
四 具体模块
1. 数据包抓取:用现成的抓包工具,包含捕捉抓包、过滤 、解析、存储的功能,如windows下的抓包驱动winpcap,linux下的tcpdump和libpcap工具。
2. 数据清洗、初步过滤
3. 导入HDFS文件系统
分为三个部分:HDFS直接存取、存入Hbase、进一步清洗后存入Hive
注:Hbase和Hive的数据最终是存储在HDFS上的,只是是有结构的。
直接存取: 将抓包的文件不经过任何处理,作为原始数据存储在HDFS上,Splunk对原始数据以关心的敏感信息词来建立索引,提供全文检索的功能,可直接在web上查询关键字。
导入Hbase的为半结构化数据:将直接抓取的数据包导入Hbase,以抓取时间为Rowkey。供快速查询
导入Hive的为结构化数据:
表一 抽取的数据信息
表格
原始信息
捕包信息表
捕包的开始时间、结束时间、捕包次数、每次捕获包的个数、每次捕获包的总字节数的大小
包头信息表
流入接口 流出接口 来源地址 目的地址 协议类型 时间 长度 标志位
在Hive中进行统计特征提取:
表一 Hive统计特征
类型
特征
应用场景
报文统计
捕捉报文的总数与百分比 显示报文的数量
显示报文的大小
情景:流量统计
终端信息统计
IP终端节点统计
以太网终端节点统计
TCP/UDP终端节点统计
情景一:少量MAC地址与IP端点:可能很多远端设备收发报文
情景二:少量IP端点与大量TCP端点:每台主机可能有多个TCP连接,可能是网络攻击(SVN)
协议统计
含有该协议的包数目在捕捉文件所有包所占的比例
含有该协议包的数目
含有该协议的字节数
抓包时间内的协议带宽
情景一:分析数据流负载是否正常
情景二:通过结合流量分类统计和协议分析,阻断大流量的流,如P2P的视频流
会话统计
以太网会话统计
IP会话统计
TCP/UDP会话统计
情景一:大量的广播风暴
情景二:如果看到来自某一MAC地址的大量数据,可以通过ARP获取其MAC地址
情景三:查看收发大量数据流的IP地址
情景四:查看扫描模式,如防止蠕虫病毒
情景五:如果有上百个TCP连接则不正常,并可以尝试查找无法辨识的端口号
其他
计算时间间隔内事件发生的次数
捕获TCP数据量
检查TCP序列号
计算帧之间的最小/平均/最大时间
情景一:查看TCP分析标识符,比如重传
情景二:分析单个方向移动的数据量
情景三:看TCP序列号是否相对稳定的增加,表示数据传输平稳,没有过多的重传或丢失。
情景四:计算平均时间等对查看报文之间的延时很有用,如果帧之间平均延时相对较低但突然某一点延时很长,可查看这一帧详情
4.可视化展示:
功能
表现形式
作用
统计图表展示
折线图 直方图 饼状图 框图
用来显示统计特征
部分信息筛选 查看摘要信息
异步统计
Web定制分布式查询,统计相应数值,消息通知机制
避免后台操作,方便其他人员开发统计
快速查询
Hbase快速查询一段报文详细信息
Hbase响应最快,容量大,用来查询具体信息
全文检索
Splunk以定义的敏感信息,建立索引
查询选择范围报文的敏感信息及所处的准确位置
转载于:https://www.cnblogs.com/kxdblog/p/4191893.html
