Netroub is a platform capable of emulating complex and realistic network trouble scenarios to collect synthetic operational data. Netroub reproduces network failure behaviors described in a scenario file on Docker-based emulation networks.
- Docker
- Pumba
- containerlab or tinet
- dot2net (optional)
go build .
(Optional) You can move the binary file generated in /usr/bin to execute netroub without entering its binary file path.
mv netroub /usr/bin/netroub
netroub /path/to/scenario/file.json
It is also possible to execute scenario file written in yaml.
netroub --yaml /path/to/scenario/file.json
| Field | Type | Description |
|---|---|---|
| scenarioName | string | Name of the scenario (useful for outputs) |
| logPath | string | Path to the output repository |
| topo | string | Path to the topology file required by Containerlab |
| data | string | Path to the data file with device parameters |
| events | array | Array of event to be applied during scenario execution |
If you use this tool in your research, consider citing our CoNEXT 2023 student workshop publication.
@inproceedings{colin_netroub,
title={netroub: Towards an Emulation Platform for Network Trouble Scenarios},
author={Colin Regal-Mezin, Satoru Kobayashi, Toshihiro Yamauchi},
booktitle={Proceedings of the CoNEXT Student Workshop 2023 (CoNEXT-SW '23)},
publisher={ACM},
pages={17-18},
year={2023},
}