python - 导入 python-iptables 包时出现 undefined symbol "afinfo" "iptc"

标签 python iptables

我正在尝试利用 python-iptables 包在 Web 应用程序中列出 iptables 规则。当我将 iptc 包添加到我的环境中时,出现以下错误。我使用 yum 'provides' 查找 libxtables.so.4 文件的来源,发现 iptables 和 iptables-devel 包是 CentOS 6.4 x64 中的合适选择。我升级了这些软件包,但它没有改变错误。

有人对我如何解决这个问题有任何建议吗?


pgrace@ny-misc01:~/repos/python-iptables/libxtwrapper$ python
Python 2.6.6 (r266:84292, Sep 11 2012, 08:34:23)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import iptc
Traceback (most recent call last):
  File "", line 1, in 
  File "/usr/lib64/python2.6/site-packages/iptc/__init__.py", line 10, in 
    from ip4tc import Table, Chain, Rule, Match, Target, Policy, IPTCError
  File "/usr/lib64/python2.6/site-packages/iptc/ip4tc.py", line 11, in 
    from xtables import (XT_INV_PROTO, NFPROTO_IPV4, XTablesError, xtables,
  File "/usr/lib64/python2.6/site-packages/iptc/xtables.py", line 744, in 
    class xtables(object):
  File "/usr/lib64/python2.6/site-packages/iptc/xtables.py", line 757, in xtables
    _xtables_afinfo = ct.c_void_p.in_dll(_lib_xtables, "afinfo")
ValueError: /lib64/libxtables.so.4: undefined symbol: afinfo
>>>

最佳答案

请参阅:https://github.com/ldx/python-iptables/issues/25

这是一个已知问题,旧版本的libxtables将afinfo声明为静态,因此python-iptables无法访问它。不过,有一个可能的解决方法 - 请密切关注票证,一旦有进展,它将立即更新。

另一个解决方案是更新您计算机上的 iptables。

免责声明:我是 python-iptables 的维护者。

更新:现在应该修复此问题。

关于python - 导入 python-iptables 包时出现 undefined symbol "afinfo" "iptc",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15974927/

相关文章:

python - 逐行比较不同形状的 numpy 数组,删除相同的值?

docker - 为什么docker0需要混杂模式?

linux - 使用 Netfilter 的 NFQUEUE 进行数据包过滤与 Berkeley 数据包过滤器 (BPF)

linux - IPtables block 范围异常

python - 解压字典以作为关键字参数传递时,如何将键映射到不同名称的关键字参数?

python - 计算单独列表中 Pandas 列中每个值的出现次数

python - 如何将 SSML 合并到 Python 中

Python 安装工具 : how to call function on import but not when run from script?

linux - 无法从 iptables NAT 后面的本地网络连接到外部 IP

android - 系统应用程序 : can't execute commands (Permission denied)