代码之家  ›  专栏  ›  技术社区  ›  Thomi

IPTABLE C++控制

  •  11
  • Thomi  · 技术社区  · 16 年前

    我需要从C++程序中控制从Linux框到入站和出站的流量。我可以打电话 iptables 从我的程序内部,但我更愿意去掉中间人,自己访问内核API函数。

    我相信我需要使用 libnfnetlink

    我需要构建的规则相当简单——比如丢弃目标端口等于X的数据包等。我不打算编写完整的防火墙应用程序。

    是否有人能提出更好的方法,或提供指向某些文档或示例应用程序的链接?我宁愿避免阅读iptables代码,但如果找不到更好的资源,我想我可能不得不这样做。

    3 回复  |  直到 16 年前
        1
  •  9
  •   Havenard    12 年前

    一年前,我也有同样的要求,四处探索。但是在联系了一些开源内核的人之后,我才知道这一点-

    -萨蒂什

        2
  •  1
  •   MarkR    16 年前

    如果您正试图这样做,那么您可能需要查看另一个包含其自身智能的匹配或目标模块,或者使用NFQUEUE将数据包排队到用户空间程序中,该程序可以根据可以随时更改的标准做出自己的决定(小心向用户空间发送太多数据包,这是一个潜在的性能问题)

        3
  •  0
  •   boatcoder    16 年前

    为什么不把源代码放到iptables上,像他们那样做呢?因为它是开源的。。。。