可视化数据包分析工具-CapAnalysis

我们知道,Xplico是一个从pcap文件中解析出IP流量数据的工具,本文介绍又一款实用工具—CapAnalysis(可视化数据包分析工具),将比Xplico更加细致的分析功能,先别着急安装,下面我们首先了解Pcap包的基本结构,然后告诉你如何使用,最后是一段多媒体教程给大家演示一些精彩环节。

下面这段我制作的可视化视频也深受大家喜欢:

http://www.tudou.com/programs/view/kpZrZxCk5ZI/

1.PCAP结构

以太网中的数据帧是由数据链路层负责封装,网络层传输的数据包都被加上帧头和帧尾成为可以被数据链路层识别的数据帧。虽然帧头和帧尾所用的字节数是固定的,但依被封装的数据包大小的不一样,所以以太网的长度也在动态变化,但其大小在64~1518B。下图我们先了解一下PCAP格式文件结构,从下图我们能看出Pcap文件的整体结构和头结构。

650) this.width=650;" height="440" title="clip_image002" style="border:0px;background-image:none;padding-top:0px;padding-right:0px;padding-left:0px;" alt="clip_image002" src="http://img1.51cto.com/attachment/201311/16/350944_1384614778r569.jpg" border="0" />

图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抓到的可疑数据包,然后通过这种方法导入,来集中分析,你会得到一些意想不到的效果。

系统会启动如下界面

650) this.width=650;" height="460" title="clip_image004" style="border:0px;background-image:none;padding-top:0px;padding-right:0px;padding-left:0px;" alt="clip_image004" src="http://img1.51cto.com/attachment/201311/16/350944_1384614781pa1z.jpg" border="0" />

为了激活系统首先要获取Key,点击clickheretirequestthekey

650) this.width=650;" height="453" title="clip_image006" style="border:0px;background-image:none;padding-top:0px;padding-right:0px;padding-left:0px;" alt="clip_image006" src="http://img1.51cto.com/attachment/201311/16/350944_1384614783qFoL.jpg" border="0" />

这时输入email地址,并确认,网站会发送一个临时的key给你。注意同一个Ip不能重复申请。

650) this.width=650;" height="183" title="clip_image008" style="border:0px;background-image:none;padding-top:0px;padding-right:0px;padding-left:0px;" alt="clip_image008" src="http://img1.51cto.com/attachment/201311/16/350944_1384614784hasZ.jpg" border="0" />

650) this.width=650;" height="300" title="clip_image010" style="border:0px;background-image:none;padding-top:0px;padding-right:0px;padding-left:0px;" alt="clip_image010" src="http://img1.51cto.com/attachment/201311/16/350944_1384614785zPfQ.jpg" border="0" />

刚进去是需要初始化系统的

650) this.width=650;" height="268" title="clip_image012" style="border:0px;background-image:none;padding-top:0px;padding-right:0px;padding-left:0px;" alt="clip_image012" src="http://img1.51cto.com/attachment/201311/16/350944_1384614786SwzH.jpg" border="0" />

点击New,新添加一个表单

650) this.width=650;" height="288" title="clip_image014" style="border:0px;background-image:none;padding-top:0px;padding-right:0px;padding-left:0px;" alt="clip_image014" src="http://img1.51cto.com/attachment/201311/16/350944_1384614787qGA1.jpg" border="0" />

收集数据包:

650) this.width=650;" height="367" title="clip_image016" style="border:0px;background-image:none;padding-top:0px;padding-right:0px;padding-left:0px;" alt="clip_image016" src="http://img1.51cto.com/attachment/201311/16/350944_1384614789L8Ev.jpg" border="0" />

先用tcpdump抓包(您也可以选用Wireshark图形化抓包工具)

#tcpdump–wcgweb.pcap

#catcgweb.pcap|nc127.0.0.130001

这是第一次抓包,

执行文这条命令以后发现有了数据

650) this.width=650;" height="176" title="clip_image018" style="border:0px;background-image:none;padding-top:0px;padding-right:0px;padding-left:0px;" alt="clip_image018" src="http://img1.51cto.com/attachment/201311/16/350944_1384614790R5i5.jpg" border="0" />

第二次抓包

#tcpdump–wcgweb2.pcap

在执行

#catcgweb2.pcap|nc127.0.0.130001数据流会进行累加

650) this.width=650;" height="179" title="clip_image020" style="border:0px;background-image:none;padding-top:0px;padding-right:0px;padding-left:0px;" alt="clip_image020" src="http://img1.51cto.com/attachment/201311/16/350944_1384614791NXwq.jpg" border="0" />

分析数据包:

650) this.width=650;" height="292" title="clip_image022" style="border:0px;background-image:none;padding-top:0px;padding-right:0px;padding-left:0px;" alt="clip_image022" src="http://img1.51cto.com/attachment/201311/16/350944_1384614794IRSR.jpg" border="0" />

650) this.width=650;" height="313" title="clip_image024" style="border:0px;background-image:none;padding-top:0px;padding-right:0px;padding-left:0px;" alt="clip_image024" src="http://img1.51cto.com/attachment/201311/16/350944_138461479515Xg.jpg" border="0" />

