Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
dwipe — 用于安全高效擦除Linux设备和分区的工具 | Kitploit
工具/GitHubGitHub/joedefen/dwipe
通用工具加密/解密工具取证分析数据恢复硬件安全实用工具与框架
GitHubjoedefen/dwipe

dwipe

用于安全高效擦除Linux设备和分区的工具

查看仓库
16410345天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

dwipe

dwipe 是一款用于 Linux 的磁盘和分区擦除工具,可帮助保护您的数据安全。dwipe 旨在通过在设备选择过程中提供充足的信息来减少误操作。

dwipe 演示

快速对比

功能dwipenwipeshreddd
固件擦除(SATA/NVMe 安全擦除)✓✗✗✗
软件擦除(零填充、伪随机)✓✓✓✗
交互式 TUI✓✓✗✗
多个同时擦除✓✗✗✗
持久化擦除状态✓✗✗✗
热插拔检测 / 释放✓✗✗✗
设备/分区阻止✓✗✗✗
恢复中断的软件擦除✓✗✗✗
擦除操作日志记录✓✗✗✗
挂载及 LUKS/LVM/RAID/swap 检测✓✓✗✗
快速统计抽样验证✓✗✗✗
认证销毁(DoD/Gutmann 标准、完整验证、证书)✗✓✗✗
  • 固件擦除(SATA/NVMe)是最完整且最快速的:硬件加速擦除在控制器级别运行(数秒至数分钟),清除所有驱动器映射,但需要整盘擦除,且没有进度报告或可见验证。
  • 单次零填充的软件擦除已足够:现代驱动器(2001 年后)使用单次零填充即可可靠擦除(NIST SP 800-88)。多遍模式可提供额外信心,但不会提供额外的安全保障。
  • 验证使用智能统计抽样:即使 1% 的验证也会通过 100 个区段覆盖整个磁盘,提供全面覆盖而无需完整顺序读取。

核心特性

  • 带热插拔检测的交互式 TUI - 存储变化时实时更新设备列表,新添加的设备标记为 ^
  • 硬件加速固件擦除 - 完全支持固件级安全擦除操作(NVMe Sanitize/Format、SATA ATA Security Erase),可在数秒至数分钟内完成,而非数小时
  • 多个同时擦除 - 可同时在多个设备上启动擦除,并单独跟踪进度和完成状态
  • 持久化状态跟踪 - 擦除状态在重启后仍然保留;部分擦除和已完成状态持久保存在设备上(可跨电源循环恢复擦除)
  • 智能设备识别 - 使用 UUID/PARTUUID/序列号在重新连接后稳定跟踪设备
  • 安全保护 - 防止擦除已挂载或正在使用的设备(包括 LUKS/LVM/RAID 容器和 swap),检测重叠擦除,支持设备阻止,内联确认提示
  • 带统计抽样的智能验证 - 快速验证,即使低百分比也能覆盖整个磁盘(1% 验证从全部 100 个磁盘区段抽样)
  • 直接 I/O 到磁盘 - 快速高效的擦除,避免页面缓存污染,具有自动减速/停滞检测和优雅中止
  • 多种颜色主题 - 终端颜色主题专为可读性设计,具有上下文敏感的视觉反馈(已挂载设备变暗,活动擦除高亮)
  • 带日志的擦除历史 - 详细的擦除历史查看器显示时间戳、文件系统、标签和完成百分比,并具有持久记录

系统要求

  • Linux 操作系统(使用 /dev/、/sys/、/proc/ 接口)
  • Python 3.10 或更高版本
  • Root/sudo 权限(运行工具时会自动请求)
  • lsblk 工具(大多数 Linux 发行版通常已预装)
  • nvme-cli - 用于 NVMe 操作(Sanitize/Format 检测)
  • hdparm - 用于 SATA 操作(ATA Security Erase 检测)

可选(用于历史屏幕中的剪贴板复制):

  • xclip 或 xsel - 用于 X11 剪贴板(apt install xclip 或 xsel)
  • wl-clipboard - 用于 Wayland 剪贴板(apt install wl-clipboard)
  • SSH 会话使用 OSC 52 终端转义(无需额外软件包)

