Syn Flood
This project is developed with the objective of learning low level network operations with Golang. It starts a syn flood attack
with raw sockets.
Please do not use that tool with devil needs.
Prerequisites
You need root access to run syn-flood
Configuration
syn-flood can be customized with several command line arguments:
--host string Provide public ip or DNS of the target
--port int Provide reachable port of the target
--payloadLength int Provide payload length in bytes for each packet
--floodType string Provide the attack type. Proper values are: syn, ack, synack
--floodDurationSeconds int64 Provide the duration of the attack in seconds, -1 for no limit, defaults to -1
To be able to run syn-flood with unlimited time range, you should also increase your operating system open file
limits, you can refer here about how to do that.
Download
Binary
Binary can be downloaded from Releases page.
After then, you can simply run binary by providing required command line arguments:
$ sudo ./syn-flood --host 10.0.0.100 --port 443
Or with DNS:
$ sudo ./syn-flood --host foo.example.com --port 443
Docker
Docker image can be downloaded with below command:
$ docker run bilalcaliskan/syn-flood:latest
Development
This project requires below tools while developing:
References
License
Apache License 2.0