• Non ci sono risultati.

I protocolli del livello Applicazione Il protocollo Telnet

N/A
N/A
Protected

Academic year: 2021

Condividi "I protocolli del livello Applicazione Il protocollo Telnet"

Copied!
6
0
0

Testo completo

(1)

I protocolli del livello Applicazione

Il protocollo Telnet

Il protocollo Telnet è un protocollo standard che permette l'interfacciamento di terminali attraverso le applicazioni Internet. Questo protocollo fornisce le regole di base per permettere di collegare un client (sistema composto da un monitor e da una tastiera) a un interprete di comandi (lato server).

Il protocollo Telnet si basa su una connessione TCP per inviare dei dati e delle sequenze di controllo, fornisce un sistema orientato alla comunicazione, bidirezionale (half-duplex) di facile utilizzo.

Infatti questo protocollo è un protocollo di base, utilizzato da altri protocolli del livello applicazione di TCP/IP come FTP, SMTP, POP3.

Le specifiche di Telnet non prevedono il controllo dell'autenticazione, dato che Telnet è totalmente separato dalle applicazioni che lo usano (il protocollo FTP definisce una sequenza di autenticazioni al di sopra di Telnet). Inoltre il protocollo Telnet è un protocollo di trasferimento di dati in modalità non sicura, cioè i dati che veicola circolano in chiaro sulla rete (in modo non cifrato).

Un server Telnet ascolta di default sulla porta 23 le richieste di connessione da parte dei client Telnet .

La trasmissione di dati attraverso Telnet consiste unicamente nel trasmettere i byte nei flussi TCP, di default i dati devono essere bufferizzati prima di essere inviati, questo significa che i dati sono trasmessi o alla pressione del tasto “Invio” (cr/lf) o quando il buffer è pieno.

Il protocollo HTTP

Il protocollo HTTP (HyperText Transfer Protocol) è il protocollo più usato su Internet.

Lo scopo del protocollo HTTP è di permettere un trasferimento di file (essenzialmente in formato HTML) localizzati grazie ad una stringa di caratteri detta URL , tra un browser (il client) e un server web (detto httpd sui terminali UNIX).

Il protocollo SNMP

Il protocollo SNMP (Simple Network Management Protocol) permette agli amministratori di rete di gestire le apparecchiature di rete e di diagnosticare i problemi di rete.

Il sistema di gestione di rete è basato su due elementi principali: un supervisore e degli agenti. Il supervisore è la console che permette all'amministratore di rete di eseguire delle richieste di gestione. Gli agenti sono delle entità che si trovano a livello di ogni interfaccia che connette l'apparecchiatura gestita sulla rete e che permette di recuperare delle informazioni su diversi oggetti.

Switch, hub, router e server sono degli esempi di apparecchiature contenenti degli oggetti gestibili.

Questi oggetti gestibili possono essere delle informazioni hardware, dei parametri di configurazione, delle statistiche di performance o altro direttamente legato al comportamento in corso dell'apparecchiatura in questione. Questi oggetti sono classificati in una sorta di database detto MIB ("Management Information Base"). SNMP permette il dialogo tra il supervisore e gli agenti per raccogliere gli oggetti voluti nel MIB.

L'architettura di gestione di rete proposta dal protocollo SNMP è quindi basata su tre elementi principali :

Le apparecchiature gestite (managed devices) sono degli elementi di rete (bridge, hub,

router o server), che contengono degli "oggetti di gestione" (managed objects) che possono

essere delle informazioni sull'hardware, degli elementi di configurazione o delle

(2)

Gli agenti, cioè un'applicazione di gestione di rete che risiede in una periferica e incaricata di trasmettere i dati locali di gestione della periferica in formato SNMP;

I sistemi di management della rete (network management system sigla NMS), cioè una console attraverso la quale gli amministratori possono realizzare dei compiti amministrativi.

Il protocollo SMTP

Il protocollo SMTP (Simple Mail Transfer Protocol) è il protocollo standard che permette di trasferire la posta da un server ad un altro con una connessione point to point.

Si tratta di un protocollo funzionante in modalità connessa, incapsulato in una trama TCP/IP. La posta è consegnata direttamente al server di posta destinatario. Il protocollo SMTP funziona grazie a dei comandi testuali inviati al server SMTP, che ascolta di default sulla porta 25. Ognuno dei comandi inviati dal client (confermato dalla sequenza CR/LF, equivalente ad un pressione del tasto invio) è seguito da una risposta del server SMTP, composta da un numero e da un messaggio descrittivo.

