用开源工具Xplico助力网络应用层数据解码

这一生的挚爱 提交于 2019-12-05 20:58:46

用开源工具Xplico助力网络应用层数据解码 http://netsecurity.51cto.com/art/201606/513237.htm

0.概述 Xplico功能不仅是一个网络协议分析工具,还是一个开源的网络取证分析工具(NFAT)。网络取证分析工具是一个科学的捕捉,记录和检测入侵并进行调查的网络流量分析处理系统。Xplico主要作用是从捕获网络应用层数据并显示出来,这指的是通过捕获Internet网络流量来提取各种网络应用中所包含的数据,并从中分析出各种不同的网络应用。例如Xplico可以实时解析通过网关的流量,也可以pcap文件中解析出IP流量数据,并解析每个邮箱(包括POP、IMAP和SMTP协议),解析HTTP内容,以及VOIP应用等。 注意:在后面设置中Xplico Web界面中的Menu→Dissectors能看到它所支持的应用层协议。 1.系统架构 XPlico系统由4个部分构成,分别是: Ø 解码控制器 Ø IP/网络解码器(Xplico) Ø 程序集来处理解码数据(ManiPulators) Ø 可视化系统(用来查看结果) 解码器Xplico是整个系统的核心组件,它的特点是高度模块化,可扩展性和可配置性。它的主要工作过程是通过数据抓取模块(cap_dissector)抓取网络中的数据包,然后将数据包输入到各个解析组件(Dissectors)中,得出的解析结果通过分发组件(Dispatcher)存储到数据库中,最后再显示出来。其过程如图1所示。 用开源工具Xplico助力网络应用层数据解码 图1 Xplico原理图 从图1可以看出,Xplico对协议的分析过程采取自顶向下的流程,首先Xplico捕获到网络数据包,然后根据包中的不同字段,区分出不同的协议,分成TCP、UDP等协议进行分析,其中对TCP协议和UDP协议再根据不同的端口号和应用层协议的特征进一步细分,使用不同的解析器对报文进行分析和处理,最后得出结论并保存结果。 2. Xplico的数据获取方法 在Xplico底层使用Libpcap来抓取数据包,它是一个专门用来捕获网络数据的编程接口。它在很多网络安全领域得到了广泛的应用,很多著名的网络安全系统都是基于LibPcap而开发的,如著名的网络数据包捕获和分析工具Tcpdump,网络入侵检测系统snort也是使用Libpcap来实现的。Libpcap几乎成了网络数据包捕获的标准接口。Libpcap中使用了BPF(BSD Packet Filter)过滤机制,这部分是基于内核的过滤模块,它使Libpcap具有捕获特定数据包的功能,可以过滤掉网络上不需要的数据包,而只捕获用户感兴趣的数据包。使用Libpcap可以把从网络上捕获到的数据包存储到一个文件中,还可以把数据包信息从文件中读出,读出的结果与从网络上捕获数据包的结果是一样的。, 3.Xplico部署 Xplico目前最新版本为Xplico version 1.1.2(本文实验采用版本为1.1.0),其自身的运行需要其他一些软件的支撑例如Apache、Sqlite、tcpdump、tshark等。在安装部署前,首先要准备好,这里以选用Ubuntu 系统。 环境:基础平台OS采用Ubuntu Linux 13.10,安装方法如下: $sudo apt-get update $sudo apt-get install xplico 注意:需要修改apache端口监听文件/etc/apache2/ports.conf,添加以下内容 NameVirtualHost *:9876 Listen 9876 此外还有一种方法可以使用集成工具箱DEFT 8.2 Live,用此光盘启动系统后,进入控制台首先启动apache服务器,然后启动xplico服务(顺序反了不能成功)最后启动Xplico的Web界面。 4.应用Xplico 启动Xplico准备工作,首先启动Xplico之前现在交换机端口上做好SPAN然后启动Xplico。 步骤①:启动命令: #/opt/xplico/script/sqlite_demo.sh Web登录方法 浏览器输入地址http://ip:9876

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!