An orchestrator for distributed IP tracing
Project description
🌬️ Zeph
Zeph is a reinforcement learning based algorithm for selecting prefixes to probe based on previous measurements in order to maximize the number of nodes and links discovered. Zeph can be used on top of the Iris platform.
🚀 Quickstart
Zeph has a command line interface to configure and run the algorithm.
First, create the Python virtual environment:
poetry install
Then, execute poetry run zeph
:
Usage: zeph.py [OPTIONS]
Options:
--api-url TEXT [default: https://api.iris.dioptra.io]
--api-username TEXT [required]
--api-password TEXT [required]
--database-url TEXT [default:
http://localhost:8123?database=iris]
--bgp-prefixes-path PATH [required]
--agent-tag TEXT [default: all]
--tool TEXT [default: diamond-miner]
--protocol TEXT [default: icmp]
--min-ttl INTEGER [default: 2]
--max-ttl INTEGER [default: 32]
--epsilon FLOAT [default: 0.1]
--previous-measurement-uuid UUID
--fixed-budget INTEGER
--dry-run / --no-dry-run [default: False]
--install-completion [bash|zsh|fish|powershell|pwsh]
Install completion for the specified shell.
--show-completion [bash|zsh|fish|powershell|pwsh]
Show completion for the specified shell, to
copy it or customize the installation.
--help Show this message and exit.
✨ Generate the BGP prefix file
Zeph needs to know the set of BGP prefixes that it can probe. You can create a BGP prefix file by downloading the latest RIB from routeviews.org and then convert it into a pickle file.
The easiest way to do that is to use the command line tools located in the utils/
folder.
Download the RIB
poetry run zeph-bgp-download
Usage: zeph_bgp_download.py [OPTIONS]
Options:
--latestv4 / --no-latestv4 [default: False]
--latestv6 / --no-latestv6 [default: False]
--filepath PATH
--install-completion [bash|zsh|fish|powershell|pwsh]
Install completion for the specified shell.
--show-completion [bash|zsh|fish|powershell|pwsh]
Show completion for the specified shell, to
copy it or customize the installation.
--help Show this message and exit.
Convert the RIB to a pickle file
poetry run zeph-bgp-convert
Usage: zeph_bgp_convert.py [OPTIONS] ROUTEVIEWS_FILEPATH
Arguments:
ROUTEVIEWS_FILEPATH [required]
Options:
--bgp-prefixes-path PATH
--excluded-prefixes-path PATH
--install-completion [bash|zsh|fish|powershell|pwsh]
Install completion for the specified shell.
--show-completion [bash|zsh|fish|powershell|pwsh]
Show completion for the specified shell, to
copy it or customize the installation.
--help Show this message and exit.
📚 Publications
🧑💻 Authors
Iris is developed and maintained by the Dioptra group at Sorbonne Université in Paris, France.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for dioptra_zeph-1.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f92930cc362031ce377fd45f9988856558309ee5d6eee62b3b6646a509e0a913 |
|
MD5 | 20a87054c0de0013a6de11d50b253d3c |
|
BLAKE2b-256 | 0918f483a13416d3bc3b27f8ea77edea8550d88cb556048384a76a2d04f44296 |