我在一个大的 pcapng 文件上使用带有选项“-d”的 editcap 来删除重复的数据包(源文件 11GB,新文件 5GB)。之后,我从两个 pcapng 文件中提取了所有包含的文件(免费使用 Networkminer)。我认为不会有数据丢失。相反,当我比较两个提取文件夹 (AssembledFiles) 时,我发现其中一个中缺少大约 30 个文件。这要怎么解释?为什么删除重复数据包会导致数据丢失?
我从“ https://www.wireshark.org/download.html ”下载了 Wireshark文件:Windows Installer (64-bit) - Stable Release 2.6.6 - (v2.6.6-0-gdf942cd8)
然后我从 Wireshark 安装文件夹中获得了 editcap (v 2.6.6.0)。<<...... c:\Program Files\Wireshark\ ......>>
批:
<<...
@echo 关闭
回声。
回声。
echo 1.打印editcap版本的
echo。
"c:\Program Files\Wireshark\editcap.exe" -V
回声。
回声。
echo 2. 从 File.pcapng
echo 中删除重复的数据包。
"c:\Program Files\Wireshark\editcap.exe" -d "File.pcapng" "File_nodup.pcapng"
回显。
回声。
echo 3. 将 File.pcapng 和 File_nodup.pcapng 转换为 pcap 格式
echo(为了使其对 NetworkMiner 免费可读,忘记提及这一步...)
echo。
"c:\Program Files\Wireshark\editcap.exe" -F pcap "File.pcapng" "File.pcap"
回显。
"c:\Program Files\Wireshark\editcap.exe" -F pcap "File_nodup.pcapng" "File_nodup.pcap"
回显。
回声完成。
暂停
……>>
结果:
<<...... Editcap (Wireshark) 2.6.6 (v2.6.6-0-gdf942cd8)
版权所有 1998-2019 Gerald Combs 和贡献者。许可证 GPLv2+:GNU GPL 版本 2 或更高版本http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 这是免费软件;查看复制条件的来源。没有保修;甚至不考虑适销性或特定用途的适用性。
使用 GLib 2.42.0 和 zlib 1.2.11 编译(64 位)。
在 64 位 Windows 10 上运行,构建 17763,配备 Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz(使用 SSE4.2),具有 7841 MB 物理内存,使用语言环境 C,支持二进制插件(1加载)。
使用 Microsoft Visual Studio 2017(VC++ 14.12,内部版本 25835)构建。
- 从 File.pcapng 中删除重复的数据包
看到 13625734 个数据包,跳过 6814005 个数据包,重复窗口为 5 个数据包。
- 将 File.pcapng 和 File_nodup.pcapng 转换为 pcap 格式
(为了使其对 NetworkMiner 免费可读,忘记提及这一步...)
完毕。
……>>
新批次:
@echo 关闭
回声。
回声。
echo 1. 将 File.pcapng 转换为 pcap 格式
"c:\Program Files\Wireshark\editcap.exe" -F pcap "File.pcapng" "File.pcap"
echo。
回声。
echo 2. 从 File.pcap 中删除重复的数据包(需要参数“-F pcap”以避免输出重新转换为 pcapng...)
“c:\Program Files\Wireshark\editcap.exe”-d -F pcap“ File.pcap" "File_nodup.pcap"
回声。
回声完成。