Git Product home page Git Product logo

andrewerr / ddos2 Goto Github PK

View Code? Open in Web Editor NEW
14.0 4.0 2.0 186 KB

Denial of service testing toolkit written in C

License: GNU General Public License v3.0

C 82.59% Shell 12.42% Dockerfile 0.51% Ruby 4.48%
dos-attack ddos-attacks security library c tcp icmp udp-client socket multithreading security-tools denial-of-service module module-loader module-system abi penetration-testing pentesting pentest-tool

ddos2's Introduction

ddos2

ddos2 – utility for denial of service attacks. WORK IN PROGRESS

Building

Test(Ubuntu x86_64) Core(Ubuntu x86_64) Library(libddos2@Ubuntu x86_64) Modules(Ubuntu x86_64) Currently debug builds are supported only on the systems with gcc-9 present.
To build program in release mode:

./build.sh all Note that for this build command gcc is required.

To build program in debug mode:
./build.sh all-debug

Note that for this build command gcc-9 and libraries libasan, libubsan are required.

Modules

ddos2 uses modules to implement network interfaces and perform different scenarios of attack. Modules are stored in format of shared objects(.so). Each module should have functions that called when it is loaded, when optioons parsed and finally when program was initiallized. More documentation will soon appear in wiki. Modules that are expected to be in release of version 2.0:

  • mod_tcp – implements tcp interface.
  • mod_udp – implements udp interface.
  • mod_icmp – implemnts icmp interface.
  • tcp – simple DoS attacks over TCP.
  • udp – DoS attacks over UDP.
  • icmp – icmp DoS attack

Network interfaces

As already was said module can implement network interface. The idea of any network interface it to send or receive packets to some target. So it is enough to implement functions that send/receive packets. For some of them it is required to open connections, so there is more functions in interface(iface_t in network.h) that helps to work with connections if this is required by protocol.

ddos2's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

ddos2's Issues

Module loading does not working after last merge

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Build program
  2. Run ./ddos2

Expected behavior
Loaded modules

Desktop (please complete the following information):

  • OS: Arch Linux 5.6.14-arch1-1
  • Compiler: GCC 10.1.0

packet_t should have options

There is no way how to pass an options to interface module(e.g. mod_tcp). The fix will be done in @DedAzaMarks 's branch (mod_tcp). We decided to add hashtable to packet_t which will store option values.

Related arguments(or aliases) to implement `-h`

Currently there is no way how it is could be short argument put in relation with a long one.E.g.:

-h will be different argument from --help but in fact they should do the same. So -h should be alias for --help

build.sh linker errors on multiple platforms

Describe the bug
build.sh crashes with linker errors on various platforms(MacOS linux)
To Reproduce
Run ./build.sh all

Expected behavior
Build without linker errors

Desktop (please complete the following information):

  • OS: MacOS, Linux
  • Compiler: llvm clang, GCC

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.