TELNET [RFC 854,855 1983]



Похожие документы
Corso di recupero di sistemi Lezione 8

Livello di applicazione. Reti di Calcolatori. Corso di Laurea in Ingegneria Informatica. Livello di applicazione DNS A.A.

RETI E SISTEMI INFORMATIVI Domain Name System. Prof. Andrea Borghesan

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

Domain Name System: DNS

ARP (Address Resolution Protocol)

Dal protocollo IP ai livelli superiori

Reti di Telecomunicazione Lezione 7

Reti di Calcolatori. Vantaggi dell uso delle reti. Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito

Parte II: Reti di calcolatori Lezione 10

Reti di Calcolatori. Il Livello delle Applicazioni

Introduzione al Dns. Loredana Pillitteri. Semplificazione della gestione e delega amministrativa Pisa - CNR - ISTI dicembre 2003

Parte II: Reti di calcolatori Lezione 8

PROTOCOLLI APPLICATIVI PER INTERNET

SISTEMA DEI NOMI DI DOMINIO (DNS) Funzionamento del DNS. Soluzione centralizzata

SISTEMA DEI NOMI DI DOMINIO (DNS)

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

INFORMATICA DISTRIBUITA. prof. Carlo Bellettini. lez 9 Distribuzione dei contenuti

(Domain Name System) DNS (Domain Name System) Architettura del DNS DNS. A.Lioy - Politecnico di Torino (2013) B-1. Antonio Lioy < lioy@polito.

20. DNS: Il Domain Name System

Programmazione in Rete

Il DNS e la gestione degli indirizzi IP. Appunti a cura del prof. ing. Mario Catalano

Reti di Telecomunicazione Lezione 6

Reti di calcolatori. Reti di calcolatori

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

Programmazione in Rete

Application Layer DNS, TELNET

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica

Sistemi e Servizi di TLC. Lezione N. 6. Il servizio DNS (Domain Name System)

Protocolli applicativi basati su TCP/IP

Inizializzazione degli Host. BOOTP e DHCP

Sistemi avanzati di gestione dei Sistemi Informativi

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

TCP/IP: INDIRIZZI IP SIMBOLICI

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).

Introduzione alla rete Internet

Reti di Telecomunicazione Lezione 8

Inidirizzi IP e Nomi di Dominio. Domain Name System. Spazio dei Nomi Piatto. Gestione dello Spazio dei Nomi

I Principali Servizi del Protocollo Applicativo

Siti web centrati sui dati (Data-centric web applications)

Applicazioni web centrati sui dati (Data-centric web applications)

Lo scenario: la definizione di Internet

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Application layer. Protocolli a livello applicativo. Identificatori in Internet. Protocolli a livello applicativo, esempi. Francesco Dalla Libera

Protocolli applicativi: FTP

Reti Informatiche. dott. Andrea Mazzini

Reti di Calcolatori

Introduzione alla rete Internet

12.5 UDP (User Datagram Protocol)

Introduzione alla rete Internet

INFORMATICA DISTRIBUITA. lez 4 Livello applicazione

Le Reti Informatiche

Application Layer FTP, SMTP, POP3, IMAP

Web e HTTP. path name. host name Realizzato da Roberto Savino.

Informatica per la comunicazione" - lezione 9 -

Domain Name System (DNS)

Introduzione alle applicazioni di rete

Oreste Signore, Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, Pisa

Esercitazione. Formato di compitini e compiti: domande ed esercizi "closed book" G. Ferrari - Reti di calcolatori.

InterNet: rete di reti

Naming nei Sistemi Distribuiti

Naming nei Sistemi Distribuiti

Gestione degli indirizzi

Laboratorio di Reti Esercitazione N 2-DNS Gruppo 9. Laboratorio di Reti Relazione N 2. Mattia Vettorato Alberto Mesin

Interconnessione di reti

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 3 a lezione a.a. 2009/2010 Francesco Fontanella

Domain Name Service. Mario BALDI. Silvano GAI. Fulvio RISSO. staff.polito.it/mario.baldi. sgai[at]cisco.com. fulvio.risso[at]polito.

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

OSOR. Applicazioni di Rete

Application Layer FTP, SMTP, POP3, IMAP. Ricapitolando. FTP: File Transfer Protocol [RFC 959] porta 80