Elenco dei principali comandi SMTP:

Comando Esempio Descrizione

HELO ( EHLO) EHLO lab.fauser.edu Identificazione attraverso l'indirizzo IP o il nome del dominio del computer mittente

MAIL FROM: MAIL FROM: valeria@fauser.edu Identificazione dell'indirizzo del mittente RCPT TO: RCPT TO: valeria@fauser.it Identificazione dell'indirizzo del destinatario

DATA DATA message Corpo della mail

QUIT QUIT Uscita del server SMTP

HELP HELP Lista di comandi SMTP supportata dal server

Di seguito uno scenario di richiesta di invio di mail ad un server SMTP

All'apertura della sessione SMTP, il primo comando da inviare è HELO seguito da uno spazio (sigla <SP>) e dal nome del dominio del vostro terminale (come dire"buongiorno sono il tal terminale"), poi validare con invio (sigla <CRLF>). Dall'aprile del 2001, le specifiche del protocollo SMTP definite nella RFC 2821, impongono che il comando HELO sia sostituito dal comando EHLO.

Il secondo comando è "MAIL FROM:" seguito dall'indirizzo email del mittente. Se il comando è accettato il server rinvia il messaggio "250 OK"

Il comando seguente è"RCPT TO:" seguito dall'indirizzo email del destinatario. Se il comando è accettato il server rinvia il messaggio "250 OK"

Il comando DATA è la terza tappa dell'invio. Esso annuncia l'inizio del corpo del messaggio.

Se il comando è accettato il server rinvia un messaggio intermedio numerato 354 che indica che l'invio del corpo della mail può cominciare e considera l'insieme delle linee seguenti fino alla fine del messaggio individuata da una linea contenente unicamente un punto. Il corpo della mail contiene eventualmente alcune delle seguenti intestazioni :

• Date

• Subject

• Cc

• Bcc

• From

Se il comando è accettato il server rinvia il messaggio" 250 OK"

E' possibile inviare una mail grazie ad un semplice telnet sulla porta 25 del server SMTP.

(3)

Un esempio di colloquio tra un client (C) e un server SMTP (S):

S: 220 mail.fauser.edu ESMTP Sendmail 8.13.8/8.13.8; Wed, 3 Mar 2010 12:00:50 +0100 C: HELO lab.fauser.edu

S: 250 roy.fauser.edu Hello lab.fauser.edu [87.250.77.207], pleased to meet you C: MAIL FROM: valeria@fauser.edu

S: 250 2.1.0 valeria@fauser.edu... Sender ok C: RCPT TO: tizio@fauser.it

S: 550 5.1.1 tizio@fauser.it... User unknown C: RCPT TO: valeria@fauser.it

S: 250 2.1.5 valeria@fauser.it... Recipient ok C: DATA

S: 354 Enter mail, end with "." on a line by itself C: prova

C:

C: di invio C: .

S: 250 2.0.0 o23B0opL007629 Message accepted for delivery C: QUIT

S: 221 2.0.0 mail.fauser.edu closing connection

Il protocollo POP3

Il protocollo POP (Post Office Protocol) permette di andare a recuperare la propria posta su un server remoto (server POP).

Il protocollo POP3 è associato alla porta 110 e, esattamente come nel caso del protocollo SMTP, il protocollo POP3 funziona grazie a dei comandi testuali inviati al server POP. Ciascuno dei comandi inviati dal client (validato dalla sequenza CR/LF) è composto da una parola-chiave, eventualmente accompagnata da uno o più argomenti, ed è seguito da una risposta del server POP composta da un numero e da un messaggio descrittivo.

Elenco dei principali comandi POP3:

Comando Descrizione

USER

identificativo Questo comando permette di autentificarsi. Esso deve essere seguito dal nome dell'utente. cioè da una stringa di caratteri che identificano l'utente sul server.

PASS password Il comando PASS permette di indicare la password dell'utente il cui nome è specificato ad un comando User precedente.

STAT Restituisce il numero di messaggi presenti e lo spazio da essi occupato RETR msg Visualizza il messaggio indicato

DELE msg Cancella dal server il messaggio indicato

LIST [msg] Senza parametri indica la dimensione di ogni messaggio, altrimenti solo quella del messaggio indicato

NOOP Permette di mantenere le connessioni aperte in caso di inattività, non esegue nessuna operazione restituisce solo un messaggio +OK se il server risponde TOP msg n

Comando che visualizza n linee di messaggio, il cui numero è dato in argomento.

