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

发布于 2024-11-30 18:47:49 字数 762 浏览 1 评论 0原文

这是一个两方面的问题。 使用 Ubuntu 11.04 和 Python 2.7

当我尝试编译 C 程序来捕获和解码 IP 数据包时,我的问题开始了。 编译时,我收到此错误 $ gcc -lpcap解码_sniff.c /usr/local/lib/libpcap.so:对“pcap_parse”的未定义引用 collect2: ld 返回 1 退出状态

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

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

Python 2.7.1+(r271:86832,2011 年 4 月 11 日,18:05:24) [GCC 4.5.2] 在 linux2 上 输入“帮助”、“版权”、“制作人员”或“许可证”以获取更多信息。

<块引用> <块引用>

导入 pycap.capture 回溯(最近一次调用最后一次): 文件“”,第 1 行,位于 导入错误:/usr/local/lib/libpcap.so.1:未定义的符号:pcap_parse

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

This is a bit of a two pronged question.
Using Ubuntu 11.04, and Python 2.7

My problem started when I was trying to compile a C program to capture and decode IP packets.
When compiling, I get this error
$ gcc -lpcap decode_sniff.c
/usr/local/lib/libpcap.so: undefined reference to `pcap_parse'
collect2: ld returned 1 exit status

I confirmed and re-confirmed that libnet1-dev and libpcap-dev are installed (using apt-get).

Eventually I gave up on the C program and went to work with Python instead. I installed and built the pypcap package (http://pycap.sourceforge.net/). However, when trying to import the pypcap module, I get ;

Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24)
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.

import pycap.capture
Traceback (most recent call last):
File "", line 1, in
ImportError: /usr/local/lib/libpcap.so.1: undefined symbol: pcap_parse

Clearly I am missing a common file or package or module or something.
I've googled this for a while now and haven't gotten anywhere.
Does anyone have some insight for me?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文