欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Joy:捕获数据包、分析网络流量数据、网络取证及安全监控工具

程序员文章站 2022-03-19 10:09:27
Joy是一个捕获数据包、分析网络流量数据、网络研究取证及安全监控的工具。 概述 Joy是一个BSD许可的基于libpcap的软件包,用来从实时网络流量或捕获的数据包文件提取数据...

Joy是一个捕获数据包、分析网络流量数据、网络研究取证及安全监控的工具。
概述
Joy是一个BSD许可的基于libpcap的软件包,用来从实时网络流量或捕获的数据包文件提取数据特征,使用类似于IPFIX或者Netflow的流量导向模式,之后在JSON中表现这些数据特征。Joy还包括了一个可以应用这些文件的分析工具。Joy还能被用来探索大规模数据,尤其是跟安全和威胁有关的数据。
JSON是为了使数据分析工具的数据输出更简单。当JSON输出文件非常长时,JSON文件可以非常小,并且对压缩的响应很好。
Joy可以被配置来获取intraflow数据,这些数据是在网络流量中出现的事件的数据和信息,包括:
序列的长度、IP包到达的时间、数据包的可配置数目;
一个刘的数据部分中字节的经验概率分布以及这个值导出的熵;
序列的长度和TLS记录到达的时间;
其他非加密TLS数据,比如提供密码组的列表、被选择的密码租、clientKdyExchange字段的长度;
与流相关的进程名,正在运行的pcap主机上中为流发起或终止。
Joy是用户安全研究、取证和小规模网络监测来进行漏洞检测、威胁检测、非法行为检测和有害行为检测。研究人员、管理人员、渗透测试人员和安全运营团队可以很好的利用这些信息,保护被监测的网络免受攻击,在某些漏洞情况下,可以通过提高防御姿态保证广泛社区的利益。作为网络监测工具,Joy可能被滥用,所以当你不是管理员或者网络所有人时,请不要使用Joy。
在正向心理学中,流是一种状态,一个人执行一个活动,完全沉入近一种积极性十足、深入参与、快乐的感觉。
Joy是alpha/beta软件,我们希望你使用它并从中受益,但是你要明白,它不适合生产。
信用
这个包是由来自思科高级安全研究小组(ASRG)的David McGrew和Blake Anderson {mcgrew,blaander}@cisco.com 所写。
快速开始
构建
Joy已经成功的在Linux(Debian, Ubuntu和CentOS)和Mac OSX上被测试和运行。这两种系统都使用gcc和GNU make构建,但是它应该也可以在其他开发环境中正常运行。
首先,从github上下载包,并切换到joy所在的目录;
在主目录中运行 make 来构建包:
[joy]$ make
程序被编译、连接、清除、复制到合适的主目录下。它还会执行测试脚本和一个单元测试程序。
用来从pcap文件或者实时数据捕获提取的数据特征的主程序是pcap2flow,它在src/subdictory下。它build成功后被复制到joy主目录下。它可以在该路径下运行或安装,这样它会在Linux或Mac OSX上作为守护程序自动运行。
运行和配置
为了了解pacp2flow是如何被配置的,读取其中一个配置文件(linux.cfg或macosx.cfg)。在脱机模式下处理pcap文件,运行:
[joy]$ ./pcap2flow [ OPTIONS ] filename [ filename2 ... ]
e.g.
[joy]$ ./pcap2flow bidir=1 output=data.json filename
为了在练级模式下运行数据包捕获,使用相同的命令格式,但是要包括一个interface=命令的options,并且省却命令行中的文件名。
e.g.
[joy]$ sudo ./pcap2flow interface=eth0 bidir=1 output=data.json
它有很多命令行选项,所以我们不在命令行中使用所有选项,你可能想要程序读取一个配置文件。这样的两个分布式文件,linux.cfg和macosx.cfg。如果你想要改变程序的默认值(为了准确的捕捉你感兴趣的数据,你可能会这样做),之后复制这份配置文件。
使用不同名称创建一个本地副本,防止Joy更新时,你的配置文件被破坏。
安装
要在系统上安装这个软件,你需要先build它。运行install-sh脚本(root或者使用sudo)来安装这个包。
[joy]$ sudo ./install-sh
如果你运行不带参数的脚本,那么默认时,配置文件就会被安装到/etc/目录。要安装一个不同的陪皮质文件,你要使用-c来安装脚本:
[joy]$ sudo ./install-sh -c local-config-file.cfg
你还可以配置匿名地址,它包含内部子网文件。这些子网的默认文件是internal.net;你可以使用-a来更改配置。同理,你可以更改IP地址的watchfile(使用-w)或者更改用于通过scp上传文件的SSH私钥(使用-k)。使用-h来获得帮助、查看所有安装说明。
文件
手册将作为包的一部分被自动建立、安装。请参阅文件pcap2file.1或者之后被运行的install-sh脚本,通过"man pcap2flow"进入手册。
测试
运行脚本./pcap2flow_test.sh和src/unit_test来测试程序。这些程序都会指出命令行执行成功还是失败。