anevicon_core 0.5.3

The most powerful UDP-based load generator, written in Rust

This crate can be used as a bot to build a botnet for simulating UDP flood attacks (but only for educational and pentesting purposes, see the GPLv3 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.


Usage

Cargo.toml

[dependencies]
anevicon_core = "*"

src/main.rs

(examples/minimal.rs)

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.