Anevicon - A High-Performant Udp-Based Charge Generator


H5N1 high-performant traffic generator, designed to last equally convenient in addition to reliable equally it is possible. It sends numerous UDP-packets to a server, thereby simulating an activity that tin last produced past times your terminate users or a grouping of hackers.

Installation

From bundle registry
This ascendence volition download the source code from the https://crates.io bundle registry in addition to compile Anevicon correct for your platform, using our lovely Cargo:
$ cargo install anevicon

As a repository
If y'all desire to conk a contributor, in addition to thence y'all withdraw to manually clone this repository in addition to compile the whole projection using Cargo, for hereafter development.
$ git clone https://github.com/Gymmasssorla/anevicon $ cd anevicon $ cargo prepare --release

Pre-compiled binaries
The easiest way to run Anevicon on your organisation is to download the pre-compiled binaries from the existing releases, which doesn't require whatever external software (unlike the 2 previous approaches).

Options
anevicon 4.1.2 Temirkhan Myrzamadi  An UDP-based server stress-testing tool, written inward Rust.  USAGE:     anevicon [FLAGS] [OPTIONS] --receiver ...  FLAGS:     -b, --allow-broadcast    Allow sockets to transportation packets to a broadcast                              address     -h, --help               Prints assist information     -V, --version            Prints version information  OPTIONS:         --date-time-format              H5N1 format for displaying local appointment in addition to fourth dimension inward log messages. Type             `man strftime` to encounter the format specification.                          Specifying a different format amongst days of weeks powerfulness last helpful             when y'all desire to assay a server to a greater extent than than 1 day. [default: %X]         --display-periodicity                 H5N1 fourth dimension bridge per displaying assay summaries. It isn't recommended to             laid a depression value (say, 10ms) for functioning reasons [default: 3secs]     -l, --packet-length              Repeatedly transportation a random-generated packet amongst a specified bytes             length. The default is 32768     -p, --packets-count              H5N1 count of packets for sending. When this boundary is reached, in addition to thence the             plan volition acquire out [default: 18446744073709551615]     -r, --receiver ...             H5N1 receiver of generated traffic, specified equally an IP-address in addition to a             port number, separated past times a colon.                          This selection tin last specified several times to assay multiple             receivers inward parallel mode.                             All receivers volition last tested identically. Run multiple instances of             this plan to pull specific characteristics for each receiver.     -f, --send-file              Interpret the specified file content equally a unmarried packet in addition to             repeatedly transportation it to each receiver     -m, --send-message              Interpret the specified UTF-8 encoded text message equally a unmarried             packet in addition to repeatedly transportation it to each receiver         --send-periodicity              H5N1 periodicity of sending packets. This selection tin last used to             decrease assay intensity [default: 0secs]     -t, --send-timeout              H5N1 timeout of sending every unmarried packet. If a timeout is reached,             an fault volition last printed [default: 10secs]     -s, --sender              H5N1 sender of generated traffic, specif   ied equally an IP-address in addition to a port             number, separated past times a colon [default: 0.0.0.0:0]     -d, --test-duration              H5N1 whole assay duration. When this boundary is reached, in addition to thence the plan             volition acquire out [default: 64years 64hours 64secs]     -v, --verbosity              Enable 1 of the possible verbosity levels. The null marking doesn't             impress anything, in addition to the final marking prints everything [default: 3]             [possible values: 0, 1, 2, 3, 4, 5]     -w, --wait              H5N1 waiting fourth dimension bridge earlier a assay execution used to preclude a launch             of an erroneous (unwanted) assay [default: 5secs]  For to a greater extent than information encounter .

Using equally a program

Minimal command
All y'all withdraw is to supply the testing server address, which consists of an IP address in addition to a port number, separated past times the colon character. By default, all sending sockets volition accept your local address:
# Test the fourscore port of the example.com site using your local address $ anevicon --receiver 93.184.216.34:80

Multiple receivers
Anevicon also has the functionality to assay multiple receivers inward parallel mode, thereby distributing the charge on your processor cores. To practise so, precisely specify the --receiver selection several times.
# Test the fourscore port of example.com in addition to the xiii port of google.com inward parallel $ anevicon --receiver 93.184.216.34:80 --receiver 216.58.207.78:13

IP spoofing
Using the IP spoofing technique, hackers tin protect their bandwidth from server reply messages in addition to enshroud their existent IP address. You tin copy it via the --sender command-line option, equally described below:
# Test the fourscore port of the example.com site using its ain IP address $ anevicon --receiver 93.184.216.34:80 --sender 93.184.216.34:80