安装

  • 推荐(使用 pipx): pipx install dwipe
  • 验证安装: dwipe --help
  • 卸载: pipx uninstall dwipe

快速开始(请至少阅读本节)

  1. 安装 dwipe
  2. 从终端运行 dwipe(会自动请求 sudo)
  3. 观察第一行的上下文敏感帮助
  4. 使用方向键或类 vi 按键(j/k)导航
  5. 按 ? 查看完整帮助屏幕
  6. 当您按 w 擦除驱动器时, 必须输入缩写(例如 Rand、Zero、Crypto);擦除选项按从最不推荐到最推荐排列,最后一个标记为 *。通常选择最后一个选项,但是……
  7. 驱动器和操作系统经常谎报驱动器类型。 要同时智胜两者:
    • 对于机械硬盘(HDD),始终使用 Rand 或 Zero(可中断,显示进度)。
    • 对于固态硬盘(SSD),始终使用固件擦除(如果可用)(更快,可触及隐藏块)。
  8. 如果驱动器显示为 'Frozen'(冻结),短暂挂起系统然后恢复;dwipe 会自动检测恢复并重新扫描。或按 r 手动重新扫描。驱动器应恢复为未冻结状态。
  9. 如果驱动器显示为 'Locked'(锁定),您必须手动解锁(参见下方"解锁锁定设备"部分)。如果 dwipe 锁定了它,密码为 NULL;否则使用锁定它的密码。
  10. SATA 驱动器的热插拔工作流程:按 DEL 分离,物理更换驱动器,然后按 r 重新扫描(如需要)。

功能

dwipe 提供全面的磁盘擦除能力及安全功能:

  • 智能设备显示 - 显示磁盘和分区及其标签、大小、类型和厂商/型号信息,帮助正确识别设备
  • 安全保护 - 防止擦除已挂载或正在使用的设备(包括 LUKS/LVM/RAID 容器和 swap),检测重叠擦除,支持手动磁盘阻止
  • 热插拔检测 - 存储变化时更新设备列表;新添加的设备标记为 ^ 以便于识别
  • 多个同时擦除 - 可同时在多个设备上启动擦除,并单独跟踪进度和完成状态
  • 灵活的擦除模式 - 可选择 Rand、Zero、Rand+V(带自动验证)或 Zero+V(带自动验证)
  • 设备过滤 - 当设备过多无法在一屏显示时,使用正则表达式按名称/模式过滤设备
  • 停止能力 - 停止单个擦除或所有正在进行的擦除
  • 磁盘阻止 - 手动阻止磁盘以防止意外擦除(阻止会隐藏所有分区)

注意: dwipe 显示文件系统标签,如果不可用则显示分区标签。最佳实践是良好地标记分区和文件系统,以便于选择。

使用方法

只需从命令行运行 dwipe 且不带参数:dwipe

命令行选项

注意: 所有偏好选项默认使用您上次保存的值。这些默认值显示在 --help 中,并可通过键盘快捷键交互式更改。命令行参数会覆盖已保存的偏好。

擦除配置

  • --mode {-V,+V} - 验证模式(默认:您上次的偏好)
    • -V - 擦除时不自动验证
    • +V - 擦除完成后验证设备
  • --passes {1,2,4} - 软件擦除的遍数(默认:您上次的偏好)
    • 单遍(1)是大多数用例的标准
    • 多遍(2 或 4)在零和随机模式之间交替
  • --verify-pct {1,3,10,30,100} - 验证百分比(默认:您上次的偏好)
    • 擦除后验证磁盘的百分比(1% = 快速抽查,100% = 完整验证)

显示和性能

  • --dense {True,False} - 紧凑视图模式(默认:您上次的偏好)
    • True - 紧凑间距(磁盘之间空行更少)
    • False - 间隔视图(磁盘之间空行以提高可读性)
  • --port-serial {Auto,On,Off} - 磁盘端口/序列号显示(默认:您上次的偏好)
    • Auto - 仅对整盘显示端口/序列号(推荐)
    • On - 始终显示端口和序列号
    • Off - 从不显示端口和序列号

