可视化数据包分析工具-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. zabbix安装,关闭SELinux

    一.缘由 在安装zabbix的时候,按照官网的Zabbix Manual一路跑下来,zabbix的dashboard提示:zabbix server is not running the inform ...

  2. python(17) 获取acfun弹幕,评论和视频信息

    每天一点linux命令:新建文件夹

  3. iostat命令详解 IO性能分析

    简介 iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息.用户可以通过指定统计的次数和时间 ...

  4. 十一、jdk命令之Jstatd命令(Java Statistics Monitoring Daemon)

    目录 一.jdk工具之jps(JVM Process Status Tools)命令使用 二.jdk命令之javah命令(C Header and Stub File Generator) 三.jdk ...

  5. Tomcat启动过程原理详解

    基于Java的Web 应用程序是 servlet.JSP 页面.静态页面.类和其他资源的集合,它们可以用标准方式打包,并运行在来自多个供应商的多个容器.Web 应用程序存在于结构化层次结构的目录中,该 ...

  6. gerrit 使用笔记

    添加git hooks git库的钩子目录中有一个commit-msg脚本文件,可以在git执行commit时,在提交信息中自动添加一个唯一的Change-Id scp -P 29419 admin@ ...

  7. sphinx 全文搜索引擎安装与配置

    sphinx 全文搜索引擎 sphinx的安装与配置 ------------------------------------------------------------------------- ...

  8. DEDE织梦,文章页里的幻灯调用,能调用全部栏目的吗

    arclist 是必须要有 typeid 设置的,如果你没设置,默认是取的当前栏目的 typeid,而首页取到的是 top,所以你强制指定typeid=top就可以了.---------------- ...

  9. crm 4 IFRAME 元素隐藏

    function hidebtn(elementTitle) { var x = document.getElementsByTagName("LI"); for (i = 0; ...

  10. java学习_文件工具类

    工具类里面的方法全部都是静态的,调用的时候不需要实例化