点击上方【蓝字】关注我们
MongoDB是一款流行的开源文档型数据库,主要适用于需要高扩展性、灵活数据结构和快速读写性能的应用场景,如大数据、物联网、社交媒体、游戏数据等。正因为MongoDB是一个非关系型数据库,数据以JSON格式的文档存储。它使用类似于JSON的BSON格式不支持SQL查询语言,因此我们在案件过程遇到MongoDB时,如何对其进行分析和数据统计汇总就比较困难。
本文介绍一种如何在案件现场快速固定MongoDB数据库,后期如何还原MongoDB数据库以及将关键数据表导入MySQL数据库进行分析的方法。
远程Linux服务器下的MongoDB数据库固定
使用Xshell工具远程连接到远程服务器后,查询已安装的MongoDB数据库版本号并记录。查询版本的目的:在之后的还原MongoDB时需要安装相同版本的数据库,这样可以避免未知的错误。
停止MongoDB服务,目的:为了防止固定MongDB数据库过程中有数据写入导致数据文件的结构不完整,从而使得之后还原MongDB数据库出现错误。停止MongoDB的指令如图所示,ps aux列出所有运行的进程,grep '[m]ongod'过滤出名字中包含mongod的进程,awk '{print $2}'打印出这些进程的PID,然后kill命令杀死这些进程。
找到MongDB数据库的数据目录,对数据目录进行压缩,压缩完成后MongDB数据库即备份完成。
Tip:当MongoDB数据库压缩完成后,建议在远程服务器上对压缩包第一次计算sha256校验值,然后将压缩包文件传输到本地勘验电脑后再计算一次sha256校验值,确保网络传输过程中未对数据产生改变。
MongoDB数据库在Windows系统下的还原
下载安装与固定的MongDB数据库相同版本的安装包,下载地址https://www.mongodb.com/try/download/community-edition/releases/archive。
下载完成后解压安装包。
将固定完成的MongoDB进行解压。
在MongoDB安装目录下打开cmd命令行,执行如下指令mongod --dbpath J:MongoDBdata_110.42.8.180mongo27019,如图所示还原完成。
将MongoDB中的关键数据表导入MySQL数据库
使用navicat工具连接MongoDB数据库,分析MongoDB数据库中的关键数据,判断案件相关的数据表,user表为关键的用户信息表,以user数据表为例演示如何导出user表的数据后再导入到MySQL数据库。
方法一
直接使用navicat工具导出数据表为csv文件。使用该方法的优点在于操作简单方便,缺点在于对于数据量特别大的数据表使用该方法导出过程会很缓慢甚至导出过程会出现程序崩溃的情况。因此建议数据量少的数据表可以直接使用navicat工具导出成csv文件,数据量大的数据表建议使用方法二。
方法二
新版mongodb中不再包含导入导出工具,需要单独下载安装,下载地址https://www.mongodb.com/try/download/database-tools,下载完成后,解压安装包。
在该目录下打开cmd命令行,执行导出命令。
在这个命令中:
--host 和—port:指定MongoDB的地址和端口。
--db:指定数据库名。
--collection:指定集合名(数据库名)。
--type=csv:指定导出格式为csv。
--fields:指定要导出的字段,多个字段用逗号分隔。
--out:指定文件的路径和名称。
将导出的csv文件导入到新建的MySQL数据库中,这里可以接用navicat工具,直接进行导入。
采用以上方法我们可以完成对远程服务器的MongoDB数据库的固定,本地勘验电脑的MongoDB数据库还原以及导入MySQL数据库进行分析。
点个 在看 你最好看
原文始发于微信公众号(网络安全与取证研究):MongoDB数据库应用指南——现场数据固定与后续分析
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论