Comunicazione client e server
La comunicazione tra due calcolatori avviene solitamente tramite uno schema client / server, ovvero:
- Una macchina, detta server, rimane in attesa dei pacchetti indirizzati a lei per un determinato servizio.
- Una o più altre macchine, dette client, spediscono dei pacchetti al server, per ottenere delle risposte.
Non tutte le porte sono uguali per Linux:
- Le porte nel range
1 - 1024
sono riservate per i servizi di sistema, e si può avviare un server su una di queste porte solo come utente root. - Le altre porte, normalmente da
1025
fino a65535
(in modo che il numero della porta si possa rappresentare con 2 byte), possono essere usate dagli utenti normali.
Sulle macchine mathsgalore è installato un software di nome nmap, che permette di interrogre tutte le porte di un dato PC, per scoprire quali servizi sono disponibili.
nmap mathsgaloreN
,
dove al solito N
indica la macchina che avete scelto. Che servizi
sono riportati come disponibili? E su quali porte? Si provi a
determinare (anche con una ricerca su Google) a cosa servono i servizi
trovati. Una lista delle associazioni fra porte e servizi si trova
nel file /etc/services
.
Firewall e telnet
Già nelle prime lezioni, si era visto il comando telnet
,
l'alternativa "antica" ad SSH. Al giorno d'oggi, questo comando è ancora
utile come strumento per contattare i vari servizi di rete.
Il servizio telnet in origine non aveva bisogno di alcuna convenzione
particolare: tutto quello che l'utente scrive viene spedito così com'è
al server, e viceversa. Dunque, se conosciamo le convenzioni di un particolare
protocollo, possiamo comunicare con qualsiasi server tramite il comando
telnet
.
telnet
,
a contattare il server SSH su un'altra macchina del laboratorio, ad
esempio con il comando (il numero 22 è la porta su cui è in ascolto il
server SSH):
$ telnet mathsgalore 22e si provi a comunicare con il server. Chiaramente, non conoscendo noi il protocollo di SSH, non riusciremo ad avviare una vera comunicazione. Possiamo però vedere cosa risponde il server alla prima connessione.
Per proteggere i servizi che sono destinati solo all'uso in rete locale, la maggior parte dei computer (inclusi quelli in Aula 4) sono protetti da un firewall, che filtra le connessioni. Il servizio SSH, che serve per connettersi dall'esterno, è disponibile a tutti. Gli altri servizi, che dovreste aver individuato negli esercizi precedenti, non lo sono.
Ormai, quasi tutti i server telnet sono stati spenti. Tuttavia, qualcuno
è stato lasciato attivo con uno scopo diverso da quello originale.
Ad esempio, esiste un server telnet disponibile (solo in IPV6) all'indirizzo
towel.blinkenlights.nl
; Oppure il servere telehack.com
che riproduce una parte della rete ARPANET.
$ telnet telehack.come si esegua poi il comando
starwars
.
Per uscire da telnet si utilizzi la combinazione di tasti CTRL + ]
seguita da CTRL + D
quando appare il prompt del telnet.