【问题标题】:What is best way to develop iptables module开发 iptables 模块的最佳方法是什么
【发布时间】:2012-09-20 04:43:38
【问题描述】:

我有 iptv 提供商,它通过使用私钥 udp 多播流量加密来传送视频。 这次用 udp2http 代理的补丁版本解码了流。我想开发 iptables 模块来“即时”解密数据包,因为我电视上的 iptv 频道切换在 udp 流上比 http 更快(并获得一些编写 iptables 模块的经验)。

有两种方法可以做到这一点(我认为)

  1. 在模块本身中编写解密算法
  2. 编写模块将数据发送到用户空间,编写守护程序解密数据包,并将数据包发送回过滤器。

首先会更快,其次 - 对系统更安全(因为网络堆栈的延迟可能会降低整体系统性能),并且可能具有更多功能、易于调试等。

哪种方式最好? 每种方式有哪些优缺点?

【问题讨论】:

  • iptables 模块与视频流和解码有什么关系?您最好使用 iptables 将 TCP(或 HTTP)流量从您的应用程序转移到新的应用程序,然后将其作为 UDP 重新发送。这不能解决你的问题吗?
  • jweyrich:它应该将数据包的每个字节与私钥的每个字节进行异或,并将结果包发送给客户端。是的,我可以添加“附加”代理来将 http 转换为 udp。但它是额外的实例。
  • 然而,简单得多!除非您所追求的只是为 iptables 编写模块的经验。我不应该让你气馁 :-) 但在这种情况下,我无法提供太多帮助。

标签: c linux module iptables


【解决方案1】:

使用 netfilter queue 编写用户空间程序将是一个更好的选择,因为可以快速开发解决方案(无需重新启动)并且您还可以测试性能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-10
    • 1970-01-01
    • 2023-02-01
    • 2010-10-11
    相关资源
    最近更新 更多