Internet: Domini e spazi web. conoscerlo al meglio per usarlo meglio Gabriele Riva - Arci Barzanò

Elementi sull uso dei firewall

Standard di comunicazione

Reti di Calcolatori PROTOCOLLO FTP. File. File Transfer Protocol Modello FTP Operazioni FTP Comandi del protocollo Esempi di Client FTP avanzati

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori a.a. 2009/10

Gestione degli indirizzi

ARP e RARP. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it Fulvio RISSO

il trasferimento di file

Area Clienti Tiscali Hosting e Domini

Creare connessioni cifrate con stunnel

DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO

Domain Name System. Nomi ed indirizzi. Esempio. DNS: Domain Name System

Транскрипт:

TELNET [RFC 854,855 1983] NOTA: un RFC (Request For Comment) è un documento pubblico sottoposto alla comunità Internet al fine di essere valutato. Il contenuto di un RFC rappresenta uno standard de facto nella comunità Internet. Tutti gli RFC possono essere reperiti al sito dell'internet Engineering Task Force (http://www.ietf.org) In questi lucidi sono evidenziati i primi RFC. Molti protocolli sono stati estesi e descritti in RFC successivi. 1

TELNET telnet <macchina remota> Dalla macchina client ci si collega sulla macchina remota (server) sulla porta 23 I caratteri digitati sul Network Virtual Terminal vengono inviati al server che si occupa di rispedire indietro ogni carattere che viene visualizzato sullo schermo del client I comandi vengono eseguiti sulla macchina remota in modo trasparente all'utente 2

TELNET Il server telnet deve gestire più connessioni contemporaneamente Inoltre si devono gestire macchine eterogenee che possono inviare comandi diversi tra loro. Es. CR, LF, CR-LF Per questo motivo è stato definito un formato NVT che risolve le ambiguità 3

SSH Telnet non è sicuro e dovrebbe esser evitato a favore del protocollo SSH (Secure Shell, 1998) che ha reso obsoleto il protocollo telnet SSH offre tutte le funzioni di telnet ma con dati cifrati ed un'autenticazione a chiave pubblica che assicura l'identità del server remoto [vedi corso di Sicurezza] I client telnet sono ancora usati occasionalmente per "parlare" con altri servizi, per esempio SMTP e HTTP 4

SSH SSH prevede due meccanismi di autenticazione - mediante username/password - mediante chiave asimmetrica Dopo l'autenticazione client e server si scambiano una chiave simmetrica (chiave di sessione) per cifrare i dati Su forza4.educ.disi.unige.it useremo ssh con username/password 5

FTP File Transfer Protocol [RFC 765, 1980] 6

FTP Utilizzato per lo scambio dei file in rete Possiede una funzionalità anonima oppure richiede username/password al client È stato abbandonato in favore di protocolli per il trasferimento dati più user friendly (HTTP) 7

FTP Usa il modello client/server: il client inizia il trasferimento il server è l'host remoto user at host FTP user interface FTP client local file system file transfer FTP server remote file system 8

Server FTP Non è possibile stabilire una connessione FTP verso una qualsiasi macchina: il server deve essere opportunamente configurato per accettare le connessioni >>> ftp elios.disi.unige.it ftp: connect: Connection refused ftp> Le macchine Linux o Windows Server spesso hanno il servizio FTP già attivo I client FTP sono disponibili su quasi tutti i sistemi operativi 9

FTP: due connessioni separate FTP usa due connessioni TCP separate, una connessione di controllo (control connection) una connessione per lo scambio dei dati (data connection) Si dice che FTP spedisce le informazioni di controllo out-of-band 10

FTP: porte 21 e 20 CLIENT SERVER Trasferimento Dati Processo di controllo Processo di controllo Trasferimento Dati socket Sistema operativo socket 21 20 socket Sistema operativo socket Internet 11

FTP: porte 21 e 20 TCP control connection port 21 FTP client TCP data connection port 20 FTP server Il client FTP contatta il server FTP sulla porta 21 Il client FTP invia i comandi sulla connessione di controllo 12

FTP: porte 21 e 20 TCP control connection port 21 FTP client TCP data connection port 20 FTP server Sistema di tipo comando-risposta; ad ogni comando fa sempre seguito una successiva risposta Dopo la fase di autenticazione si possono utilizzare tutti gli altri comandi del protocollo 13

