Fuzz测试工具是否使用操作系统的TCP/IP堆栈?

Jay*_*Jay 2 testing fuzzing fuzz-testing

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

nne*_*neo 5

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

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