KatharaFramework / Kathara

A lightweight container-based network emulation system.
https://www.kathara.org/
GNU General Public License v3.0
452 stars 63 forks source link

Inetd for Telnet connection #127

Closed decolens6 closed 3 years ago

decolens6 commented 3 years ago

I mostly use Kathara for educational purpose, when wanting to show how to set a network up. And for that, thanks for being here. I started first with Netkit, with which I was very happy because everything worked as expected. My problem is that with Netkit, I was able to show the difference between a secured connection (via SSH) and a non-secured one. For the non-secured one I used Telnet with openbsd-inetd daemon, then captured packets with tcpdump and watched them with Wireshark. Now that Kathara is launched, I can't find any solution to set up a non-secured connection between 2 virtual hosts. I know that inetd is no longer advised, for the reason I was using it firstly.

So, is there any other available tool in Kathara I could use for my purpose. Is there any way inetd could be put back in Kathara ?

Thanks in advance.

tcaiazzi commented 3 years ago

Hi @decolens6,

It seems that some packages of NETKIT are not present in the Kathara images. This should not be a problem. Can you explain what commands you usually do? So that I can fix the problem.

Thanks for the support, Tommaso

decolens6 commented 3 years ago

Hi @decolens6,

It seems that some packages of NETKIT are not present in the Kathara images. This should not be a problem. Can you explain what commands you usually do? So that I can fix the problem.

Thanks for the support, Tommaso

As inetd was natively in every Netkit vhosts, all I did was starting the openbsd-inetd daemon with : /etc/init.d/openbsd-inetd start Then I was able to open a Telnet connection between vhosts. In Kathara, this daemon isn't in the vhosts by default (meaning it is not in the /etc/init.d/ folder).

decolens6 commented 3 years ago

To add some info in my research, I tried to install the openbsd-inetd package manually with dpkg, for which happened dependency problem for the first dependent package of openbsd-inetd which is init-system-helpers : `root@mv2:/# dpkg -i /hosthome/.../openbsd-inetd_0.20160825-5_amd64.deb dpkg: regarding .../openbsd-inetd_0.20160825-5_amd64.deb containing openbsd-inetd, pre-dependency problem: openbsd-inetd pre-depends on init-system-helpers (>= 1.54~) init-system-helpers is installed, but is version 1.48.

dpkg: error processing archive /hosthome/.../openbsd-inetd_0.20160825-5_amd64.deb (--install): pre-dependency problem - not installing openbsd-inetd Errors were encountered while processing: /hosthome/.../openbsd-inetd_0.20160825-5_amd64.deb`

tcaiazzi commented 3 years ago

Yes I experimented the same issue.

It seems that the installation of quagga in the kathara/quagga image breaks some dependencies. If you do not need to use quagga you can install the openbsd-inetd from the kathara/base image. However you have to create an user because login as root is not allowed by Telnet.

If you prefer, you can send me the lab configuration you are using and I can create a custom image to fix it.

Cheers, Tommaso.

tcaiazzi commented 3 years ago

Here a lab folder that contains a custom image with openbsd-inetd, telnetd and a telnet user (username: telnet, password: telnet). Enter the directory and type docker build -t kathara/telnet . to build it. The lab is composed by two devices, pc1 and pc2, connected on a collision domain 'A'. openbsd-inetd is started in the pc1 startup, so you can directly connect pc2 to pc1 using telnet.

Let me know if you need further help :)!

Tommaso.

telnet-lab.zip

decolens6 commented 3 years ago

Thanks a lot @tcaiazzi ! I'll try it and come back closing this ticket if everything is alright!

Keep doing the great job, Cheers