Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
etl2pcapng — 将包含 Windows 网络数据包捕获的 .etl 文件转换为 .pcapng 格式的工具。 | Kitploit
工具/GitHubGitHub/microsoft/etl2pcapng
数据包嗅探与分析网络取证取证分析实用工具与框架
GitHubmicrosoft/etl2pcapng

etl2pcapng

将包含 Windows 网络数据包捕获的 .etl 文件转换为 .pcapng 格式的工具。

查看仓库
7351301年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

关于

此工具使您能够使用 Wireshark 查看 ndiscap 和 pktmon 的数据包捕获。由于另一种流行的数据包捕获方法(WinPcap,包含在旧版 Wireshark 中)存在性能问题,因此应优先使用这些内置工具。

Windows 拥有多个能够进行数据包捕获的内置组件:

  • "pktmon" 作为 Windows 操作系统的一个组成部分实现。它能够捕获操作系统中许多组件的数据包,使您能够全面了解数据包在系统中传输的生命周期。可以通过以下方式收集捕获:
    root@kitploit:~
    pktmon start --capture
    <repro>
    pktmon stop
    
  • "ndiscap" 作为 ETW 跟踪提供程序实现。可以通过以下方式收集捕获:
    root@kitploit:~
    netsh trace start capture=yes report=disabled
    <repro>
    netsh trace stop
    

这些工具生成的文件是 etl 文件,可以通过以 ETW 为中心的工具(如 Microsoft Message Analyzer)打开,但无法通过 Wireshark 打开,而 Wireshark 是许多工程师偏爱的工具。Etl2pcapng.exe 可以将 etl 文件转换为 pcapng 文件,以便使用 Wireshark 打开,或使用具有 pcapng 库的语言(如 Python 和 Rust)进行分析。

注:pktmon 有一个内置的 etl2pcap 转换实用程序("pktmon etl2pcap <filename>"),它也能够生成基本的 pcapng 文件。etl2pcapng 提供了与内置实用程序类似的转换功能,并增加了以下特性:

  • 保留所有使用的组件作为 pcapng 接口。
  • 在接口描述块中为每个接口提供额外信息,例如名称、描述、IP 地址(IPv4 和 IPv6)以及 MAC 地址(如果可用)。
  • 在每个数据包上保留 pktmon pktgroupid,用于关联同一数据包的多次出现。该信息存储在增强数据包块的 PacketId 选项字段中。
  • 在增强数据包块的 verdict 选项字段中标记操作系统丢弃的数据包。
  • 将其他跟踪提供程序消息输出为 systemd 日志导出块。

用法

预构建的二进制文件可在 Releases 部分获取:https://github.com/microsoft/etl2pcapng/releases

运行工具命令:

root@kitploit:~
etl2pcapng.exe in.etl out.pcapng

转换文件后,工具会打印一个表格,显示 Windows 接口索引与 pcapng 接口 ID 之间的映射。

输出的 pcapng 文件将在每个数据包上添加一条注释,指出记录数据包时当前进程的 PID。警告:这通常与实际发送或接收数据包的进程 PID 不同,因为数据包捕获提供程序通常运行在 DPC 中(它在任意进程中运行)。用户在使用 PID 信息时应牢记这一点。

构建

在 src 目录的命令提示符中运行以下命令。至少需要 CMake 3.15。

root@kitploit:~
mkdir build
cd build
cmake ..
cmake --build . --config Release

二进制文件将位于 build/Release/etl2pcapng.exe

历史

1.12.0 - 添加对 pktmon 生成的 etl 文件的支持,并将其他提供程序事件输出为 systemd 日志导出块。

1.11.0 - 允许省略输出文件名(例如 "etl2pcapng.exe foo.etl"。输出文件名变为 "foo.pcapng")。

1.10.0 - 速度提升 10 倍。

1.9.0 - 添加对 Microsoft-Windows-Ras-NdisWanPacketCapture(VPN/远程访问)事件解码的支持,并在数据包注释中添加线程 ID(TID)

1.8.0 - 为 VMSwitch 数据包的数据包注释添加 RSS 哈希值。

1.7.0 - 在数据包注释中包含 VMSwitch 数据包信息。

1.6.0 - 启用 ControlFlowGuard。

1.5.0 - 将 iftype 和 ifindex 写入接口描述块,并静态链接 C 运行时,因此无需安装 vcredist。

1.4.1 - 修复导致写入损坏数据包的 bug。

1.4.0 - 如果捕获的分片被截断,自动推断原始分片长度。

1.3.0 - 为每个数据包添加包含进程 ID(PID)的注释。

1.2.0 - 写入每个数据包的方向信息(epb_flags)。

1.1.0 - 添加对来自 Win8 及更早版本跟踪中的多事件数据包的支持。

贡献

本项目欢迎您的贡献和建议。大多数贡献需要您同意一份贡献者许可协议(CLA),声明您有权并且确实授予我们使用您贡献的权利。有关详情,请访问 https://cla.opensource.microsoft.com。

当您提交拉取请求时,CLA 机器人会自动确定您是否需要提供 CLA,并适当装饰 PR(例如状态检查、评论)。只需按照机器人提供的说明操作即可。在所有使用我们 CLA 的仓库中,您只需执行一次此操作。

本项目采用了 Microsoft 开源行为准则。有关更多信息,请参阅行为准则常见问题解答或联系 [email protected] 提出任何其他问题或意见。

下载工具