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

NAME

kathara - A network emulation tool

SYNOPSIS

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

DESCRIPTION

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).

KATHARA COMMANDS

The possible kathara commands are:

kathara-vstart(1)
Start a new Kathara device
kathara-vclean(1)
Stop a single Kathara device
kathara-vconfig(1)
Manage the network interfaces of a running Kathara device
kathara-lstart(1)
Start a Kathara network scenario
kathara-lclean(1)
Stop a Kathara network scenario
kathara-linfo(1)
Show information about a Kathara network scenario
kathara-lrestart(1)
Restart a Kathara network scenario
kathara-ltest(1)
Test a Kathara network scenario
kathara-lconfig(1)
Manage the network interfaces of a running Kathara device in a network scenario
kathara-connect(1)
Connect to a Kathara device
kathara-exec(1)
Execute a command in a Kathara device
kathara-wipe(1)
Delete all Kathara devices and collision domains, optionally also delete settings
kathara-list(1)
Show all running Kathara devices
kathara-settings(1)
Show and edit settings
kathara-check(1)
Check your system environment

FILES

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.

REPORTING BUGS

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.

AUTHORS

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-2021 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.

SEE ALSO

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

  1. February 2023
  2. kathara(1)