FTP: porte 21 e 20 TCP control connection port 21 FTP client TCP data connection port 20 FTP server Quando un server FTP riceve una richiesta di download/upload apre una nuova connessione sulla porta 20 La connessione sulla porta 21 è invece persistente, fino a quando non si invia il comando QUIT 14

FTP: porte 21 e 20 TCP control connection port 21 FTP client TCP data connection port 20 FTP server Il server deve mantenere lo stato del client durante tutta la durata della connessione Il server associa la connessione di controllo con uno specifico account e tiene traccia della directory corrente 15

FTP: comandi telnet ftpserver 21 USER <username> PASS <password> sulla porta 20 LIST restituisce l elenco dei file nella directory remota RETR <pathname> recupera il file dall host remoto STOR <pathname> memorizza il file sull host remoto 16

FTP: codici di stato 331 Username OK, password required 125 data connection already open; transfer starting 425 Can t open data connection 452 Error writing file 17

FTP: esempio 1 C: telnet pianeta.di.unito.it 21 S: Trying 130.192.239.1... C: client S: server Connected to pianeta.di.unito.it. Escape character is '^]'. 220 ProFTPD 1.2.9rc2 Server (Dipartimento di Informatica Ftp Server (TLS enabled)) C: USER marina S: 331 Password required for marina. C: PASS ******** S: 230 User marina logged in. C: LIST S: 425 Unable to build data connection: Invalid argument C: QUIT S: 221 Goodbye. Connection to pianeta.di.unito.it closed by foreign host. 18

FTP: esempio 2 C: ftp -d pianeta.di.unito.it C: client S: server S: Connected to pianeta.di.unito.it. 220 ProFTPD 1.2.9rc2 Server [pianeta] Name (pianeta.di.unito.it:ribaudo): C: marina S: ---> USER marina 331 Password required for marina. Password: C: ******** 19

FTP: esempio 2 S: ---> PASS password qui 230 User marina logged in. C: ftp> ls S: ---> PORT 130,251,61,19,158,15 200 PORT command successful ---> NLST 150 Opening ASCII mode data connection for file list public_html testi varie 226 Transfer complete. 256 bytes received in 0.49 seconds (0.51 Kbytes/s) ftp> 20

FTP: porta sul client S ---> PORT 130,251,61,19,158,15 Indirizzo IP del client (elios) + Numero della porta alta sul client 158*256 + 15 = 40463 marina> netstat pianeta.ftp elios.disi.unige.it.40462 pianeta.ftp-data elios.disi.unige.it.40463 21

FTP: porte 21 e 20 client N>1023 [PORT host-e-n+1] server 21 info di controllo N+1 dati 20 22

FTP: problemi Lo schema precedente è detto FTP attivo Il client indica al server con il comando PORT una porta alta sulla quale intende ricevere i dati Il comando PORT viene inviato ad ogni richiesta Un firewall sul client può bloccare questa operazione perchè la vede come un'operazione da parte di un sistema esterno verso una porta alta di un client 23

FTP passivo Il client invia al server il comando PASV per dirgli che si trova in passive mode In questa modalità il client apre entrambe le connessioni (controllo e dati) Il client invia il comando PASV sulla porta 21 ad ogni richiesta Il server risponde inviando il comando PORT host-e-porta P (P>1023) che il client userà per il trasferimento dati 24

FTP attivo/passivo Active FTP commandi: client >1023 - server 21 dati : client >1023 - server 20 Passive FTP commandi: client >1023 - server 21 dati : client >1023 - server >1023 25

FTP: problemi Username, password e dati viaggiano in chiaro SFTP e SCP usano tunnel SSH per garantire sicurezza nella trasmissione Esiste anche un'altra versione sicura di FTP nota con l'acronimo FTPS Sul server del corso useremo SFTP... 26

Autenticazione SFTP >>> sftp ribaudo@elios.disi.unige.it Connecting to elios.disi.unige.it... The authenticity of host 'elios.disi.unige.it (130.251.61.19)' can't be established. DSA key fingerprint is d1:6c:78:a9:7e:62:d7:05:6d:d2:8b:76:81:fe:12:f8. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'elios.disi.unige.it,130.251.61.19' (DSA) to the list of known hosts. Password authentication ribaudo's password: sftp> ls 27

DNS Domain Name System [RFC 883, 1983] 28

