# preload-slowloris This library hooks the send(2) and socket(2) symbols and forces the data on sockets of SOCK_STREAM type (most likely TCP, might also work on other stream protocols) to be split into multiple segments for transmit. ## Building Running `make` should suffice on a system with a working C compiler. ## Usage Force the library to be loaded using `LD_PRELOAD` ```shell LD_PRELOAD=./slowloris.so curl 10.23.25.3 ``` A delay between individual send() calls (in microseconds) can be set by providing `SLOWLORIS_DELAY`. The default delay is `0`. ```shell SLOWLORIS_DELAY=1000 LD_PRELOAD=./slowloris.so curl 10.23.25.3 ``` The number of bytes sent per iteration can be set by supplying `SLOWLORIS_CHUNK`. The default chunking is `1`. ```shell SLOWLORIS_CHUNK=10 LD_PRELOAD=./slowloris.so curl 10.23.25.3 ```