### Build and Install libslirp Source: https://github.com/slirp/libslirp/blob/master/README.md Build and install the shared library using Meson and Ninja. This is the standard method for setting up libslirp for use with other projects like QEMU. ```sh meson build ninja -C build install ``` -------------------------------- ### Build Fuzzers with Meson and Ninja Source: https://github.com/slirp/libslirp/blob/master/fuzzing/README.md Build the fuzzers and harness using clang, meson, and ninja. The output will be located in the ./build/fuzzing/ directory. ```bash CC=clang meson build && ninja -C build ``` -------------------------------- ### Run TFTP Fuzzer Source: https://github.com/slirp/libslirp/blob/master/fuzzing/README.md Execute the fuzz-tftp fuzzer with a specified input file. New inputs found by the fuzzer will be saved in the IN folder. ```bash build/fuzzing/fuzz-tftp fuzzing/IN_tftp ``` -------------------------------- ### Run UDP Fuzzer Source: https://github.com/slirp/libslirp/blob/master/fuzzing/README.md Execute the fuzz-udp fuzzer with a specified input file. New inputs found by the fuzzer will be saved in the IN folder. ```bash build/fuzzing/fuzz-udp fuzzing/IN_udp ``` -------------------------------- ### Run IP Header Fuzzer Source: https://github.com/slirp/libslirp/blob/master/fuzzing/README.md Execute the fuzz-ip-header fuzzer with a specified input file. New inputs found by the fuzzer will be saved in the IN folder. ```bash build/fuzzing/fuzz-ip-header fuzzing/IN_ip-header ``` -------------------------------- ### Run DHCP Fuzzer Source: https://github.com/slirp/libslirp/blob/master/fuzzing/README.md Execute the fuzz-dhcp fuzzer with a specified input file. New inputs found by the fuzzer will be saved in the IN folder. ```bash build/fuzzing/fuzz-dhcp fuzzing/IN_dhcp ``` -------------------------------- ### Run TCP Fuzzer Source: https://github.com/slirp/libslirp/blob/master/fuzzing/README.md Execute the fuzz-tcp fuzzer with a specified input file. New inputs found by the fuzzer will be saved in the IN folder. ```bash build/fuzzing/fuzz-tcp fuzzing/IN_tcp ``` -------------------------------- ### Run UDP Header-Only Fuzzer Source: https://github.com/slirp/libslirp/blob/master/fuzzing/README.md Execute the fuzz-udp-h fuzzer, which targets UDP header mutations, with a specified input file. New inputs found by the fuzzer will be saved in the IN folder. ```bash build/fuzzing/fuzz-udp-h fuzzing/IN_udp-h ``` -------------------------------- ### Run ICMP Fuzzer Source: https://github.com/slirp/libslirp/blob/master/fuzzing/README.md Execute the fuzz-icmp fuzzer with a specified input file. New inputs found by the fuzzer will be saved in the IN folder. ```bash build/fuzzing/fuzz-icmp fuzzing/IN_icmp ``` -------------------------------- ### Generate Coverage Report Source: https://github.com/slirp/libslirp/blob/master/fuzzing/README.md Generate code coverage information for a specific protocol (e.g., udp) using the coverage.py script. This script makes assumptions about directory structure and may require modification. ```bash python coverage.py udp report ``` -------------------------------- ### Enable Debugging Output for libslirp Source: https://github.com/slirp/libslirp/blob/master/README.md Set environment variables to enable debugging messages from libslirp. G_MESSAGES_DEBUG controls general GLib messages, while SLIRP_DEBUG filters specific libslirp events. ```sh export G_MESSAGES_DEBUG=Slirp export SLIRP_DEBUG=call ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.