问题标签 [libpcap]

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 投票
1 回答
723 浏览

c - libpcap 源地址和目标地址在捕获的 ipheader 中始终为 NULL。

我写了一个小程序来玩libpcap。问题是我捕获的标头的源地址和目标地址字段似乎总是为空。

代码:

输出:

我已经搜索了答案,但没有找到任何东西。我认为我最有可能在协议头中弄错了一些偏移量。

感谢您查看此内容!:D

0 投票
1 回答
4334 浏览

wireshark - How to use libpcap to parse pcap file.

I want to parse only RTP packets from a .pcap file generated from WireShark using libpcap library.
I have seen number of example that works on device to get the packets using libpcap but i am not able to find any example that can extract specific packets from the .pcap file.

anyone knows link to such examples or anyone having sample code for doing this.

Thanks.

0 投票
1 回答
6096 浏览

static-libraries - 如何仅为静态库和头文件构建 libpcap 源

我有 libpcap 的源代码,我想为我的 linux 平台构建静态库和头文件。
我尝试使用 ./configure 和 make 命令,但它没有生成库和标头。

任何人都知道执行此操作的配置 cmd。

谢谢。

0 投票
0 回答
1198 浏览

python - 带有 python 和 C 的 libpcap 失败“对 pcap_parse 的未定义引用”

这是一个有点两管齐下的问题。使用 Ubuntu 11.04 和 Python 2.7

当我试图编译一个 C 程序来捕获和解码 IP 数据包时,我的问题就开始了。编译时,我收到此错误 $ gcc -lpcap decode_sniff.c /usr/local/lib/libpcap.so: undefined reference to `pcap_parse' collect2: ld returned 1 exit status

我确认并再次确认已安装 libnet1-dev 和 libpcap-dev(使用 apt-get)。

最终我放弃了 C 程序,转而使用 Python。我安装并构建了 pypcap 包 (http://pycap.sourceforge.net/)。但是,当尝试导入 pypcap 模块时,我得到了;

Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24) [GCC 4.5.2] on linux2 输入“帮助”、“版权”、“信用”或“许可”以获取更多信息。

import pycap.capture Traceback(最近一次调用最后一次):文件“”,第 1 行,在 ImportError:/usr/local/lib/libpcap.so.1:未定义符号:pcap_parse

显然我缺少一个通用文件或包或模块或其他东西。我已经用谷歌搜索了一段时间,但没有得到任何地方。有人对我有一些见解吗?

0 投票
1 回答
7199 浏览

macos - Mac OS X (Darwin) 下的 AF_PACKET 等效项

我正在尝试在 Mac OS X 上编译一个使用 AF_PACKET 套接字和 libpcap 的 C 程序,OS X 中的等价物是什么?

0 投票
1 回答
596 浏览

network-programming - 为什么 libpcap 会捕获不完整的数据包?

我正在运行“tcpdump port 1025 -w out.pcap -s 4000”,所有从 localhost 发送的数据包我看到“在线上的 XXX 字节,捕获了 54 个字节”(仅捕获了以太网和 tcp 标头,未捕获数据)。显然,snaplen 是 4000,因此我无法弄清楚为什么数据包被切到了中间。我也写了一个程序,直接使用libpcap,也出现了同样的现象。这发生在 libpcap 1.1.1 和 1.2.0rc1 上,但是在 libpcap 0.9.8 上它起作用了!

我正在使用带有 SP3 的 SLE10,并在另一台计算机上安装了完全相同的操作系统和程序,它运行良好。

这是一个示例捕获

0 投票
2 回答
722 浏览

libpcap - pcap_findalldevs() 定义在什么文件和行号中?

pcap_findalldevs() 定义在什么文件和行号?我正在 libpcap 源中查找定义 pcap_findalldevs() 的位置。我在 pcap.h 中找到了原型,但完整的功能在哪里定义?

0 投票
1 回答
543 浏览

wireshark - 以编程方式从 iscsi 数据包中提取某些字节

我有大量包含不同数量的 ISCSI 数据包的 Wireshark 跟踪。我需要解析发起者发送的命令(以字节为单位)并将其写入每个数据包的文件中。我最初打算手动执行此操作,因为它可以在 Wireshark 应用程序中轻松查看(请参阅下面的 SS),但是其中一些痕迹很大(1-2 Gb),并且手动完成需要很长时间。

我一直在研究 tshark 和 rawshark 文档,但我不确定它们是否能够得到我需要的东西。一位朋友建议自己使用 libpcap 解析跟踪,但据我所知,我需要找到一些方法来识别我需要从每个数据包中提取的字节。理想情况下,我想使用能识别它的东西(即,wireshark 的 ISCSI 解析器)。

谁能指出我正确的方向?我需要一些方法来从每个 ISCSI 数据包中解析出这些命令,而无需查看原始数据包数据并尝试识别我需要哪些字节。请注意 - 如上所示,数据包中的最后 16 个字节并不总是如此,所以我不能只通过并获取最后 16 个字节。

0 投票
1 回答
1662 浏览

c# - 捕获数据包然后丢弃数据包 IPS 系统

Windows 中是否有任何可能的方法来“丢弃”数据包,例如真正的 IPS(入侵防御系统),类似于 unix 中的 iptables。

另外,如果我使用 matlab 有没有办法“捕获网络上的数据包”并将它们输入神经网络?windows上的matlab就是这样。

我很难理解 libpcap 如何“捕获”数据,但您不能实时“丢弃”数据?

相当烦人的 snort 无法做到这一点,snort 仅在 Windows 上充当 IDS,但在 linux 上充当 IDS/IPS,因为它能够对 iptables 进行正确的规则。

0 投票
1 回答
552 浏览

c++ - struct pcap_pkthdr len 总是 == 零

在不复制这里的所有源代码的情况下,我pcap_callbackpcap_dispatch. 似乎显示了正确的caplen长度(因为它总是一些东西)但 len 总是等于 0。这个字段不再填充了吗?这可能是我没有捕获的错误情况吗?

这是一个片段...

header->len值始终返回为零。如果需要更多信息,请告诉我。

这是在运行 libpcap.so.0.9.8 和 2.6.32 内核的 SUSE Linux 11SP1 服务器上发现的。该问题仅在使用 libpcap.so.0.9.3 从 SUSE Linux 10SP3 升级后出现。

编辑:这似乎只是 libpcap.so.0.9.8 的问题。我重新指向 /usr/lib/ 中的链接以使用 libpcap.so.0.9.3 并且问题消失了。