服务器数据恢复-EXT3分区误删除邮件的数据恢复案例
服务器数据恢复环境:
一台服务器有一组由8块盘组建的RAID5阵列,EXT3文件系统。
服务器故障:
由于工作人员的误操作导致文件系统中的邮件丢失。用户需要恢复丢失的邮件数据。
服务器数据恢复过程:
1、将故障服务器中所有磁盘以只读方式进行全盘镜像备份。后续的数据分析和数据恢复操作都在镜像盘上进行, 避免对原始磁盘数据造成二次破坏。
镜像截图:
2、基于镜像文件分析数据在硬盘上的分布规律, 获取RAID类型,、RAID条带大小,盘序等raid相关信息。利用这些raid信息虚拟重构RAID。

3、通过重构好的RAID阵列可以看到上层划分了数个EXT3分区。分析每个分区中底层数据, 发现其中一个分区里有大量的邮件头和nsmail目录,,可以确认此分区就是需要恢复数据的目标分区,使用工具将此分区导出。
RAID中的所有分区:
nsmail文件夹:
邮件头示例:
4、EXT3文件系统中文件被删除后,节点中的文件大小和块指针都会被清零,很难通过常规手段去恢复数据。针对EXT3文件系统的特点和邮件文件本身的结构,北亚企安数据恢复工程师敲定数据恢复方案:扫描整个文件系统,将找到的邮件文件全部取出,然后根据邮件本身记录的收件人、发件人、抄送、主题等信息进行整理,最后迁移数据。详细过程:
a、北亚企安数据恢复工程师编写邮件标识程序和ext3文件系统邮件提取程序。
b、按小于48k、大于48k两种算法对邮件进行提取。提取同时生成邮件索引信息库,并且提取非自由空间和非邮件区。
c、人工分析提取的非自由空间和非邮件区进行,确定是否有遗漏的邮件。如果有则确定遗漏的原因,调整算法重新进行扫描。
d、重复上述两步,直到最后的非自由空间和非邮件区中没有遗漏的邮件。
e、将所有提取出来的邮件按照数据库中解析到的收件人和发件人归类,每个账号一个文件夹,内含收件和发件两个文件夹。
经过数次算法改进和多次细节增删,剩余的非自由空间和非邮件区经过人工验证也无法找到新的邮件文件,只剩下一些无法拼接的邮件中间碎片和一些杂乱数据。
邮件中间碎片:
垃圾数据:
验证数据 :
验证数据分为两部分:1、邮件数据量的验证。通过对几个已知账号的收件和发件数量的统计,大概估算一下邮件的恢复比例。2、邮件正确性的验证。用FoxMail打开提取出的邮件,查看内容是否正常。
几个账号的数量:
一些邮件内容:
经过验证,用户方确认恢复出来的重要邮件数据都在,认可恢复结果。北亚企安数据恢复工程师配合用户将所有提取出的邮件迁移到用户指定的邮件平台。
相关文章:
服务器数据恢复-EXT3分区误删除邮件的数据恢复案例
服务器数据恢复环境: 一台服务器有一组由8块盘组建的RAID5阵列,EXT3文件系统。 服务器故障: 由于工作人员的误操作导致文件系统中的邮件丢失。用户需要恢复丢失的邮件数据。 服务器数据恢复过程: 1、将故障服务器中所有磁盘以只…...
C 语言的逗号运算符
逗号运算符 comma operator 逗号运算符最常用在 for 循环的循环头中. 程序示例: #include<stdio.h> #define FIRST_OZ 46 #define NEXT_OZ 20int main(void) {int ounces;float cost;printf("ounces cost\n");for (ounces 1, cost FIRST_OZ…...
无人车沿着指定线路自动驾驶与远程控制的实践应用
有了前面颜色识别跟踪的基础之后,我们就可以设定颜色路径,让无人车沿着指定线路做自动驾驶了,视频:PID控制无人车自动驾驶 有了前几章的知识铺垫,就比较简单了,也是属于颜色识别的一种应用,主要…...
C++ 多态性——纯虚函数与抽象类
抽象类是一种特殊的类,它为一个类族提供统一的操作界面。抽象类是为了抽象和设计的目的而建立的。可以说,建立抽象类,就是为了通过它多态地使用其中的成员函数。抽象类处于类层次的上层,一个抽象类自身无法实例化,也就…...
小程序如何使用防抖和节流?
防抖(Debounce)和节流(Throttle)都是用来优化函数执行频率的技术,特别在处理用户输入、滚动等频繁触发的情况下,它们可以有效减少函数的执行次数,从而提升性能和用户体验。但它们的工作方式和应…...
计算机三级网络技术(持续更新)
BGP考点 A S:自治系统 BGP: Border Gateway Protocol(当前使用的版本是 BGP-4)外部网关协议 动态路由协议可以按照工作范围分为IGP以及EGP。IGP工作在同一个AS内,主要用来发现和计算路由,为AS内提供路由信息的交换&…...
Django Rest_Framework(二)
文章目录 1. http请求响应1.1. 请求与响应1.1.1 Request1.1.1.1 常用属性1).data2).query_params3)request._request 基本使用 1.1.2 Response1.1.2.1 构造方式1.1.2.2 response对象的属性1).data2).status_code3&…...
Kotlin~Visitor访问者模式
概念 将数据结构和操作分离,使操作集合可以独立于数据结构变化。 角色介绍 Visitor:抽象访问者,为对象结构每个具体元素类声明一个访问操作。Element:抽象元素,定义一个accept方法ConcreteElement:具体元…...
LVS-DR模式集群构建过程演示
一、工作原理 LVS的工作原理 1.当用户向负载均衡调度器(Director Server)发起请求,调度器将请求发往至内核空间 2.PREROUTING链首先会接收到用户请求,判断目标IP确定是本机IP,将数据包发往INPUT链 3.IPVS是工作在IN…...
UML-A 卷-知识考卷
UML-A 卷-知识考卷 UML有多少种图,请列出每种图的名字: 常用的几种UML图: 类图(Class Diagram):类图是描述类、接口、关联关系和继承关系的图形化表示。它展示了系统中各个类之间的静态结构和关系。时序…...
BpBinder与PPBinder调用过程——Android开发Binder IPC通信技术
在Android系统中,进程间通信(IPC)是一个非常重要的话题。Android系统通过Binder IPC机制实现进程间通信,而Binder IPC通信技术则是Android系统中最为重要的进程间通信技术之一。本文将介绍Binder IPC通信技术的原理,并…...
篇十五:模板方法模式:固定算法的步骤
篇十五:"模板方法模式:固定算法的步骤" 设计模式是软件开发中的重要知识,模板方法模式(Template Method Pattern)是一种行为型设计模式,用于定义一个算法的骨架,将算法中一些步骤的具…...
web-ssrf
目录 ssrf介绍 以pikachu靶场为例 curl 访问外网链接 利用file协议查看本地文件 利用dict协议扫描内网主机开放端口 file_get_content 利用file协议查看本地文件: fsockopen() 防御方式: ssrf介绍 服务器端请求伪造,是一种由攻击者构造形成…...
【HarmonyOS】【续集】实现从视频提取音频并保存到pcm文件功能(API6 Java)
【关键字】 视频提取类Extractor、视频编解码、保存pcm文件、getAudioTime 【背景和问题】 上篇中介绍了从视频提取音频并保存到pcm文件功能,请参考文档:https://developer.huawei.com/consumer/cn/forum/topic/0209125665541017202?fid0101591351254…...
MySQL为什么要使用 B+Tree 作为索引结构?
MySQL为什么要使用 BTree 作为索引结构? 基本情况 常规的数据库存储引擎 ,一般都是采用 B 树或者 B树来实现索引的存储。B树是一种多路平衡树,用这种存储结构来存储大量数据,它的整个高度 会相比二叉树来说 ,会矮很多…...
Three.js阴影
目录 Three.js入门 Three.js光源 Three.js阴影 使用灯光后,场景中就会产生阴影。物体的背面确实在黑暗中,这称为核心阴影(core shadow)。我们缺少的是落下的阴影(drop shadow),即对象在其他…...
VSCode Remote-SSH (Windows)
1. VSCode 安装 VSCode 2. 安装扩展 Remote SSH Getting started Follow the step-by-step tutorial or if you have a simple SSH host setup, connect to it as follows: Press F1 and run the Remote-SSH: Open SSH Host… command.Enter your user and host/IP in the …...
现代C++中的从头开始深度学习【1/8】:基础知识
一、说明 提及机器学习框架与研究和工业的相关性。现在很少有项目不使用Google TensorFlow或Meta PyTorch,在于它们的可扩展性和灵活性。也就是说,花时间从头开始编码机器学习算法似乎违反直觉,即没有任何基本框架。然而,事实并非…...
Jwt(Json web token)——使用token的权限验证方法 用户+角色+权限表设计 SpringBoot项目应用
目录 引出使用token的权限验证方法流程 用户、角色、权限表设计权限表角色表角色-权限关联表用户表查询用户的权限(四表联查)数据库的视图 项目中的应用自定义注解拦截器controller层DTO返回给前端枚举类型的json化日期json问题 实体类-DAO 总结 引出 1.…...
SpringWeb项目核心功能总结
SpringWeb项目核心功能总结 文章目录 SpringWeb项目核心功能总结1.浏览器与Java程序的连接(个人偏好使用RequestMapping)2.参数的传入3.结果的返回请求转发和请求重定向的区别 核心功能用到的注解: RestControllerControllerResponseBodyRequ…...
告别泊车翻车!用Python手把手教你搭建二自由度车辆模型(附代码)
二自由度车辆模型实战:从原理到避坑指南 泊车时方向盘打满,仿真结果却和实际相差十万八千里?很多刚入行自动驾驶仿真的工程师都踩过这个坑。二自由度模型作为车辆动力学的基础工具,在高速巡航等小转角场景表现优异,但遇…...
立体匹配中的“性价比”之选:深入解读GWCNet的组相关思想与实时应用潜力
立体匹配中的“性价比”之选:深入解读GWCNet的组相关思想与实时应用潜力 在自动驾驶和机器人导航领域,立体视觉系统需要实时处理大量视觉数据,这对算法的计算效率提出了严苛要求。传统立体匹配算法往往面临一个两难选择:要么追求…...
如何快速掌握京东自动抢购工具:面向新手的终极完整指南
如何快速掌握京东自动抢购工具:面向新手的终极完整指南 【免费下载链接】autobuy-jd 使用python语言的京东平台抢购脚本 项目地址: https://gitcode.com/gh_mirrors/au/autobuy-jd 还在为抢购心仪商品时手速不够快而烦恼?Autobuy-JD自动抢购脚本为…...
WeChatFerry微信机器人:3步打造你的AI智能助手
WeChatFerry微信机器人:3步打造你的AI智能助手 【免费下载链接】WeChatFerry 微信机器人,可接入DeepSeek、Gemini、ChatGPT、ChatGLM、讯飞星火、Tigerbot等大模型。微信 hook WeChat Robot Hook. 项目地址: https://gitcode.com/GitHub_Trending/we/W…...
3步解决微信红包难题:智能助手帮你告别手慢烦恼
3步解决微信红包难题:智能助手帮你告别手慢烦恼 【免费下载链接】WeChatLuckyMoney :money_with_wings: WeChats lucky money helper (微信抢红包插件) by Zhongyi Tong. An Android app that helps you snatch red packets in WeChat groups. 项目地址: https:/…...
从一家工厂的产品图、SKU 宽度和产品页,能读出哪些经营信息?一份给采购方和上游销售员的读图手册
采购、品牌方、上游销售员常遇到同一种困惑:打开一家"工厂"的店铺,产品图漂亮、SKU 铺得一大屏、参数行行写满,但聊几句发现对方根本不是工厂,是转单贸易商;或者是真工厂,但定位和需求完全错位。…...
Windows右键菜单终极优化指南:用ContextMenuManager让你的右键菜单秒开如飞
Windows右键菜单终极优化指南:用ContextMenuManager让你的右键菜单秒开如飞 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是否经历过这样的烦恼&…...
【数字图传第四步】Android App查看图传视频
接上回 前面三个章节完成之后,我们就有了一个图传的发送端(可以是esp32cam,也可以是esp32s3cam),一个是图传接收端(usb 摄像头 串口)。图传的发送端,淘宝上到处都是。接收端必须是…...
CANN-Ascend-C流水线编程-昇腾NPU上Cube和Vector怎么协作
CANN-Ascend-C流水线编程-昇腾NPU上Cube和Vector怎么协作 昇腾NPU的 AI Core 里有两种计算单元:Cube 做矩阵乘法,Vector 做逐元素运算。FlashAttention 这种融合算子需要 Cube 和 Vector 交替工作——先 Cube 算 QK^T,再 Vector 算 Softmax&a…...
DRAM内存计算技术PUDTune:原理、优化与应用
1. 内存计算与DRAM技术背景在传统冯诺依曼架构中,数据需要在处理器和内存之间频繁搬运,这种"内存墙"问题已成为制约计算性能提升的主要瓶颈。内存计算(In-Memory Computing)技术通过直接在存储介质中执行计算操作&#…...