驱动器处理调优

  • --slowdown-stop {0,4,16,64,256} - 如果磁盘减速则停止(默认:您上次的偏好,毫秒)
    • 0 = 禁用
    • 其他值 = 性能下降的检查间隔(毫秒)
  • --stall-timeout {0,60,120,300,600} - 停滞超时(秒)(默认:您上次的偏好)
    • 0 = 禁用(永不超时)
    • 其他值 = 如果在此秒数内没有数据传输进展则停止擦除

高级选项

  • --firmware-wipes 或 -F - 启用固件擦除
    • 启用基于硬件的安全擦除操作(NVMe Sanitize/Format、SATA ATA Security Erase)
    • 没有此标志时,仅可使用软件擦除(Zero/Rand)
  • --auto-block-containers {on,off} - 首次见到加密/堆叠容器时自动阻止(默认:on)
    • 首次见到文件系统为容器(LUKS、LVM、RAID 成员、swap)的设备时阻止它们,因此擦除需要显式解除阻止(b)
    • 阻止按设备记忆;一旦解除阻止,将保持解除状态
    • 在批量重新配置多个加密磁盘时设置为 off,以避免逐个解除阻止
  • --dump-lsblk - 转储解析的设备信息并退出(用于调试)
  • --help - 显示包含所有可用选项的帮助信息

颜色图例

dwipe 使用颜色编码提供关于设备和操作状态的即时视觉反馈:

  • 变暗(灰色) - 已挂载、正在使用(LUKS/LVM/RAID/swap)或已阻止的设备(无法擦除)
  • 默认(白色) - 可擦除、空闲状态或之前已擦除(本次会话之前)
  • 亮青色/蓝色 + 粗体 - 正在进行的擦除或验证(0-100% 写入,v0-v100% 验证)
  • 粗体黄色 - 已停止或部分完成的擦除
  • 粗体绿色 - ✅ 在本次会话中成功完成的擦除(可以换出!)
  • 较暗绿色 - ✅ 在之前会话中成功完成的擦除。
  • 粗体橙色 - 新插入(热插拔)的设备
  • 粗体红色 - 破坏性操作提示(擦除确认)

颜色主题

dwipe 支持多种颜色主题以提高可见性和美观性。

可用主题:

  • default - 终端默认(基本 ANSI 颜色)
  • dark-mono - 深色单色(近白在近黑上,带亮色)
  • light-mono - 浅色单色(近黑在近白上,带亮色)
  • solarized-dark - Solarized 深色调色板
  • solarized-light - Solarized 浅色调色板(用于浅色终端背景)
  • gruvbox - Gruvbox 深色调色板
  • nord - Nord 调色板

更改主题:

  • 从主屏幕按 t 打开主题预览屏幕
  • 主题屏幕显示每种颜色用途(DANGER、SUCCESS、WARNING 等)的颜色示例
  • 在主题屏幕上按 t 循环切换可用主题并实时预览
  • 按 ESC 或 ENTER 返回主屏幕
  • 选定的主题会被保存并在会话之间持久保留

主题特性:

  • 已停止擦除(状态 s)使用黄色/警告色 - 即使未选中也高度可见
  • 擦除确认提示使用红色/危险色
  • 协调的调色板专为终端可读性设计

设备状态值

STATE 列显示每个设备的当前状态:

状态含义
-设备已准备好擦除
^设备已准备好擦除,且在 dwipe 启动后添加(热插拔)
Mnt分区/磁盘已挂载,或通过 swap/LUKS/LVM/RAID 映射正在使用 - 无法擦除
N%擦除正在进行(显示完成百分比,0-100%)
vN%验证正在进行(显示完成百分比,v0-v100%)
STOP擦除或验证正在停止
s擦除已停止 - 设备部分擦除(可重新启动或验证)
W擦除已成功完成(可再次擦除或验证)
Blk设备/磁盘已阻止(使用 b,或当它是 LUKS/LVM/RAID/swap 容器时自动阻止)- 无法擦除
Unbl磁盘刚刚解除阻止(过渡状态)

