美国军方研究实验室发布了一款超级工具Dshell,官方的介绍是 Dshell is a network forensic analysis framework(Dshell是一个网络取证分析框架),这是美国军方使用了5年的网络战争武器。
分析网络协议这事,我以前在公司也做过,其实国内大一点的公司都在做。一般做法是在在网络边界处用分光器把流量拆分2份,如果流量不大也可以在路由器上做span,目的就是把入口流量镜像一份用于分析,如果只想镜像一个机器的流量就更简单了,方法很多,这里就不介绍了。
有些流量我们需要实时分析并出结果,有些流量我们需要保存慢慢分析,2种需求分析手段是一样的,但是各有特点。实时分析比较消耗cpu和内存,所以实时分析的数据尽可能少,取最关键最小值即可。离线分析需要把数据存下来慢慢分析,因为网络数据包都比较大,存储也是有一定时间要求的,所以我们需要尽快的把存下来的数据分析完然后释放空间。
Dshell的官方地址如下:
https://github.com/USArmyResearchLab/Dshell
可以利用Dshell快速开发的插件去支持网络数据包捕获的分析。
关键特性:
-
强大的流重组能力
-
支持 IPv4 和 IPv6
-
定制输出
-
数据链解码
预备知识:
-
Linux (developed on Ubuntu 12.04)
-
Python 2.7
-
pygeoip, GNU Lesser GPL
-
MaxMind GeoIP Legacy datasets
-
-
PyCrypto, custom license
-
dpkt, New BSD License
-
IPy, BSD 2-Clause License
-
pypcap, New BSD License
安装:
基本用法:
使用案例:
分析流量包里的DNS查询
官方声明开源目的
陆军研究实验室的网络安全部门主任William Glodek在一份声明中表示,他希望该框架对私企用户和学术界有所帮助,并希望他们能够贡献自己的模块来扩展该框架的功能。