650) this.width=650;" height="306" title="clip_image026" style="border:0px;background-image:none;padding-top:0px;padding-right:0px;padding-left:0px;" alt="clip_image026" src="http://img1.51cto.com/attachment/201311/16/350944_1384614797vAQV.jpg" border="0" />

想浏览高清视频请点击:http://www.tudou.com/programs/view/PN9Xi8IlQW0/

本文出自 “李晨光原创技术博客” 博客,请务必保留此出处http://chenguang.blog.51cto.com/350944/1325742

可视化数据包分析工具-CapAnalysis的更多相关文章

  1. firebug登陆之数据包分析

    登陆之数据包分析 工具: python-urllib2   |  firefox+firebug或者chrome,用浏览器打开登陆页面之后,按F12键会默认打开开发者工具或者启动firebug,点击n ...

  2. wireshark数据包分析实战 第一章

    1,数据包分析工具:tcpdump.wireshark.前者是命令行的,后者是图形界面的. 分析过程:收集数据.转换数据(二进制数据转换为可读形式).分析数据.tcpdump不提供分析数据,只将最原始 ...

  3. Wireshark工具抓包的数据包分析

    Wireshark(前称Ethereal)是一个网络封包分析软件.网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料. Wireshark使用WinPCAP作为接口,直接与网卡 ...

  4. snmp数据包分析

    今天看了一下snmp数据包的报文格式,用wireshark抓了两个数据包来分析. 先说说snmp get-request的书报包格式吧,get-next-request,get-response,se ...

  5. wireshark抓包分析工具的使用

    # wireshark抓包分析工具的使用 ## 常用抓包指令 - `ip.src==192.168.60.26 and ip.dst==111.7.187.220 and tcp.port == 80 ...

  6. Wireshark数据包分析(一)——使用入门

    Wireshark简介: Wireshark是一款最流行和强大的开源数据包抓包与分析工具,没有之一.在SecTools安全社区里颇受欢迎,曾一度超越Metasploit.Nessus.Aircrack ...

  7. 网络数据包分析 网卡Offload

    http://blog.nsfocus.net/network-packets-analysis-nic-offload/     对于网络安全来说,网络传输数据包的捕获和分析是个基础工作,绿盟科技研 ...

  8. Wireshark数据包分析入门

    Wireshark数据包分析(一)——使用入门   Wireshark简介: Wireshark是一款最流行和强大的开源数据包抓包与分析工具,没有之一.在SecTools安全社区里颇受欢迎,曾一度超越 ...

  9. 《Wireshark数据包分析实战》 - http背后,tcp/ip抓包分析

    作为网络开发人员,使用fiddler无疑是最好的选择,方便易用功能强. 但是什么作为爱学习的同学,是不应该止步于http协议的,学习wireshark则可以满足这方面的需求.wireshark作为抓取 ...

随机推荐

  1. 让 SVN (TortoiseSVN)提交时忽略bin和obj目录

    2013-06-23 更新 后来我使用属性来过滤,结果反而没有效果了,之后我再次尝试使用全局忽略样式设置:*/bin */obj */packages 结果又有效果了,奇怪了. ------- 由于我 ...

  2. MongoDB的基本使用

    use library 使用use函数切换已有的数据库或创建新的数据库 show dbs 查看MongoDB中目前所有可用的数据库 show collections 查看当前数据库中的所有集合 在集合 ...

  3. Accounting_权责发生制和收付实现值的区别(概念)

    2014-07-11 BaoXinjian

  4. GL_Oracle Erp常用的报表(汇总)

    2014-06-27 BaoXinjian 1. 总账系统

  5. POJ 1410 Intersection(计算几何)

    题目大意:题目意思很简单,就是说有一个矩阵是实心的,给出一条线段,问线段和矩阵是否相交解题思路:用到了线段与线段是否交叉,然后再判断线段是否在矩阵里面,这里要注意的是,他给出的矩阵的坐标明显不是左上和 ...

  6. [Tex学习]给汉字注音

    \documentclass{article} \usepackage[CJK]{ruby} \usepackage{pinyin} \begin{document} \begin{CJK*}{GBK ...

  7. log4j+logback+slf4j+commons-logging的关系与调试

    背景     由于现在开源框架日益丰富,好多开源框架使用的日志组件不尽相同.存在着在一个项目中,不同的版本,不同的框架共存.导致日志输出异常混乱.虽然也不至于对系统造成致命伤害,但是明显可以看出,架构 ...

  8. htmlparser日记

    myParser = Parser.createParser(response, "utf-8");NodeFilter tableFilter = new NodeClassFi ...

  9. Jenkins参数化构建

    背景:每次构建项目时都需要去修改一下配置,然后保存,再去立即构建.这样修改容易修改出错误,影响到执行脚本,且每次都要去修改配置,不容易修改,操作也比较麻烦.所以决定将Jenkins修改为参数化构建.下 ...

  10. Go 支持Protocol Buffers的配置

    安装 protoc (The protocol compiler)是由C++写的,支持的 C++.Java.Python.Objective-C.C#.JavaNano.JavaScript.Ruby ...