In caso di risposta positiva da parte del server, questo rinvia le intestazioni del

(4)

UIDL [msg]

Richiesta al server di rinviare una linea contenente delle informazioni sul messaggio eventualmente dato in argomento. Questa linea contiene una stringa di caratteri, detta listing d'identificatore unico, che permette di identificare in modo univoco il messaggio sul server, indipendentemente dalla sessione. L'argomento opzionale è un numero corrispondente ad un messaggio esistente sul server POP, cioè un messaggio non cancellato).

RSET Annulla le operazioni di cancellazione DELE in precedenza inviate al server QUIT Il comando QUIT chiede l'uscita del server POP3. Esso implica la cancellazione di

tutti i messaggi segnati come eliminati e rinvia lo stato di questa azione.

Il protocollo POP3 gestisce l'autenticazione attraverso il nome utente e password, ma non è invece sicuro, dato che le password, come le mail, circolano in chiaro (in modo non cifrato), sulla rete.

Si può anche accedere alla propria posta grazie ad un semplice telnet sulla porta 110 del server POP.

S: +OK POP3 lab.fauser.edu v2001.78rh server ready C: USER valeria

S: +OK User name accepted, password please C: PASS lamiapassword

S: +OK Mailbox open, 2 messages C: STAT

S: +OK 2 1110 C: LIST 1 S: +OK 1 532 C: RETR 1 S: +OK 532 octets

S: Visualizza l'intera mail C: quit

S: +OK

Il protocollo FTP

Il protocollo FTP (File Transfer Protocol) definisce il modo in cui i dati devono essere trasferiti su una rete TCP/IP. Ha come obiettivo di :

• permettere la condivisione di file tra terminali remoti

• permettere l'indipendenza del tipo di file system dei terminali client e server

Il protocollo FTP si basa sul modello client-server, cioè un terminale invia degli ordini (il client) e un altro aspetta delle richieste per effettuare delle azioni (i server).

Durante una connessione FTP, si aprono due canali di trasmissione:

Un canale per i comandi (canale di controllo)

Un canale per i dati

Sia il client che il server possiedono dei processi che permettono di gestire questi due canali.

un server FTP è un software che comprende due processi :

1. un processo di interpretazione dei comandi (Server PI)

(5)

2. un processo di trasferimento dati (Server DTP) un client FTP è un software che comprende tre processi:

1. un processo di interfaccia utente (User Interface) 2. un processo di interpretazione dei comandi (Client PI) 3. un processo di trasferimento dati (Client DTP).

La User Interface è un'interfaccia (testo o GUI) per permettere all'utente di dare i comandi ftp.

Un DTP (Data Transfer Process) è un processo incaricato di stabilire la connessione e di gestire il canale di dati. Il DTP lato server è detto SERVER-DTP, il DTP lato client è detto USER-DTP (o CLIENT-DTP).Il DTP crea le connessioni con il suo equivalente e gestisce il trasferimento dei dati.

Dei due DTP uno è attivo e l'altro passivo. Quale dei due sia passivo lo stabilisce di volta in volta il client.

Un PI (Protocol Interpreter) è l'interprete di protocollo che permette di comandare il DTP attraverso degli ordini ricevuti sul canale di controllo.

Esso è diverso sul client e sul server :

• Lo USER-PI (o CLIENT-PI) è incaricato di stabilire la connessione con il server FTP, d'inviare gli ordini FTP, di ricevere le risposte del SERVER-PI e di controllare lo USER- DTP se necessario

• Il SERVER-PI è incaricato di stabilire la connessione per il canale di controllo e di ascoltare gli ordini provenienti da uno USER-PI sul canale di controllo, di rispondervi e di pilotare il SERVER-DTP

Fasi di una sessione FTP

Di norma, lato server, la porta 21 è la porta comandi e la 20 è la porta dati.

Un server FTP rimane tipicamente in ascolto sulla porta 21 TCP a cui si connette il client. La

connessione da parte del client determinerà l'inizializzazione del canale comandi attraverso il quale

client e server si scambieranno comandi e risposte.

(6)

FTP attivo - In questa modalità il client (ad esempio il programma ftp) si connette da una porta M random non privilegiata (> 1024), alla porta controllo del server FTP, cioè alla porta 21. Poi inizia ad ascoltare dalla porta M e la invia con il comando "PORT M" al server FTP attraverso il canale di controllo. Il server si connetterà indietro alla porta dati specificata dal client dalla sua porta dati locale cioè dalla porta 20. Il principale problema con FTP in modalità attiva cade sulla configurazione del firewall nel lato client del ftp.

