问题标签 [pcap-ng]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
277 浏览

video - 无法从 pcapng 中提取视频,保存的 Wireshark 文件

我正在尝试使用wireshark从实时视频流中提取/保存视频。我能够存储/获取 rtmpt 数据包但是,我无法从这些数据包中提取视频......

  1. 有没有办法从 pcapng 文件中提取视频?
  2. 直播时可以直接提取视频吗?
0 投票
1 回答
196 浏览

c# - 如何从 pcap-ng 文件中的数据包数据中提取链路层数据?

我有一个 pcap-ng 文件,我想提取源/目标 IP。

根据winpcap转储文件格式,我要找的数据在增强包块的包数据部分。

我一直在 C# 中使用这个库来解析 pcap-ng 文件。虽然我已经能够成功摆脱增强型数据包块,但我真的不知道如何进入它。

当前的增强型数据包块数据包数据以字节数组的形式出现,使用以下方法。

它会输出您所期望的,类似于以下内容:

一个很好的答案可能是一些不同的事情,比如关于在哪里寻找以了解更多关于我下一步需要做什么的指导。一个已经可以使用的库(我尝试了很多库,但似乎没有一个能深入到这个程度)。或者,如果您已经有一些代码可以做到这一点,那就太棒了。如有必要,我也愿意转向 Python。


附加信息。

我知道我可以从增强数据包块中解析源 IP 和目标 IP,并且我知道它需要十六进制到 IP 的转换,但我不知道增强数据包块中 IP Hex 存在的位置。我知道它不是每次都在同一个地方,但我需要知道如何计算它。

0 投票
1 回答
2660 浏览

pcap-ng - C++ - 在没有 libpcap 的情况下读写 pcapng 文件

我有兴趣在不使用 libpcap 或 WinPcap 的情况下读写 pcapng 文件。有谁知道该怎么做?

0 投票
1 回答
1592 浏览

python - 蟒蛇 | 使用 Pyshark 合并多个 pcap/pcapng 文件

使用 Pyshark 模块,有没有办法有效地合并/加入多个 pcap/pcapng 文件?

尝试在 Python 中使用 pyshark.FileCapture 和本机文件方法,但没有成功。

有任何想法吗?

提前致谢!

0 投票
0 回答
384 浏览

python - Python出于莫名其妙的原因给出KeyError

我收到了这个错误,我在 python 中很长时间无法弄清楚:

我正在调用get_pcapng_section_header()我导入的另一个文件中的函数,如下所示:

这是我从主函数调用模块的方式:

这是 pcapng 模块的片段:

0 投票
1 回答
547 浏览

wireshark - 如何使用 tshark 从 .pcapng 文件中读取接口名称?

我正在尝试运行此tshark命令:

tshark -r $file -T fields -E separator=/t -e frame.number -e frame.time -e frame.protocols -e frame.len -e frame.interface_id -e frame.interface_name

我收到这个警告:

** (process:30955): WARNING **: 'frame.interface_name' isn't a valid field! tshark: Some fields aren't valid

但是当我打开文件时,我可以看到该字段Wireshark

访问 interface_name 信息的正确方法是什么?

我正在使用以下 tshark 版本-

我尝试更新wireshark -

$ sudo apt-get install wireshark Reading package lists... Done Building dependency tree
Reading state information... Done wireshark is already the newest version. You might want to run 'apt-get -f install' to correct these: The following packages have unmet dependencies: isc-dhcp-relay : Depends: isc-dhcp-common (= 4.2.2.dfsg.1-5+deb70u8) but 4.2.2.dfsg.1-5+deb70u8 is to be installed isc-dhcp-server : Depends: isc-dhcp-common (= 4.2.2.dfsg.1-5+deb70u8) but 4.2.2.dfsg.1-5+deb70u8 is to be installed libsnmp-perl : Depends: perl (>= 5.14.2-21+deb7u5) but 5.14.2-21+deb7u3 is to be installed E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

它说wireshark is already the newest version

这是机器的 linux 操作系统详细信息: Distributor ID: Debian Description: Debian GNU/Linux 7.8 (wheezy) Release: 7.8 Codename: wheezy

0 投票
0 回答
314 浏览

wireshark - 为什么使用editcap“-d”会丢失数据?

我在一个大的 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)构建。

  1. 从 File.pcapng 中删除重复的数据包

看到 13625734 个数据包,跳过 6814005 个数据包,重复窗口为 5 个数据包。

  1. 将 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"
回声。

回声完成。

0 投票
0 回答
525 浏览

dpkt - dpkt 是否支持将数据文件写入 pcpang?

到目前为止,我一直无法成功地将从 dpkt.pcapng 解析的数据包写入新的 pcapng 文件。时间戳按预期正确重写,但数据包有效负载被覆盖为我无法追溯到的通用(?)值

(我无法发布图片,但我会尝试将一张图片上传到共享网站并在此处链接)

我尝试遵循单元测试文件的写入顺序,但无法确定在读取数据包或写入数据包时是否出现错误。

任何帮助,将不胜感激!

0 投票
1 回答
771 浏览

python - 如何从 kismet 读取 pcapng 文件流

我正在使用在树莓派上运行的 kismet 来捕获我需要在另一台设备上实时分析的网络数据。Kismet 的 api 有一个端点来接收 pcapng 格式的二进制数据流. 我已经成功地读取了流,但是除了实际的 pcapng 标准之外,我找不到任何关于从流中获取有用数据的文档。这很好,但传入的数据与格式不一致,我发现没有能够成功解析此流的库。我认为问题在于,在读取流时,在每个捕获的数据包之间插入了额外的数据,因此确定数据包的开始是主要问题。我目前正在使用 python,但如果他们可以轻松解决这个问题或已经编写了库,我对其他语言持开放态度。

这是我用来将数据导入 python 的代码,我print(line.hex())将在其中访问相关数据。

0 投票
3 回答
1438 浏览

c# - 如何在 C# 中解析 Pcapng 文件?

我是 Pcapng 文件的新手。我已经阅读了 40 多页的白皮书,但我仍然摸不着头脑,大汗淋漓。我知道 Pcapng 文件是:

  1. 由部分标题块组成 - 这是每个 Pcapng 文件的开始。

问题1:这个有多大?

看起来它是 BlockType(4 字节)+ BlockTotalLength(4 字节)+ Byte Order Magic(4 字节)+ Mahor 和次要版本(总共 4 字节,每个 2 字节)+ 节长度(4 字节)+ 选项(变量)+块总长度(同样,4 个字节)。

如果我正在构建解析器,我怎么知道需要跳过多少字节才能到达我的第一个数据帧块?

问题2:数据存储在哪里?数据是指包含以太网、IP 和 TCP 数据的整个帧,如下图所示(图 1)。

在此处输入图像描述

该文件指出:

一个节包括由两个节头块分隔的数据。

在进行手动检查时(是的,我逐字节检查文件以查看两帧之间有多少字节:'(),我注意到每条消息之间有 35 个字节(wireshark 上显示的每条消息都有 35 个字节之间)。这些字节与 pcapng 块有关吗?

一旦我了解了如何到达第一个 tcp 帧,以及需要跳过多少字节才能到达下一个,我就可以构建我的解析器了。

我愿意将比特币/门罗币发送给任何可以帮助我了解如何最好地解析这些 pcapng 消息的人。谢谢!