问题标签 [pcap]

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 投票
2 回答
2958 浏览

c++ - 线程和 pcap 问题

我有一个允许用户扫描网络的 GUI 程序,问题是当调用 pcap_loop 函数时,我的 GUI 程序变得无响应。(pcap_loop 阻塞了当前线程)。

当我尝试使用 pthreads 时,我在 pcap_loop 函数处遇到了 SIGSEGV 错误。为什么?就好像线程看不到 procPacket 函数本身一样。

0 投票
2 回答
6154 浏览

audio - Gstreamer:RTP 抖动缓冲区在丢包时无法正常工作?

对于 VoIP 语音质量监控应用程序,我需要将传入的 RTP 音频流与参考信号进行比较。对于信号比较本身,我使用预先存在的专用工具。对于其他部分(数据包捕获除外),Gstreamer 库似乎是一个不错的选择。我使用以下管道来模拟一个简单的 VoIP 客户端:

pcap 文件包含单个 RTP 媒体流。我制作了一个丢失原始 400 个 UDP 数据报中的 50 个的捕获文件。对于给定的音频样本(我的示例长 8 秒):

随着一定数量的连续丢包,我希望输出这样的音频信号(' -'表示静音):

但是实际保存在音频文件中的是这个(我的例子短了 1 秒):

似乎抖动缓冲区(此应用程序的关键部分)无法正常工作。pcapparse这可能是与元素的不兼容/缺点吗?我是否错过了确保时间同步的管道中的关键部分?还有什么可能导致这种情况?

0 投票
4 回答
10052 浏览

c - 使用 Pcap 监听超时

我想在 Linux 上使用 C 语言中的 Libpcap 编写一个小型应用程序。

目前,它开始嗅探并等待数据包。但这不是我真正需要的。我希望它等待 N 秒然后停止收听。

我怎样才能做到这一点?

这是我的代码:

0 投票
1 回答
710 浏览

c++ - libpcap 和 winpcap 中的函数名称是否相同?

libpcap 和 winpcap 中的函数名称是否相同?如果不是,哪些名称不同,或者大多数名称不同?

另外,libpcap++ 可以用于 winpcap 吗?

0 投票
3 回答
1200 浏览

c - 使用 libpcap 测量上传/下载速率

我在 C 应用程序中使用 libpcap(和 Windows 上的 winpcap)来监控网络流量。我需要区分每个网络适配器上的上传和下载流量,以生成连接速度统计信息,但库使用的过滤器表达式似乎不太容易支持这一点(即没有“传入”/“传出”运算符)。

我考虑过的一种方法是查询每个适配器的 IP 地址,然后使用过滤器,例如src host 1.2.3.4(测量上传)和dst host 1.2.3.4(测量下载)。

我的问题是:

是否有比上述更好/更简单的方法(让我对每个适配器使用相同的过滤器表达式的方法会很好)?

如果上述方法是可行的方法,那么单个适配器是否有可能具有多个关联的 IP 地址?我问的原因是pcap_addr保存单个适配器(in struct pcap_if)地址详细信息的结构有一个“下一个”成员,表明这是可能的。

0 投票
3 回答
2615 浏览

c# - 在 C# 中获取网络接口名称

我正在编写一个使用 wPCAP 库的程序。我设法得到了接口名称列表:

\设备\NPF_{A9734063-CA83-4D91-A35B-CC727749256A ...

现在我的问题是:我怎么知道这是哪个接口?我正在尝试获取具有该名称的接口的 IP。

我尝试了该NetworkInterface.GetAllNetworkInterfaces()功能,但在那些类中我只能找到“可读”名称,而不是 \Device... 名称。

谢谢!

伊万

编辑:我需要获取名为“\Device\NPF_...”的设备的 IP 地址。我该如何做到这一点?

0 投票
1 回答
1003 浏览

.net - 如何从原始数据包中检测它是否包含 HTTP Get 或 Post?

我刚刚开始做一些网络编程。我正在使用 pcap pcap.NET来获取网络数据包。我的问题是,我可以从数据包的“有效负载”部分中提取 HTTP Get 或 Post 请求吗?这是否意味着我需要从有效负载中读取单个字节来检测我是否有特定的协议?

任何指南表示赞赏。

谢谢。

0 投票
2 回答
1209 浏览

c - 如何在 wlan 上发送/接收第 2 层帧

我想做的事:在用户空间实现第 2 层协议。

所以我在 Linux 2.6.32 下使用 pcap 来嗅探数据包:

这适用于所有数据包。但是,当我使用 pcap 发送没有 ether_head 和 IP 标头的数据包时:

我只能在本地主机上嗅探数据包,而不能在运行相同程序的其他笔记本电脑上嗅探。所以问题是“如何在 wlan 上广播没有 ether_head 的消息”?任何指针将不胜感激。

0 投票
1 回答
4516 浏览

ruby - Ruby PCAP 读取完整的捕获文件

我正在使用 Ruby 处理一些 PCAP 文件。我需要阅读完整的文件并分析每个 pcaket。

上面的代码在读取所有数据包后不会退出。根据 Ruby pcap 文档“负计数永远处理数据包或直到达到 EOF”。这里可能是什么问题。

0 投票
4 回答
58795 浏览

python - 如何解析python库中的数据包?

如何使用 python 从 .pcap 文件或接口解析数据包?

我正在专门寻找一个使用有据可查的库的解决方案。