network-emulator:LD_PRELOAD POSIX网络API仿真器

时间:2024-05-04 06:47:52
【文件属性】:

文件名称:network-emulator:LD_PRELOAD POSIX网络API仿真器

文件大小:48KB

文件格式:ZIP

更新时间:2024-05-04 06:47:52

C++

这是POSIX网络API的仿真器,旨在通过LD_PRELOAD与模糊器一起使用。 模糊器通常与执行网络IO的应用程序不兼容。 一些库方便地支持基于缓冲区的IO,例如。 但是,模糊测试人员很少探索应用程序调用的IO功能的完整状态空间。 诸如recv类的网络功能可以随时返回各种错误,并且可以为所请求的任何N个字节发送或接收1..N个字节。 来自网络API的这种异常(但合法)响应可以激活以前从未测试过的代码路径,并发现以前被忽略的错误。 我在2018年中期写了这篇文章,从那以后我再也没有碰过(或使用过)它。 它尚未完成,需要更多的牛铃。 我是根据普遍要求发布的,目前我无法提供支持,但我会接受PR。


【文件预览】:
network-emulator-master
----descriptorstate.h(5KB)
----constants.h(210B)
----test.cpp(2KB)
----netapioverlay.h(6KB)
----flagtester.cpp(931B)
----datasource.cpp(2KB)
----netapioverlay.cpp(110KB)
----netapi.cpp(172B)
----artificialfailure.cpp(1KB)
----netapi_lib.cpp(859B)
----descriptorstate.cpp(9KB)
----peer.h(3KB)
----flagtester.h(347B)
----example()
--------libcurl()
--------simple()
--------libfuzzer()
----LICENSE(1KB)
----datasource.h(1KB)
----test()
--------test_recv_on_write-disabled_socket.cpp(1KB)
--------test.cpp(857B)
--------test_accept_on_accepted_socket.cpp(961B)
--------test_send_with_invalid_flags.cpp(1KB)
--------test_listen_on_connected_socket.cpp(950B)
--------test_listen_on_listening_socket.cpp(599B)
--------test_send_on_write-disabled_socket.cpp(1KB)
--------socket.h(5KB)
----README.md(986B)
----Makefile(3KB)
----gennetapi.py(7KB)
----peer.cpp(5KB)
----artificialfailure.h(661B)
----posix_include.h(108B)
----failstate.h(157B)
----netapi.h(247B)
----fuzzer()
--------fuzzer-queue.cpp(862B)
--------Makefile(740B)
--------fuzzer-netapioverlay.cpp(333B)

网友评论