当前位置: 首页 > article >正文

Mercury:一款网络元数据捕捉与安全分析工具

关于Mercury

Mercury是一款功能强大的网络元数据捕捉与安全分析工具,广大研究人员可以利用该工具执行高级网络流量安全审计与分析。

功能介绍

Mercury可以读取网络数据包,识别感兴趣的元数据,并以 JSON 格式写出元数据。而且Mercury还能够以 PCAP 文件格式写出包含元数据的数据包。Mercury 可以扩展到高数据速率(在服务器级硬件上为 40Gbps),它使用零拷贝环形缓冲区来获取数据包,数据包由独立的工作线程处理。环形缓冲区占用的内存量和工作线程数量是可配置的,这使得扩展变得容易(但要注意不要使用太多内存)。

Mercury 能够为 TLS、DTLS、SSH、HTTP、TCP 和其他协议生成指纹字符串,这些指纹是通过仔细选择和规范化从数据包中提取的元数据形成的。指纹字符串在 JSON 输出中的“fingerprint”对象中可以查看。除此之外,Mercury 还可以选择根据这些指纹和目标上下文执行进程识别,这些结果在“analysis”对象中查看。

工具安装

Mercury 本身除了 g++ 或 llvm 构建环境之外具有最少的依赖性,但要运行此包中的自动测试和辅助程序,您需要安装其他包,如以下 Debian/Ubuntu 示例所示:

sudo apt install g++ jq git zlib1g-dev tcpreplay valgrind python3-pip libssl-dev clang

pip3 install jsonschema

要构建 mercury,请在根目录中运行

./configure

make

工具使用

在根目录中,使用要捕获的网络接口编辑 mercury.cfg,然后运行

./configure

make

sudo make install MERCURY_CFG=mercury.cfg

安装 mercury 并创建和启动 systemd 服务。如果您不想安装 mercury systemd 服务,请运行:

sudo make install-nosystemd

默认文件和目录位置为:

/usr/local/bin/mercury用于可执行文件

/usr/local/share/mercury用于资源文件

/usr/local/var/mercury用于输出文件

/etc/mercury/mercury.cfg作为配置文件

/etc/systemd/system/mercury.service为 systemd 单元文件

在捕获模式下运行 mercury 的最简单方法是使用 systemd;操作系统在每次启动后都会自动启动 mercury systemd 单元,并在操作系统关闭时停止它。要检查其状态,请运行:

systemctl status mercury

输出应包含“active (running)”。要查看 mercury 单元的日志 (stderr) 输出,请运行

sudo journalctl -u mercury

要卸载 mercury,请运行:

sudo make uninstall

工具运行演示

mercury -c eth0 -w foo.pcap   
mercury -c eth0 -w foo.pcap -t cpu   
mercury -c eth0 -w foo.mcap -t cpu -s
mercury -r foo.mcap -f foo.json
mercury -r foo.mcap -f foo.json -a    
mercury -c eth0 -t cpu -f foo.json -a

项目地址

Mercury:【GitHub传送门】


http://www.kler.cn/news/368200.html

相关文章:

  • 13 Docker容器单机网络架构全攻略:使用自定义桥接的实践与探索
  • 环回地址和本地地址有什么区别
  • Java 项目 Dockerfile 示例:从基础镜像选择到环境变量配置的详细指南
  • 颠覆级AI:10秒生成超清视频
  • 手机柔性屏全贴合视觉应用
  • Linux: Shell编程入门
  • 计算机网络——有连接传输层协议TCP
  • 如何使用Qlik Sense Util
  • 使用 Cursor 和 Devbox 快速开发并上线 Gin 项目
  • ifftshift函数
  • 缓存放置文章调研
  • 二十二、Python基础语法(模块)
  • 通过企业架构蓝图(EA Blueprint)构建企业数字化转型之路
  • STM32 HAL 陶晶池串口屏使用
  • GEE引擎传奇UI界面修改教程
  • MybatisPlus入门(一)MybatisPlus简介
  • Java三大特性之一—— 封装
  • 【力扣】[Java版] 刷题笔记-94.二叉树的中序遍历
  • 四期书生大模型实战营(【入门岛】- 第4关 | 玩转HF/魔搭/魔乐社区)
  • Sql执行较慢的排查方式
  • 带你用Go实现二维码小游戏(上)
  • 10.23Python_Matplotlib_‘backend_interagg‘ has no attribute
  • smartctl硬盘检查工具
  • docker入门(三)自定义部署docker镜
  • Vuetify3响应式布局
  • c#时间对象(时间间隔)相关计算