1. kathara(1)
  2. Kathara manual
  3. kathara(1)


kathara - A network emulation tool


kathara [-h] [-v] command [args]


Kathara is a network emulation tool.

It is an implementation of the notorious Netkit using Python.
Ten times faster than Netkit and more than 100 times lighter, the framework has the performances to run in production.

Within the Kathara environment each network device, called device, is implemented by a container, and each interconnection link is emulated by using a virtual network.

Each device can be configured to have an arbitrary number of (virtual) network interfaces.

By default, devices use a Docker Image which includes network oriented software such as routing daemons (RIP, OSPF, etc.), an HTTP server, firewalling utilities (iptables(8)), and diagnostic tools (ping(1), traceroute(1), tcpdump(1), etc.).
By configuring the appropriate software, it is possible to emulate with a device a specific network device (e.g., a router).
Other applications (such as SDN and P4) can be added using custom Docker Images.

Kathara provides two alternative interfaces to start and configure devices. A set of v-prefixed commands (vstart, vclean, vconfig), that allow to start and manage single devices while providing finegrained control on their configuration; and a set of l-prefixed commands (lstart, lclean, linfo, lrestart, ltest), that ease setting up preconfigured network laboratories consisting of several devices.

Kathara also provides a set of global commands (connect, info, wipe, settings, check).


The possible kathara commands are:

Start a new Kathara device
Stop a single Kathara device
Attach network interfaces to a running Kathara device
Start a Kathara lab
Stop a Kathara lab
Show information about a Kathara lab
Restart a Kathara lab
Test a Kathara lab
Connect to a Kathara device
Delete all Kathara devices and links, optionally also delete settings
Show all running Kathara devices
Show and edit settings
Check your system environment


Kathara stores its default configuration settings inside a file named kathara.conf. This file is placed in the ~/.config folder. If it does not exist when Kathara is launched, it will be created with default settings. See kathara.conf(5) for information about the location of this file and for a description of its format.


Report bugs opening an issue on the official GitHub repository where the development and maintenance is primarily done.
Issues which are security relevant should be disclosed privately to the Kathara mailing list. You do not have to be subscribed to the list to send a message there.
When reporting a bug, remember to write used commands, eventually attach your lab, and include the output of kathara-check(1) in order to make possible to reproduce the bug.


Kathara was born from Netkit. Its first version was developed by Gaetano Bonofiglio and Veronica Iovinella. Currently it is mantained by Lorenzo Ariemma and Mariano Scazzariello.

People involved also include:

Copyright © 2017-2019 License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.


kathara-lab.conf(5), kathara-lab.dep(5), kathara-lab.ext(5), kathara.conf(5), Kathara official site

  1. November 2019
  2. kathara(1)