Internet Tips a cura di Piemonte.net


roberto@ilpiola.it
 

Il trucco del mese (pnn) - agosto 1997

Telnet, porte, tcp, ... ma che sono?

Nelle puntate precedenti ho parlato spesso di collegamenti in telnet su di una porta, accorgendomi solo adesso che forse era il caso di organizzare un minimo di spiegazione su tali concetti di base prima di procedere...

Il protocollo IP

Internet è basata su "IP" (Internet Protocol), una maniera standard con cui due calcolatori possono inviarsi dati l'uno all'altro attraverso una rete ed un certo numero di calcolatori intermedi (i server ed i router dei vari provider). I dati viaggiano organizzati a "pacchetti" di lunghezza variabile, ed ogni pacchetto porta con sé l'indirizzo del computer che lo ha inviato e di quello che lo deve ricevere (un indirizzo IP è un numero che identifica univocamente una macchina all'interno di Internet).

Il protocollo TCP

Siccome la definizione del protocollo IP non descrive come controllare che cosa fanno i pacchetti quando arrivano a destinazione (qualora il computer di destinazione offra più servizi differenti), né cosa fare in caso di errori di trasmissione, ad esso è stata aggiunta la definizione dello standard TCP (Transmission Control Protocol). I due sono legati strettamente, e spesso sono citati assieme come TCP/IP.

Al livello di TCP viene formato un nuovo concetto: quello di "connessione": un elaboratore che desidera ottenere un certo servizio da un altro, prima manda un pacchetto IP che contiene una richiesta di connessione, attende una risposta (un pacchetto IP con un OK ed un identificativo da usare per tutti gli scambi sucessivi) e poi puo' continuare la "conversazione" indicando il numero del canale (socket, in gergo); in tal modo, un calcolatore puo' ricevere e servire più richieste in contemporanea, essendo associata ciascuna di esse ad un socket differente. Si puo' pensare al meccanismo delle connessioni come a chiamate telefoniche, che vengono "aperte" tra due utenti, usate per una conversazione e poi chiuse quando non servono più (sono però connessioni "logiche", che assumono esista una connessione "fisica" già stabilita, per esempio mediante linee telefoniche).

Il numero di porta

Quando viene stabilita una connessione, il pacchetto con la richiesta contiene anche un "numero di porta", che identifica a quale servizio offerto esso intende collegarsi; si puo' pensare al numero di porta come ad un numero di interno composto per essere messo in contatto con un particolare operatore.

Ai servizi "standard" di internet (posta elettronica, news, web) sono stati assegnati numeri di porta standard:
21Scambio files (FTP)
25Invio mail (SMTP)
80Richieste pagine web (HTTP)
110Ricezione mail (POP3)
119Scambio news (NNTP)

telnet

telnet è un programma di utilità che originariamente serviva per inviare comandi ad un calcolatore collegato in rete: la porta 23 permette di accedere al sistema operativo del calcolatore, come se si fosse collegati con un terminale (monitor e tastiera); ovviamente su molte macchine questa porta o è chiusa o è protetta da password.

La maggior parte dei programmi di telnet permettono di specificare a quale porta collegarsi; in tal caso la propria tastiera potrà essere utilizzata per inviare direttamente i comandi relativi ad un certo servizio, mentre la finestra riporterà le risposte del server. A molte porte corrisponde un piccolo interprete di comandi (stile il DOS) che accetta e processa solo comandi ritenuti non dannosi.

Limitazioni del telnet

Quanto detto in precedenza puo' non funzionare se i si trova dietro ad un firewall, ovvero dietro ad una macchina configurata in modo da filtrare i pacchetti in transito; solitamente un firewall serve per proteggere le macchine che stanno dietro di esso da attacchi indesiderati, ma puo' darsi che le protezioni installate siano troppo restrittive...