DNS The Domain Name System is a hierarchical distributed database. It stores information for mapping Internet host names to IP addresses and vice versa, mail routing information, and other data used by Internet applications. Clients look up information in the DNS by calling a resolver library, which sends queries to one or more name servers and interprets the responses 29

DNS Gli host su Internet e i router possono essere identificati mediante un indirizzo IP (32 bit) (130.251.152.39) un nome logico (forza4.educ.disi.unige.it) Il DNS si occupa del mapping tra nomi logici e indirizzi IP 30

DNS Protocollo del livello Application usato dagli host per risolvere i nomi Caratterizzato da domande (query) e risposte (reply) Viene usato da altre applicazioni per tradurre i nomi logici forniti dall utente in indirizzi IP Nota: l'operazione di conversione di un nome in un indirizzo IP è detta risoluzione DNS. La conversione da indirizzo IP in nome è detta risoluzione inversa. 31

DNS Sulla macchina client gira la parte client del DNS, cioè quella che inizia il meccanismo di interrogazione (query) per ottenere un indirizzo IP Il DNS usa i servizi che UDP fornisce a livello di trasporto Porta 53 32

DNS http://www.disi.unige.it Resolver DNS Name server telnet 130.251.61.252 80 Connessione TCP Indirizzo IP 33

Perchè non centralizzare il DNS? Problema di tolleranza ai guasti Impensabile con l attuale volume di traffico Non può essere vicino a tutti gli host che hanno bisogno di questo servizio Difficile da mantenere aggiornato does not scale! 34

DNS: gerarchia dei domini root com edu gov int mil net org au... it... zw top level = organizzazioni = relativi a nazioni gnu. unige unito www. www.gnu.org disi dima www www www.disi.unige.it 2 o livello 3 o livello 4 o livello NOTA: nella gerarchia dei domini esistono due gerarchie diverse, una geografica e una per organizzazione. 35

DNS: gerarchia dei domini I nomi dei domini non possono superare 255 caratteri, ogni elemento non può superarne 63 Parti di uno spazio dei nomi sono dette zone Il realtà tutti i nomi terminano con. (es. wikipedia.org.) e dopo l'ultimo punto si fa riferimento alla DNS root zone 36

DNS name server Non esiste un unico server che conosce il mapping di tutti i nomi logici negli indirizzi IP corrispondenti Il protocollo considera 1) local name server Ogni ISP, ogni azienda, ogni università ha il suo local name server Le richieste al DNS passano prima attraverso il local name server 37

DNS name server 2) authoritative name server forniscono mapping di gruppi di host nello stesso dominio (zone) e possono definire nuovi server autoritativi per sotto-domini 3) top level domain name server amministrano i domini di alto livello (com,org,net,edu,gov,it,uk,fr,...) per i quali sono autoritativi 4) root name server contengono gli IP degli authoritative e dei top level domain name server, (o sanno a chi chiedere) 38

DNS: root name server a NSI Herndon, VA c PSInet Herndon, VA d U Maryland College Park, MD g DISA Vienna, VA h ARL Aberdeen, MD j NSI (TBD) Herndon, VA k RIPE London i NORDUnet Stockholm m WIDE Tokyo e NASA Mt View, CA f Internet Software C. Palo Alto, CA b USC-ISI Marina del Rey, CA l ICANN Marina del Rey, CA 13 root name server 39

DNS: root name server Alcuni root name server sono di tipo anycast con molte repliche distribuite in vari paesi tra cui l'italia Le rischieste vengono quindi instradate sul server più "vicino" o "migliore" La risoluzione dei nomi procede dall'alto verso il basso 40

DNS: root name server Quando un root name server riceve una richiesta da un local name server Se conosce il mapping tra nome logico e indirizzo IP lo restituisce Altrimenti interroga il top level domain server di competenza che a sua volta interroga l authoritative name server ottiene il mapping lo restituisce 41

Esempio: query ricorsive root name server 3 2 7 6 top level domain server per edu local name server dns.eurecom.fr 4 1 8 5 authoritative name server dns.umass.edu query reply surf.eurecom.fr gaia.cs.umass.edu 42

Esempio: query iterative Il server contattato non restituisce un indirizzo IP ma il nome di un altro server: non conosco questo nome, prova a chiedere a questo server local name server dns.eurecom.fr 1 2 8 surf.eurecom.fr 3 4 5 7 root name server 6 query iterativa top level domain per edu authoritative name server dns.cs.umass.edu query reply gaia.cs.umass.edu 43

