2

模糊测试工具会生成格式错误的协议包。他们是否使用自己的 TCP/IP 堆栈来生成这些格式错误的数据包?操作系统的 TCP/IP 堆栈在 Fuzz 测试中是否起任何作用?我正在开发在 Windows 7 操作系统上运行的 MPLS Fuzz 测试工具。该工具正在 Linux 机器上测试 MPLS 堆栈。我的测试工具是否使用 Windows 堆栈?有人告诉我,Windows 不支持 MPLS,但测试工具工作得很好。

4

1 回答 1

5

任何不依赖内核修改的工具都必须通过操作系统的网络堆栈。这并不意味着它们必须使用网络堆栈的 TCP/IP 支持:许多操作系统都支持 API,例如SOCK_RAW+ IP_HDRINCL(Windows, BSD, OS X)/ PF_PACKET(Linux),它允许您构建自己的数据包(不必是 TCP,甚至是 IP)。

这意味着用户空间工具可以自由地绕过操作系统中的 TCP/IP 处理并滚动它们自己的数据包,只要操作系统提供必要的支持(大多数主要支持)。

于 2015-06-08T05:47:37.817 回答