一:流量分析系统分为:内核模块(kernel)、应用程序模块、人机交互模块(Enginec)、双向通道的接口(Enginek)。
1:内核模块(kernel)
其中内核模块(kernel)主要是devall,其中devall下面挂载了3个零拷贝和一个devEngine。 devAll主要的功能是:实现和dev.c的接口,为其他模块操作内核数据提供了一个接入点。 devZerocpy1功能是:提供一份零拷贝数据给voip的sipprotocol;用到了devall的接口。 devZerocpy2功能是:提供一份零拷贝数据给攻击检测模块AttackCheck;也用到了devall接
口。
devZerocpy3功能是:提供一份零拷贝数据给wlanProcess;用到了devall的接口。 devEngine 功能是:提供NetLink的方式获取网卡数据包,这种方式缺点比较多。
在内核模块中还提供了协议分析,其中都是网络上常用的软件,如qq、迅雷、bt、msn、ppliv等。这些协议分析后续可能会对其功能进行完善。
2:应用程序模块
应用程序模块分为:Engineu、 SipProtocol、 AttackCheck和wlanProcess四大模块。 Engineu 模块又分为:Engine_u5Min、Engine_uToip10、Engine_uWeb、Engine_uDDos、
Engine_uTopn
Engine_u5Min功能是:实现基本的协议分析(是调用内核的协议分析模块)和5分钟数据统计
功能,并将数据发送给统计服务器
Engine_uToip10功能是:10秒攻击检测。主要是判断单方向IP数据突然增加的情况。 Engine_uWeb 功能是:检测某些网站的访问量情况,根据访问量进行排名。
Engine_uDDos 功能是:检测网络数据突然增加的情况,这个和Engine_uToip10功能类似。 Engine_uTopn 功能是:使用二元组的方法,将数据以IP二元组方式统计流量。
SipProtocol模块:功能秒速
AttackCheck模块:
wlanProcess模块:
3:数据现在的采集方式: (1) libpcap方式: 优点: libpcap的开发灵活,实现简单。缺点:当网卡使用率达到35%~45%
左右的时候,采集就开始丢包.
(2) netlink的方式: 这种方式是linux特有的方式, 优点:相对libpcap的方式接收速度增
加了。数据包解析可以在内核使用加载模块的方法解析。缺点:这种方式在千兆网卡接收数据量大于500Mbps的时候就不能将数据包内容发出来 (3) 零拷贝方式: 这种方式是利用网卡的DMA的方式存取的. 4: 网卡接收数据的模式
(1) 使用软中断的方式: 这种方式占有CPU比较多,原因是每次有数据CPU就要中断当
前的工作来处理发过来的数据,如果数据发送次数很多,就会频繁调用CPU.
(2) 使用NAPI方式: 这是一种中断唤醒的机制,如果有数据来了,CPU等数据发送完后
再去处理别的;这种方式对每次大量数据的处理,对占用CPU的效果很明显。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务