1

Windows 中是否有任何可能的方法来“丢弃”数据包,例如真正的 IPS(入侵防御系统),类似于 unix 中的 iptables。

另外,如果我使用 matlab 有没有办法“捕获网络上的数据包”并将它们输入神经网络?windows上的matlab就是这样。

我很难理解 libpcap 如何“捕获”数据,但您不能实时“丢弃”数据?

相当烦人的 snort 无法做到这一点,snort 仅在 Windows 上充当 IDS,但在 linux 上充当 IDS/IPS,因为它能够对 iptables 进行正确的规则。

4

1 回答 1

7

对于 Windows 7/Vista,您可以使用 Windows 过滤平台 (WFP) API 进行简单的数据包过滤,类似于使用 iptables 可以实现的功能。然而,API 有点冗长。

对于更复杂的过滤,例如有效负载解析/检查的 URL 过滤,您需要 (1) 编写设备驱动程序,例如 WFP 标注驱动程序,或 (2) 使用可以将数据包转移给用户的第三方包模式应用程序。

对于后者,有WinDivert (GLPv3) 和WinpkFilter(商业许可证)。这两个包都是 C/C++,所以你需要编写一个适当的 MatLab 绑定。 披露:我是 WinDivert 的作者。

技术警告:像 Winpcap 这样的软件包不会也不能丢弃数据包,因为它使用的驱动程序类型(准确地说是 NDIS 协议驱动程序)。协议潜水员只能看到数据包的副本,无法阻止原始数据包。为此,他们需要将 Winpcap 驱动程序重新实现为 NDIS IM 或 LWF 驱动程序。

于 2011-11-11T06:25:22.113 回答