home       basis       advanced       routing       switching       testen       overig      

telnet

Telnet-client

telnet wordt nauwelijks nog gebruikt als remote terminal. Je komt het nog wel tegen als je een switch of een router moet configureren of uitlezen. Maar ook dat toepassingsgebied verdwijnt, omdat bijna alle netwerktoestellen tegenwoordig voorzien zijn van een web-service.
 
De remote terminal emulatie via telnet is ook al een tiental jaren vervangen door ssh: secure shell. Zoals de naam het zegt is secure shell een veilig protocol. ssh voorziet in een SSL laag (secure sockets layer), tussen applicatie en TCP, zodat de datastroom tussen server en client niet meer leesbaar is door luistervinken en sniffers onderweg.
 
telnet verstuurt alle data ongecodeerd over het netwerk, ook paswoorden.
 
Waarom dan nog telnet?
 
Er is het belangrijk aspect van het netwerk-testen.
Met telnet kun je mail-servers, print-servers, ftp-servers, web-servers, zelfs samba servers en ssh servers testen. Je test vanop je eigen machine, of vanaf ergens anders. Met telnet kun je zien of er verbinding is op het socket (ip-address + port number) van de server.
 
Noot -- dit labo is geen stap voor stap oefening. Er is veel variatie mogelijk afhankelijk van het klaslokaal en de gebruikte machines. Er kan dus één en ander fout gaan. Een tekening maken en voor elke oefening opnieuw invullen kan wonderen doen.
 

  1. ubuntu-xyz en w2000 @home
     
    importeer de ubuntu-xyz server en zet de eerste netwerkkaart in bridged, de tweede netwerkkaart staat reeds in INTNET en dat is goed ...

    import-ubu-xyz

    Zet een w2k machine in intnet en kijk of je de ubuntu-server kan pingen.
    Kijk na met ifconfig op de server wat het ip-adres is op enp0s8 (intnet) en plaats je w2k in hetzelfde netwerk.

  2. TELNET-service op UBU16-NET-xyz
     
    Maak een tekening waarop het LAN van de KLAS/HOME staat,
    de ROUTER van de klas/home die wijst naar het internet, tussen internet en KLAS/HOME-LAN,
    de server ubu16-NET-xyz die staat op de rand van KLAS-LAN en aan de andere kant in intnet.
    Teken drie network-clouds om de verschillende netwerken aan te duiden.
     
    Zet daarna de w2k-client op je tekening in intnet en bepaal a.d.h.v. de netwerkconfig van de ubu16-NET-xyz (met ifconfig) een ip-adres en netmask voor de w2k-client. Denk eraan, de ubu16-NET-xyz is geen nat-router en je kan dus vanaf intnet niet het internet op, maar je kan wel de server zien en hem pingen (en o.a. ook telnetten). Teken ook twee linuxmint of lubuntu machines, één virtuele in bridged in de KLAS-HOME-LAN en één virtuele in intnet
     
    Op de ubu16-NET-xyz staat een telnet-service. Test vanuit w2k de telnet service.
    Je kan nu inloggen via telnet op de ubu16-NET-xyz
    Sluit de telnet-sessie af met exit
    Snif daarna met wireshark, terwijl je een nieuwe telnet-verbinding legt, zoals hierboven ...
    Zie een 3-way-handshake?
    Wat gebeurt er dan?
    Kan je de login volgen in wireshark?
    Kun je het paswoord van de login zien?
    Zie je na exit een TCP-session-tear-down?
    test eveneens vanaf de LinuxMint ...
     
  3. een echte telnet op een Dlink printserver // of een HP-printer ...
     
    Je kan vanaf je Linux-Mint-19 (in bridged) telnetten naar de volgende machines ... of je installeert gewoon telnet op win10 via 'windows features'. Telnet in win10 geeft minder feed-back dan telnet vanaf Linux.
    Vervang in het voorbeeld het ip-adres door een ip-adres van een switch, printer, wap ... en kijk of er een telnet op zit ....
    $ telnet 192.168.0.200
    Trying 192.168.0.200...
    Connected to 192.168.0.200.
    Escape character is '^]'.
     
     
    ************************************
    * Welcome to D-Link Print Server *
    * Telnet Console *
    ************************************
     
    Server Name : DLINK300u_1_200
    Server Model : DP-300U
    F/W Version : 1.20
    MAC Address : 00 0F 3D 6E 04 EA
    Uptime : 14 days, 17:24:37
     
    Please Enter Password: ********
     
    [Main Menu]
    1 - Server Configuration
    2 - Port Configuration
    3 - TCP/IP Configuration
    4 - AppleTalk Configuration
    5 - Display Information
    6 - Tools
    7 - Save Configuration
    0 - Quit
     
    Enter Selection: 0
    Quit from Print Server Console, Good-bye.
    Connection closed by foreign host.

     

  4. telnet als port scanner ...
     
    In de volgende experiment gebruiken we telnet als port scanner en niet als applicatie ....
    je kan telnet installeren op je windows 10 machine, en dan werkt die in je command prompt. Ga naar turn windows features on/off, en selecteer telnet client ...
     
  5. we testen de lpd-service op een printserver
     
    Vervang onderstaand ip-adres door een bereikbare printer in het lokaal ...
    $ telnet 172.16.1.253 515
    Trying 172.16.1.253...
    Connected to 172.16.1.253.
    Escape character is '^]'.
    ^]
     
    telnet> quit
    Connection closed.

    De syntax is: telnet waarbij je ip-address kunt vervangen door een fully qualified domain name, en port-number door de correcte service-name.
     
    Hier is het moeilijker om manueel de verbinding te verbreken: de ^] maak je op een belgisch toetsenbord door een combinatie van de toetsen <CTRL><ALT GR>< ] >
     

  6. we testen de hp-jetdirect service op een laserprinter
     
    Vervang onderstaand ip-adres door een bereikbare printer in het lokaal ...
    $ telnet  10.0.1.214 9100
    Trying 10.0.1.214...
    Connected to 10.0.1.214.
    Escape character is '^]'.
    ^]
     
    telnet> quit
    Connection closed.

     

  7. we testen een service die niet werkt ... ssh naar de DNS-server
     
    $ telnet 172.16.1.253 ssh
    Trying 172.16.1.253...
    telnet: Unable to connect to remote host: Connection refused
    $

    Ik had in het voorbeeld de protocolnaam "ssh" kunnen vervangen door poortnummer "22"
     

  8. je zou een MySQL service kunnen testen op de UBU16-NET-xyz ....
     
    Dan moet je de buitenkant van die machine wel plaatsen in bridged ...
    Of je zet je Linux-Mint19 in intnet ....
    $ telnet <ip-adres> 3306
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    ...

     

  9. mail-servers zie http://netwerk800.be/advanced/application-protocols/mail-protocols
    Bij sommige services kan je een stap verder gaan en direct het protocol intikken. Daartoe moet je wel de protocol-commands kennen. Als voorbeeld geven we SMTP en POP3. Simple Mail Tranfer Protocol wordt gebruikt om email te versturen, Post Office Protocol v3 wordt heel veel gebruikt om e-mail te ontvangen. Heel veel primitives moeten in hoofdletters worden ingegeven. Primitives bestaan meestal uit 4 characters.
    In de meeste gevallen krijg je een FQDN van de docent om met SMTP te kunnen werken. Sedert 2016 is er geen POP3/IMAP4 server meer om op te testen. De UBU16-NET-xyz zou hier op termijn voor kunnen worden gebruikt ... maar nu dus nog niet ...
     
    SMTP
     
    $ telnet 172.16.0.3 25
     
    Trying 172.16.0.3...
    Connected to 172.16.0.3.
    Escape character is '^]'.
    220 ares.intec-brussel.intra Microsoft ESMTP MAIL Service,
    Version: 6.0.3790.1830 ready at Mon, 3 Mar 2008 12:42:09 +0100
    HELO
    250 ares.intec-brussel.intra Hello [172.16.31.101]
    MAIL FROM: mannix@intecbrussel.intra
    250 2.1.0 mannix@intecbrussel.intra....Sender OK
    RCPT TO: milarepa@intecbrussel.intra
    250 2.1.5 milarepa@intecbrussel.intra
    DATA
    354 Start mail input; end with <CRLF>.<CRLF>
    Dit is de body van ons mailbericht.
    .
    250 2.6.0 <ARESHZlJ2HxYHLBQhEx00000034@ares.intec-brussel.intra> Queued mail for delivery
    QUIT
    221 2.0.0 ares.intec-brussel.intra Service closing transmission channel Connection closed by foreign host.

     
    POP3 (als er een POP3 server wordt opgegeven)
     

    $ telnet 172.16.22.3 110
    Trying 172.16.22.3...
    Connected to 172.16.22.3.
    Escape character is '^]'.
    +OK Qpopper (version 4.0.5) at localhost starting. <7534.1204549069@localhost>
    USER ludo
    +OK Password required for ludo.
    PASS sdf12345
    +OK ludo has 0 visible messages (0 hidden) in 0 octets.
    STAT
    +OK 0 0
    LIST
    +OK 0 visible messages (0 octets)
    .
    DELE 1
    -ERR Message 1 does not exist.
    RETR 2
    -ERR Message 2 does not exist.
    QUIT
    +OK Pop server at localhost signing off.
    Connection closed by foreign host.

      In deze voorbeelden zie je ook de versie van de serversoftware die op de server draait.
     

  10. een webserver
     
    Je kan de web-server op UBU16-NET-xyz telnetten op poort 80 ... vanuit w2k in intnet, LX-mint in intnet of LX-mint in bridged als de UBU16-NET-xyz aan de buitenkant ook in bridged staat.
     
    $ telnet <ip-adres UBU16-NET-xyz>  80
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    quit
    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>501 Method Not Implemented</title>
    </head><body>
    <h1>Method Not Implemented</h1>
    <p>quit to / not supported.<br />
    </p>
    <hr>
    <address>Apache/2.2.3 (Ubuntu) PHP/5.2.1 Server at w3w.linux800.be Port 80</address>
    </body></html>
    Connection closed by foreign host.

     

  11. Een test van een samba server (dat kan eventueel ook op poort 445)
     
    kan je ook proberen naar de UBU16-NET-xyz ...
    $ telnet 172.16.0.15 139
    Trying 172.16.0.15...
    Connected to 172.16.0.15.
    Escape character is '^]'.
    ^]
    telnet> quit
    Connection closed.
    connection closed by foreign host.