imunes is a free open-source network emulator. You can create and configure multiple network devices a.k.a. nodes

  • 🀝 switches
  • βš“ routers
  • πŸ’» computers/hosts
  • ...

You can define how each device work, such as which packets are allowed/blocked using rules... You can then try to communicate to see how the communication take place given your configuration.

Start an imunes session.

$ sudo imunes &

You may have multiple sessions.

$ imunes image -l # list
$ imunes -b -e <id> # kill

➑️ Alternatives: GNS3, EVE-NG...

Notes πŸ“

Using the GUI:

  • experiment | execute: run simulation
  • experiment | terminate: terminate simulation
  • double-click on a host: open a terminal on the host
  • right-click on a node | configure: setup rules (routing, ARP)
    • enable "custom startup config"
    • enable "editor | create | fill default"
    • then use your head

You can run a command on a machine from the terminal with

$ sudo himage <hostname>@<id> <command>