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 based on Docker containers. The tool can be really helpful in showing interactive demos/lessons, testing production networks in a sandbox environment, or developing new network protocols.

Kathara is the spiritual successor of the notorious Netkit, hence it is cross-compatible, and inherits its language and features.

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 faithfully emulate a specific network device (e.g., a router).

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, lconfig, ltest), that ease setting up preconfigured network scenarios 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
Manage the network interfaces of a running Kathara device
Start a Kathara network scenario
Stop a Kathara network scenario
Show information about a Kathara network scenario
Restart a Kathara network scenario
Test a Kathara network scenario
Manage the network interfaces of a running Kathara device in a network scenario
Connect to a Kathara device
Execute a command in a Kathara device
Delete all Kathara devices and collision domains, 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 network scenario, 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 Mariano Scazzariello, Tommaso Caiazzi and Lorenzo Ariemma.

People involved also include:

Copyright © 2017-2024 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. May 2024
  2. kathara(1)