【问题标题】:Is there a maintained alternative for libnids?libnids 是否有维护的替代方案?
【发布时间】:2012-09-28 13:24:59
【问题描述】:

由于libnids 似乎已有两年历史并且没有当前更新,是否有人知道 libnids 的任何替代解决方案或比它更好的库,因为它似乎以超过 1G/每秒的速度丢弃数据包

此外,它不支持 64 位 IP 地址。

【问题讨论】:

    标签: pcap libpcap libnet


    【解决方案1】:

    libnids 的替代品是Bro。它带有一个健壮的 TCP 重组器,多年来已被网络安全监控社区彻底测试和使用。它附带了一组用于常见协议的协议分析器,例如 HTTP、DNS、FTP、SMTP 和 SSL。

    Bro 是“网络处理的 Python”:它拥有自己的特定于域的脚本语言,具有一流的 IP 地址(v4 和 v6)、子网、端口类型和功能。编程风格具有基于异步事件的风格:用户为反映网络活动的事件编写回调函数。分析以连接粒度进行。这是一个例子:

    event connection_established(c: connection)
    {
        if ( c$id$orig_h == 1.2.3.4 && c$id$resp_p == 31337/udp )
            // IP 1.2.3.4 successfully connected to remote host at port 31337.
    }
    

    此外,Bro 支持cluster mode,它允许对 10 Gbps 链路进行线速监控。因为大多数分析不需要共享互连状态,Bro 可以很好地跨内核(使用PF_RING)以及多个节点进行扩展。存在 >= 140 个节点的 Bro 安装。典型的部署如下所示:


    (来源:bro.org

    由于高可扩展性,通常不再需要处理低级细节和微调 C 实现。或者换句话说,与 Bro 一起,您将时间花在分析而不是实施上。

    【讨论】:

    • 感谢您如此详细的回复,我将等待其他一些回复,然后再接受您的回答
    • 我没有找到任何可以开始的教程,或多或少我认为开发类似wiley.com/legacy/compbooks/schiffman 的工具没有用处(libnids 第 4 章 Lilt 是一个简单的 TCP 监视工具。它为用户提供了监控网络的 TCP 连接和 TCP 端口扫描的能力。)
    • 很遗憾,Bro 还没有用户手册。不过,我建议您查看2011 workshop materials,它具有类似的结构并带有视频记录。
    • 但我认为我做不到(wiley.com/legacy/compbooks/schiffman libnids 第 4 章 Lilt 是一个基本的 TCP 监视工具。它为用户提供了监视网络中 TCP 连接的能力和 TCP 端口扫描。)在兄弟中做这样的事情。
    • 我仍然不明白为什么有人会为没有文档的兄弟学习一种特殊的脚本语言,你有任何替代解决方案 Mattias
    猜你喜欢
    • 1970-01-01
    • 2014-01-29
    • 1970-01-01
    • 2020-10-07
    • 2012-09-02
    • 2016-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多