Skip to main content

Package loss measuring tool

Project description

time tracker Lint and test

Steinloss:

This is a tool for measuring packages loss, between two endpoint, with a web visualizer.

Usage

Test

Test made with ip-netns, where a random loss function is set to 1 pct

setup

The results of the test, ended up very close to 1 percent

results

Demo

The demo is made for linux
To run a demo of the tool, we're setting up a virtual network on your machine using ip nets.
We're making a network n1 and n2 by running
sudo sh demo.sh

Now we would like to run the server on n1 and the probe on n2 This is done with the following commands in two different terminals:

sudo ip netns exec ns1 bash -c "sudo -u $USER python3 steinloss py s"
sudo ip netns exec ns2 bash -c "sudo -u $USER python3 steinloss py p"

For example:

To access the browser, we to run a browser in our virtual network like so

sudo ip netns exec ns1 bash -c "sudo -u $USER $BROWSER 127.0.0.1:8050"

Like so:

Now we can modify the packet loss by using the replace command. To set the packet loss to 20%, we run the following command, while everything is running:

sudo ip netns exec ns1 tc qdisc replace dev h1 root netem loss 20%

The virtual networks can be removed again with:

sudo ip netns delete ns1 && sudo ip netns delete ns2

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

steinloss-0.1.0.tar.gz (11.5 kB view hashes)

Uploaded Source

Built Distribution

steinloss-0.1.0-py3-none-any.whl (14.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page