In realtà DNS: caching Tutti i name server conoscono almeno un root name server ma questo modo di risolvere i nomi non è efficiente I name server conservano nella memoria cache i mapping che ricevono Grazie al meccanismo del caching i local name server possono evitare di interrogare i root name server ogni volta che necessitano di un indirizzo IP 44

In realtà DNS: caching Quando un name server restituisce una risposta che ha in cache avverte che non è un server autoritativo per quel dato restituisce l'informazione sul server autoritativo Se è importante l'efficienza, il richiedente userà l'ip appena ricevuto Se è importante la precisione, il richiedente contatterà il server autoritivo per verificare la validità dell'ip ricevuto 45

In realtà DNS: caching Per stabilire la validità di un dato in cache si usa il TTL (Time To Live) In genere il TTL vale 1 o 2 giorni (espressi in secondi) Si possono specificare TTL lunghi per quei dati che cambiano raramente 46

DNS: formato dei messaggi [RFC 1035,sec.4] numero a 16 bit per identificare la richiesta (la risposta usa lo stesso numero) query o reply query ricorsiva codici di errore 47

DNS: formato dei messaggi Name, Type per una query in un messaggio ci possono essere più query record in risposta ad una query record per i server autoritativi 48

DNS: resource record RR: (Name, Value, Type, TTL) TTL (Time to Live) Intero a 32 bit, determina la durata (in secondi) della validità di una risorsa in cache 49

DNS: resource record RR: (Name, Value, Type, TTL) Type: Name: Value: A host indirizzo IP 50

DNS: resource record RR: (Name, Value, Type, TTL) Type: Name: Value: NS dominio (es. unige.it) nome del name server autoritativo per il dominio (serve per il routing delle query) 51

DNS: resource record RR: (Name, Value, Type, TTL) Type: Name: Value: CNAME è l'alias del nome canonico es. dida.disi.unige.it è un alias di anakin.disi.unige.it è il nome canonico 52

DNS: resource record RR: (Name, Value, Type, TTL) Type: Name: Value: MX alias del mail server nome canonico del mail server 53

DNS: Esempio 1 (lookup) >>> nslookup > server ns2.csita.unige.it Default server: ns2.csita.unige.it Address: 130.251.200.1#53 > set q=a > google.com Server: ns2.csita.unige.it Address: 130.251.200.1#53 Non-authoritative answer: Name: google.com Address: 64.233.167.99 Name: google.com Address: 64.233.187.99 Name: google.com Address: 72.14.207.99 C: client S: server 54

DNS: Esempio 2 (reverse lookup) >>> nslookup 150.178.21.9 C: client S: server Server: 83.103.25.250 Address: 83.103.25.250#53 ** server can't find 9.21.178.150.in-addr.arpa.: NXDOMAIN 55

DNS: Esempio 2 (reverse lookup) >>> nslookup 83.103.25.250 Server: 83.103.25.250 Address: 83.103.25.250#53 C: client S: server Non-authoritative answer: 250.25.103.83.in-addr.arpa name = 83-103-25-250.ip.fastwebnet.it. Authoritative answers can be found from: 25.103.83.in-addr.arpa nameserver = dns1.fastweb.it. 25.103.83.in-addr.arpa nameserver = dns2.fastweb.it. dns1.fastweb.it internet address = 213.140.2.12 dns2.fastweb.it internet address = 213.140.2.2 56

Attacchi al DNS Il DNS è un punto critico della rete Un server DNS malevolo potrebbe infatti dare risposte scorrette facendo credere ad un'applicazione software o ad un utente di essere su un certo sito mentre in realtà è da un'altra parte (DNS cache poisoning) Sono state proposte versioni sicure del DNS (che non vedremo) 57

Traffico generato dal DNS È davvero notevole e inoltre si presta a molti errori Fairly often, as in millions of times per second worldwide, somebody looks up a domain name in DNS that isn t there. Maybe this is a user at a Web browser making a typographical error, or maybe there s a broken link on a Web site, or maybe a hardware or software error is causing nonexistent names to go into DNS requests. One way or another, the answer is generally supposed tobe NXDOMAIN (sometimes written as RCODE=3)... [What DNS is not, Vixie, 2009] 58