Il programma FTP client non esegue la connessione alla porta dati del server ma semplicemente esso dice al server quale porta sta "ascoltando" e poi e' il server FTP a iniziare a connettersi alla porta specificata dal client.

In questo caso la configurazione del firewall lato cliente "va" aperta su una porta random (M) altrimenti potrebbe rifiutarla come richiesta di connessione "non sollecitata".

FTP passivo - Per risolvere il problema è stato sviluppato per le connessioni FTP un metodo denominato "passivo", in questo caso il client utilizza il comando PASV per dire al server che utilizza il modo passivo. In questo modo, il client inizia ambedue le connessioni al server risolvendo il problema dei firewall, lato client.

Quando inizia la connessione FTP, il client apre due porte random, non privilegiate cioe' maggiori di 1024, la N e la (M).

La prima connessione contatta il server sulla porta 21 ma poi invece di inviare il comando PORT e permettere al server di connettersi all'indietro con la sua porta dati, esegue il comando PASV che impone al server di utilizzare la modalità passiva.

Il server FTP, ricevuto questo comando, apre una porta random P non privilegiata (> 1024) che sarà usata come porta dati al posto della 20, e, tramite il canale comandi, la comunica al client con il comando “PORT P” e si mette in ascolto in attesa di una connessione dati. Il client a questo punto inizia la connessione dalla sua porta M alla porta P del server per trasferire i dati.La configurazione del firewall lato client non ha problemi con la modalità passiva perché è il firewall lato server che deve essere "aperto" per accettare richieste di connessioni a porte "random" (la porta P ne nostro caso).

Sia il canale comandi sia il canale dati sono delle connessioni TCP; FTP crea un nuovo canale dati per ogni file trasferito all'interno della sessione utente, mentre il canale comandi rimane aperto per l'intera durata della sessione utente, in altre parole il canale comandi è persistente mentre il canale dati è non persistente.

Un server FTP offre svariate funzioni che permettono al client di interagire con il suo filesystem e i file che lo popolano, tra cui:

• Download/upload di file.

• Resume di trasferimenti interrotti.

• Rimozione e rinomina di file.

• Creazione di directory.

• Navigazione tra directory.

FTP fornisce inoltre un sistema di autenticazione (N.B. in chiaro) degli accessi. Il client che si connette potrebbe dover fornire delle credenziali a seconda delle quali gli saranno assegnati determinati privilegi per poter operare sul filesystem. L'autenticazione cosiddetta "anonima"

prevede che il client non specifichi nessuna password di accesso e che lo stesso abbia privilegi che

sono tipicamente di "sola lettura".

Riferimenti

Documenti correlati

SABATO 27 GENNAIO PASSARELLA DI SOTTO - PIAZZALE ANTISTANTE CHIESA 8.30 – 10.30 SABATO 27 GENNAIO CA’ PIRAMI - PARCHEGGIO PRIMA DELLA ROTONDA 10.45 – 12.45 SABATO 3 FEBBRAIO CÀ

QUESTI RIFIUTI CON LA TECNICA DEL COMPOSTAGGIO DOMESTICO, CON UNO SGRAVIO SULLA TARIFFA RIFIUTI.. E’

ECOCENTRO ECOCAMION SECCO ECOCENTRO/ECOCAMION INDUMENTI USATI SECCO ECOCENTRO / N.VERDE ECOCENTRO ECOCAMION SECCO SECCO PLASTICA LATTINE CONTENITORI SUL TERRITORIO ECOCENTRO /

Per le frazioni carta e cartone, imballaggi in plastica e metalli, vetro, umido organico, secco residuo e sfalci e ramaglie (servizio su richiesta, a pagamento) il sistema e i

I cittadini del comune di montignoso possono recarsi, per i rifiuti urbani, presso il centro di raccolta piedimonte a Montignoso (o gli altri CdR ersu); per il conferimento dei

Bottiglie per liquidi, buste per alimenti, sacchi e sacchetti di plastica e nylon, contenitori per alimenti (yogurth, margarina, mascarpone, …), contenitori di prodotti per

• Tolta dagli altri rifiuti ne elimina gli odori - se in casa si fa bene la raccolta dell’organico si è fatto più del 50% del lavoro;!. &gt;SE SI FA BENE LA RACCOLTA DELL’ORGANICO

Le altezze di presa dei contenitori sono invece in area ottimale per tutte le tipologie di rifiuto (ad eccezione dei sacchi di plastica). ALTEZZE