telnet è un programma che permette di effettuare un collegamento con un altro computer e di operare su quello, come se si stesse utilizzando un suo terminale. Per fare questo, dal lato del server occorre il daemon telnetd.
telnet è comunque molto importante anche come programma diagnostico per instaurare un collegamento manuale con una porta e iniziare quindi un colloquio diretto con il protocollo a essa connesso. In questo caso, il daemon telnetd non viene utilizzato.
Come già accennato, per eseguire un login in un computer remoto attraverso, telnet, è necessario che il daemon telnetd sia in funzione in quel computer.
telnetd [<opzioni>]
È il daemon del servizio necessario per ricevere connessioni attraverso telnet. È gestito dal supervisore inetd e filtrato da tcpd.
Nell'esempio seguente, viene mostrata la riga di /etc/inetd.conf in cui si dichiara il suo possibile utilizzo.
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
Se è presente il file /etc/issue.net, viene utilizzato da telnetd per visualizzare un messaggio introduttivo, non appena si instaura un collegamento.
Il file /etc/issue.net è un file di testo utilizzato da telnetd per mostrare un messaggio quando un client telnet si collega. In pratica, ha lo stesso ruolo del file /etc/issue ( issue), che invece viene utilizzato da getty o da un altro programma analogo.
/etc/issue.net può contenere alcune sequenze di escape che vengono poi trasformate in vario modo nel momento della visualizzazione del messaggio. La tabella (seguente) ne mostra l'elenco.
L'accesso a un computer remoto viene fatto attraverso il programma telnet, il quale permette di operare come se ci si trovasse su una console di quel sistema.
telnet [<opzioni>]
[<computer-remoto> [<porta>]]
Se telnet viene avviato senza specificare il computer con il quale ci si vuole connettere, inizia a funzionare in modalità di comando, visualizzando l'invito: telnet>.
Quando telnet è connesso al sistema remoto, si opera come se si fosse seduti davanti alla console di quel sistema.
Per poter dare dei comandi a telnet occorre tornare temporaneamente alla
modalità di comando, e questo si ottiene utilizzando il carattere di escape.
Questo carattere di escape non corrisponde alla pressione del tasto
La comunicazione tra telnet e il sistema remoto può essere di tre tipi.
È il tipo preferito ed è il primo tipo di comunicazione che telnet tenta di instaurare con il sistema remoto.
In questa modalità ogni carattere viene trasmesso singolarmente al sistema remoto.
I dati vengono trasmessi a blocchi di linee e ciò che viene scritto, riappare sul terminale locale.
-
d
Attiva inizialmente il flag per il debug.
-
a
Tenta di eseguire un login automatico.
-
n <file-traccia>
Registra le azioni effettuate durante il collegamento all'interno del file indicato.
-
l <utente>
Definisce il nome di utente da utilizzare per il login nel sistema remoto.
-
e <carattere-di-escape>
Permette di definire una sequenza diversa per il cosiddetto ``carattere di escape''. Il valore predefinito è ^] che non è tanto compatibile con la tastiera italiana.
<computer-remoto>
Identifica il computer remoto con il quale collegarsi. Può essere espresso in qualunque modo valido.
<porta>
Identifica il numero di porta (o indirizzo di una applicazione). Se non viene specificato, si utilizza il valore predefinito di telnet.
close
Chiude la connessione con il computer remoto.
display [<argomento>... ]
Visualizza tutti o alcuni dei valori dei flag e delle variabili set.
mode <tipo-di-modalità>
Permette di attivare una modalità particolare. L'attivazione della modalità richiesta dipende dal contesto e dalle possibilità offerte dal sistema remoto.
character
Attiva la modalità di comunicazione a un carattere alla volta.
line
Tenta di abilitare la modalità di comunicazione TELNET LINEMODE. Se non è possibile, si cerca di optare per la modalità old line by line.
isig | -
isig
Abilita/disabilita la modalità TRAPSIG che riguarda la comunicazione TELNET LINEMODE.
edit | -
edit
Abilita/disabilita la modalità EDIT che riguarda la comunicazione TELNET LINEMODE.
softtab | -
softtab
Abilita/disabilita la modalità SOFT_TAB che riguarda la comunicazione TELNET LINEMODE.
litecho | -
litecho
Abilita/disabilita la modalità LIT_ECHO che riguarda la comunicazione TELNET LINEMODE.
?
Visualizza una breve guida per il comando mode di telnet.
open <computer-remoto>
[
-
l <utente>][-
<porta>]
Apre una connessione con il computer remoto indicato. Se non viene specificata la porta, si utilizza il valore predefinito per telnet.
quit
Chiude la connessione (se esiste una connessione) e termina l'esecuzione di
telnet.
Durante la modalità di comando, è sufficiente premere la combinazione di tasti
necessaria a ottenere il carattere di
send <argomenti>
Permette di inviare uno o più sequenze di caratteri al sistema remoto.
?
Visualizza una breve guida per il comando send di telnet.
set <argomento> <valore>
unset <argomento> <valore>
set attiva o specifica il valore di una
determinata variabile, mentre unset disabilita
o pone al valore di
?
Visualizza una breve guida per il comando set|unset di telnet.
! [<comando>]
Permette di eseguire il comando indicato in una subshell all'interno del sistema locale.
status
Visualizza lo stato corrente della connessione.
? [<comando>]
Visualizza una breve guida del comando indicato o l'elenco dei comandi disponibili.
Se esiste, viene letto quando si stabilisce un collegamento e se all'interno appare un riferimento al computer con il quale ci si è collegati, vengono eseguite le istruzioni relative. La struttura del file è la seguente.
telnet è un ottimo strumento per eseguire una connessione diagnostica con una porta (socket) di un computer, sia remoto che locale. Per poter utilizzare questo sistema, occorre naturalmente conoscere il protocollo utilizzato dal daemon con il quale ci si collega.
Il classico esempio è l'invio di un messaggio e-mail attraverso una connessione diretta con sendmail. Dal file /etc/services si determina che il servizio smtp (Send Mail Transfer Protocol) corrisponde alla porta 25, ma si può anche utilizzare semplicemente il nome smtp. Nell'esempio, si instaura un collegamento con il daemon del servizio smtp con il computer pippo.zigozago.dg.
$
telnet pippo.zigozago.dg smtp
Trying 192.168.1.2...
Connected to pippo.zigozago.dg.
Escape character is '^]'.
220 pippo.zigozago.dg ESMTP Sendmail 8.8.5/8.8.5; Thu, 11 Sep 1997 19:58:15 +0200
HELO zigozago.dg
250 pippo.zigozago.dg Hello topolino.zigozago.dg [192.168.1.1], pleased to meet you
MAIL From: <daniele@topolino.zigozago.dg>
250 <daniele@topolino.zigozago.dg>... Sender ok
RCPT to: <npapera@topolino.zigozago.dg>
250 <npapera@topolino.zigozago.dg>... Recipient ok
DATA
354 Enter mail, end with "." on a line by itself
Subject: Saluti.
Ciao Nonna Papera,
come stai?
Io sto bene e mi piacerebbe risentirti.
Saluti,
Daniele
.
250 TAA02951 Message accepted for delivery
QUIT
221 topolino.zigozago.dg closing connection
Connection closed by foreign host.
1997.10.26 - Scritto da Daniele Giacomini daniele@calion.com (vedi copyright: Appunti Linux).