End conditions
Note that the ascendence higher upward powerfulness non piece of employment on your organisation due to the safety reasons. To brand your assay deterministic, at that spot are 2 terminate weather condition called --test-duration in addition to --packets-count (a assay duration in addition to a packets count, respectively):
# Test the fourscore port of the example.com site amongst the 2 boundary options $ anevicon --receiver 93.184.216.34:80 --test-duration 3min --packets-count 7000

Packet size
Note that the assay below volition terminate when, in addition to exclusively when 1 of 2 specified terminate weather condition conk true. And what is more, y'all tin specify a global packet length inward bytes:
# Test the fourscore port of example.com amongst the packet length of 4092 bytes $ anevicon --receiver 93.184.216.34:80 --packet-length 4092

Custom message
By default, Anevicon volition generate a random packet amongst a specified size. In roughly kinds of UDP-based tests, packet content makes sense, in addition to this is how y'all tin specify it using the --send-file or --send-message options:
# Test the fourscore port of example.com amongst the custom file 'message.txt' $ anevicon --receiver 93.184.216.34:80 --send-file message.txt  # Test the fourscore port of example.com amongst the custom text message $ anevicon --receiver 93.184.216.34:80 --send-message "How practise y'all do?"

Test intensity
In roughly situations, y'all don't withdraw to generate the maximum amount of packets per second, y'all powerfulness desire to decrease the intensity of packets sending. To practise so, at that spot is 1 to a greater extent than straightforward selection called --send-periodicity.
# Test the fourscore port of example.com waiting for 270 microseconds afterwards each transportation $ anevicon --receiver 93.184.216.34:80 --send-periodicity 270us

Verbosity levels
Anevicon supports a few verbosity levels from null to v inclusively. Zero marking prints nothing, origin marking prints exclusively errors, 2d marking adds warnings, 3rd adds notifications, quaternary adds debugs, in addition to 5th - traces.
# Test the fourscore port of example.com using the quaternary verbosity marking $ anevicon --receiver 93.184.216.34:80 --verbosity 4

Date-time format
You tin explicitly specify your custom date-time format that is used for displaying every log message. Setting a format amongst days in addition to weeks powerfulness last helpful if y'all desire to assay something to a greater extent than than 1 day:
# Test amongst the format displaying months, days, years, hours, minutes, in addition to seconds $ anevicon --receiver 93.184.216.34:80 --date-time-format "%D %X"

Specific options
Wait seven seconds, in addition to and thence start to test, displaying summaries afterwards every 4 seconds, in addition to acquire out amongst an fault if fourth dimension to transportation a packet is longer than 200 milliseconds:
# Test the fourscore port of the example.com site using the specific options $ anevicon --receiver 93.184.216.34:80 --wait 7s --display-periodicity 4secs --send-timeout 200ms


Using equally a library
First, y'all withdraw to link the library amongst your executable (or roughly other library) past times putting anevicon_core to the dependencies department inward your Cargo.toml similar this:
[dependencies] anevicon_core = "*"
Next, precisely re-create this code into your main component in addition to launch the compiled program, which but sends 1 one thousand empty packets to the example.com site:
(examples/minimal.rs)
use anevicon_core::summary::TestSummary; utilization anevicon_core::testing::send;  // Setup the socket connected to the example.com domain permit socket = std::net::UdpSocket::bind("0.0.0.0:0").unwrap(); socket.connect("93.184.216.34:80").unwrap();  permit packet = vec![0; 32768]; permit mut summary = TestSummary::default();  // Execute a assay that volition transportation 1 one thousand packets // each containing 32768 bytes. for _ inward 0..1000 {     if permit Err(error) = send(&socket, &packet, &mut summary) {         panic!("{}", error);     } }  println!(     "The full seconds passed: {}",     summary.time_passed().as_secs() );
This is how y'all are able to prepare your ain stress-testing bot. Now y'all tin follow the official documentation to acquire to a greater extent than almost the anevicon_core abstractions.

Cautions
  • The destination of Anevicon is to make the maximum possible (for your computer) charge on the specified receiver. Thereby, this DOES NOT MEAN that Anevicon volition interruption ABSOLUTELY ANY SERVER spell running on your computer.
  • Anevicon was developed equally a agency of testing stress resistance of spider web servers, in addition to non for hacking, that is, the writer of the projection IS NOT RESPONSIBLE for whatever harm caused past times your utilization of my program.
  • Despite the fact that Anevicon is heavily tested both automatically in addition to manually, does non hateful that the writer is responsible for whatever põrnikas inward his piece of employment because the plan comes amongst ABSOLUTELY NO WARRANTY.

Contacts
Temirkhan Myrzamadi <gymmasssorla@gmail.com> (the author)