可视化数据包分析工具-CapAnalysis
可视化数据包分析工具-CapAnalysis
我们知道,Xplico是一个从pcap文件中解析出IP流量数据的工具,本文介绍又一款实用工具—CapAnalysis(可视化数据包分析工具),将比Xplico更加细致的分析功能,先别着急安装,下面我们首先了解Pcap包的基本结构,然后告诉你如何使用,最后是一段多媒体教程给大家演示一些精彩环节。
下面这段我制作的可视化视频也深受大家喜欢:
http://www.tudou.com/programs/view/kpZrZxCk5ZI/
1.PCAP结构
以太网中的数据帧是由数据链路层负责封装,网络层传输的数据包都被加上帧头和帧尾成为可以被数据链路层识别的数据帧。虽然帧头和帧尾所用的字节数是固定的,但依被封装的数据包大小的不一样,所以以太网的长度也在动态变化,但其大小在64~1518B。下图我们先了解一下PCAP格式文件结构,从下图我们能看出Pcap文件的整体结构和头结构。
图1Pcap包结构
1.PCAP文件的头数据结构含义
PCAP文件头数据24(4+2+2+4+4+4+4)B各字段说明:
?Magic:4B0x1A2B3C4D,用来标示文件的开始;
?Major:2B0x0200,代表当前文件主要的版本号;
?Minor:2B0x0400,代表当前文件次要的版本号;
?ThisZone:4B,代表当地的标准时间;
?SigFigs:4B,表示时间戳的精度;
?SnapLen:4B,表示最大的存储长度;
?LinkType:4B,表示链路类型。
2Packet数据包头和组成含义
PCAP格式文件中数据包的组成与数据包头的结构字段说明如下:
?Timestamp:时间戳高位,精确到s;
?Timestamp:时间戳低位,精确到μs;
?Caplen:当前数据区的长度,即抓到的数据帧长度,由此可以得到下一个数据帧的位置;
?Len:离线数据长度,网络中实际数据帧的长度,一般不大于Caplen,多数情况下和Caplen数值相等;
Packet数据即Packet(通常就是链路层的数据帧)具体内容,长度就是Caplen,这个长度的后面,就是当前PCAP文件中存放的下一个Packet数据包,也就是说:PCAP文件里面并没有规定捕获的Packet数据包之间有什么间隔字符串,下一组数据在文件中的起始位置。需要靠第一个Packet包确定。最后Packet数据部分的格式其实就是标准的网络协议格式。
2.PCAP分析工具
1)分析工具安装
选用Ubuntu10.x以上系统,执行一下命令
$sudoapt-getupdate&&sudoapt-getinstall-ygdebi&&sudogdebi-ncapanalysis_*.deb
注意,除了上面手动安装CapAnalysis工具以外,我们可以使用DEFT8.0工具盘来直接使用,用它启动系统并进入到图形界面就能直接使用。由于CapAnalysis后台使用的数据库是PostgreSQL,所以它的运行性能要较Mysql数据库的一些工具高。
2)Deft8中启动Capanalysis方法
在服务中先启动Apache服务,然后启动capanalysis服务,最后启动数据库。
#sudoservicepostgresqlstop
#sudoservicepostgresqlstart
3)访问CapanalysisWeb界面:
http://your_server_ip:9877orhttp://localhost:9877
注意,为了激活系统首先要获取Key,点击“clickheretirequestthekey”,这时输入email地址,并确认,网站会发送一个临时的key给你。注意同一个Ip不能重复申请。
刚进去是需要初始化系统的,点击New,新添加一个分析事件名称,然后用抓包工具例如tcpdump、wireshark等工具抓取pacp包,一般我们要通过过滤器,过滤掉无用的数据包。
4)导入分析数据包
#catcgweb.pcap|nc127.0.0.130001
如果有新的包过来可以继续导入,第二次抓包,再导入:
#catcgweb2.pcap|nc127.0.0.130001
数据流会进行累加,并记录次序。我们还可以在Ossim系统中,导出Snort抓到的可疑数据包,然后通过这种方法导入,来集中分析,你会得到一些意想不到的效果。
系统会启动如下界面
为了激活系统首先要获取Key,点击clickheretirequestthekey
这时输入email地址,并确认,网站会发送一个临时的key给你。注意同一个Ip不能重复申请。
刚进去是需要初始化系统的
点击New,新添加一个表单
收集数据包:
先用tcpdump抓包(您也可以选用Wireshark图形化抓包工具)
#tcpdump–wcgweb.pcap
#catcgweb.pcap|nc127.0.0.130001
这是第一次抓包,
执行文这条命令以后发现有了数据
第二次抓包
#tcpdump–wcgweb2.pcap
在执行
#catcgweb2.pcap|nc127.0.0.130001数据流会进行累加
分析数据包:
本文出自 “李晨光原创技术博客” 博客,请务必保留此出处http://chenguang.blog.51cto.com/350944/1325742
可视化数据包分析工具-CapAnalysis的更多相关文章
- firebug登陆之数据包分析
登陆之数据包分析 工具: python-urllib2 | firefox+firebug或者chrome,用浏览器打开登陆页面之后,按F12键会默认打开开发者工具或者启动firebug,点击n ...
- wireshark数据包分析实战 第一章
1,数据包分析工具:tcpdump.wireshark.前者是命令行的,后者是图形界面的. 分析过程:收集数据.转换数据(二进制数据转换为可读形式).分析数据.tcpdump不提供分析数据,只将最原始 ...
- Wireshark工具抓包的数据包分析
Wireshark(前称Ethereal)是一个网络封包分析软件.网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料. Wireshark使用WinPCAP作为接口,直接与网卡 ...
- snmp数据包分析
今天看了一下snmp数据包的报文格式,用wireshark抓了两个数据包来分析. 先说说snmp get-request的书报包格式吧,get-next-request,get-response,se ...
- wireshark抓包分析工具的使用
# wireshark抓包分析工具的使用 ## 常用抓包指令 - `ip.src==192.168.60.26 and ip.dst==111.7.187.220 and tcp.port == 80 ...
- Wireshark数据包分析(一)——使用入门
Wireshark简介: Wireshark是一款最流行和强大的开源数据包抓包与分析工具,没有之一.在SecTools安全社区里颇受欢迎,曾一度超越Metasploit.Nessus.Aircrack ...
- 网络数据包分析 网卡Offload
http://blog.nsfocus.net/network-packets-analysis-nic-offload/ 对于网络安全来说,网络传输数据包的捕获和分析是个基础工作,绿盟科技研 ...
- Wireshark数据包分析入门
Wireshark数据包分析(一)——使用入门 Wireshark简介: Wireshark是一款最流行和强大的开源数据包抓包与分析工具,没有之一.在SecTools安全社区里颇受欢迎,曾一度超越 ...
- 《Wireshark数据包分析实战》 - http背后,tcp/ip抓包分析
作为网络开发人员,使用fiddler无疑是最好的选择,方便易用功能强. 但是什么作为爱学习的同学,是不应该止步于http协议的,学习wireshark则可以满足这方面的需求.wireshark作为抓取 ...
随机推荐
- C#动态调用C++编写的DLL函数
C#动态调用C++编写的DLL函数 动态加载DLL需要使用Windows API函数:LoadLibrary.GetProcAddress以及FreeLibrary.我们可以使用DllImport在C ...
- Linq常用操作
http://www.cnblogs.com/knowledgesea/p/3897665.html
- OOP三个基本特征:封装、继承、多态
面向对象的三个基本特征是:封装.继承.多态. 封装 封装最好理解了.封装是面向对象的特征之一,是对象和类概念的主要特性. 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类 ...
- [原创博文] 用Python做统计分析 (Scipy.stats的文档)
[转自] 用Python做统计分析 (Scipy.stats的文档) 对scipy.stats的详细介绍: 这个文档说了以下内容,对python如何做统计分析感兴趣的人可以看看,毕竟Python的库也 ...
- js实现加减乘除
/** ** 除法函数,用来得到精确的除法结果 ** 说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显.这个函数返回较为精确的除法结果. ** 调用:accDiv(arg ...
- java程序内存使用
一.内存使用示意图 二.java运行时数据区域 1.程序计数器: 当前线程所执行字节码的行号提示器. 2.java虚拟机栈: 线程私有,与线程生命周期相同,保存基本数据类型,如果线程所请求的栈深度大于 ...
- android 定时执行一个任务
1. timer = new Timer(true) TimerTask task = new TimerTask(){ public void run(){ test(); } } timer.s ...
- 服务器返回数组,data[0]得到的总是不对?如何处理?
我用asp.net MVC 写了服务器代码,返回数组,ajax怎么处理返回的数组内容? 您好,首先用eval将获得的ajax数据转化成json对象并赋值给一个变量. 比如: var obj=eval( ...
- Export excel file using web API
使用MVC controller输出excel的例子,自不待言,例子满天飞. 由于本项目使用的是Asp.net MVC API,因此在本项目使用API,实现了文件下载功能.代码的原理很简单,基本上是老 ...
- 如何获取SQL Server 2008数据库数据文件的位置
在SQL Server中,要获取数据库数据文件的物理位置,有三种方法: sp_helpdb bright name filename f ...