挂载 / 状态列

MOUNTS/STATUS 列显示设备当前的使用方式:

显示含义
/, /data真实挂载点(直接挂载,或通过 LUKS/LVM/RAID 映射挂载)
\busy正在使用但未挂载 — 例如打开的 LUKS 容器、活动的 LVM 卷组、运行中的 RAID 阵列或活动 swap

两者都被视为已挂载:设备变暗,且不提供 w(擦除)。\busy 使用反斜杠(而非 /)以明确它不是真实挂载点,但出于安全考虑仍像挂载点一样对待。要擦除此类设备,请先释放持有它的层(参见擦除问题)。

注意: 由较低层(dm-crypt/LUKS、LVM、md/RAID、swap)持有的设备即使自身未挂载也受到保护。在映射活动时擦除底层设备会损坏容器,因此 dwipe 将其视为已挂载。通过映射到达的挂载点会归属回底层设备,因此 LUKS 分区会显示其解锁映射的挂载。

自动阻止容器

dwipe 会在首次见到持有加密或堆叠容器的设备时自动阻止它们,无论它们当前是否正在使用。这可以保护那些否则容易被意外擦除的数据,因为关闭的容器除了其类型外几乎不显示任何提示:

  • crypto_LUKS(dm-crypt/LUKS)
  • LVM2_member(LVM 物理卷)
  • linux_raid_member / isw_raid_member / ddf_raid_member(RAID 成员)
  • swap

此类设备显示状态 Blk 及 auto-blocked 状态,其整个磁盘也受到保护(继承阻止)。要擦除它,按 b 解除阻止 — 解除阻止会被记住,因此后续扫描不会重新阻止。

自动阻止默认开启。在批量重新配置时使用 --auto-block-containers off 禁用它(保存为偏好)。

可用操作

顶行显示可用操作。有些是上下文敏感的(仅对某些设备可用):

按键操作描述
w擦除擦除选定的设备(需要确认)
v验证验证已擦除的设备或检测未标记磁盘上的模式(上下文敏感)
s停止停止选定的正在进行的擦除(上下文敏感)
S全部停止停止所有正在进行的擦除
DEL删除从系统移除磁盘(仅整盘,上下文敏感)
b阻止/解除阻止阻止或解除阻止磁盘以防止意外擦除
/过滤使用正则表达式模式过滤设备(显示匹配的设备 + 所有活动擦除)
r重新扫描重新扫描所有设备并重置硬件能力检测
h历史显示擦除历史日志
t主题打开主题预览屏幕以查看和更改颜色主题
q 或 x退出退出应用程序(先停止所有擦除)
?帮助显示包含所有操作和导航键的帮助屏幕
ESC清除过滤清除过滤并跳转到列表顶部
ESC返回如果在嵌套屏幕上则返回上一屏幕
a时间格式循环切换擦除历史时间显示格式(之前+时间、之前、时间)

历史屏幕

按 h 查看擦除历史日志。历史屏幕显示所有擦除和验证操作及其时间戳、设备信息和结果。

历史屏幕操作:

  • e - 展开/折叠条目以显示完整 JSON 详情
  • c - 复制当前条目到剪贴板(见下文)
  • / - 搜索/过滤条目(前缀 / 进行深度 JSON 搜索)
  • a - 循环切换时间格式(之前+时间、之前、时间)
  • ESC - 返回主屏幕

剪贴板复制方法(自动检测):

环境方法备注
SSH 会话OSC 52终端转义序列;需要终端支持(iTerm2、kitty、alacritty、Windows Terminal、带 set-clipboard on 的 tmux)
Waylandwl-copy需要 wl-clipboard 软件包
X11xclip/xsel需要 xclip 或 xsel 软件包
回退终端退出到 shell,打印条目以供手动复制

注意: 如果 OSC 52 与您的终端不兼容,文本仍会显示在屏幕上以供手动选择。对于 tmux,在 .tmux.conf 中使用 set -g set-clipboard on 启用剪贴板。

擦除类型

下载工具