Anevicon Core

This crate can be used as a bot to build a [botnet](https://en.wikipedia.org/wiki/Botnet) for simulating [UDP flood attacks](https://en.wikipedia.org/wiki/UDP_flood_attack) (but only for educational and pentesting purposes, see [the GPLv3 license](https://github.com/Gymmasssorla/anevicon/blob/master/LICENSE), under which the library is distributed). This library was designed to be as convenient and reliable as it is possible, and without any external dependencies (except of the standard library). If you are just interested in one single program, please take a look at [this one](https://docs.rs/anevicon_core/0.1.0/anevicon_core/).

Usage

Cargo.toml

toml [dependencies] anevicon_core = "*"

src/main.rs

(examples/minimal.rs) ```rust use std::io::IoSlice; use std::net::UdpSocket;

use anevicon_core::{TestSummary, Tester};

fn main() { // Setup the socket connected to the example.com domain let socket = UdpSocket::bind("0.0.0.0:0").unwrap(); socket.connect("93.184.216.34:80").unwrap();

// Setup all the I/O vectors (messages) we want to send
let payload = &mut [
    (0, IoSlice::new(b"Generals gathered in their masses")),
    (0, IoSlice::new(b"Just like witches at black masses")),
    (0, IoSlice::new(b"Evil minds that plot destruction")),
    (0, IoSlice::new(b"Sorcerers of death's construction")),
];

// Send all the created messages using only one system call
let mut summary = TestSummary::default();
let mut tester = Tester::new(&socket, &mut summary);

println!(
    "The total packets sent: {}, the total seconds passed: {}",
    tester.send_multiple(payload).unwrap().packets_sent(),
    summary.time_passed().as_secs()
);

} ```

This program simply sends four packets to http://example.com/. Now you can follow the official documentation to learn more about the anevicon_core abstractions.