Questo piccolo strumento ci permette di dialogare con i server in Internet senza dover installare i programmi specifici o magari, come nel nostro caso, provare a capire quali sono i problemi per i quali il programma specifico non funziona. Per poter far questa prova occorre conoscere un minimo di linguaggio per ogni tipologia di server che vogliamo contattare.
L'importante è riuscire a instaurare una connessione poichè per l'idividuazione del malfunzinamento non serve conoscere in dettaglio tutto il protocollo. In genere basta conoscere la porta associata al servizio, il modo per autenticarsi e un comando di get/set di un elemento.
telnet. Quando ci compare il "prompt" possiamo specificare
il nome del server e la porta digitando open nome-server 80.
Per la piattaforma M$ il programma telnet non è impostato
per mostrare l'eco dei comandi per cui bisogna impostarlo a mano con
il comando set localecho. Ora per dare il comando di
ricevimento della home page basta digitare GET / HTTP/1.0 seguito
da un doppio invio. La home page del server sarà visualizzata di seguito sul
terminale del telnet. Una sessione di cattura
del traffico di Ethereal potrebbe visualizzarci il dialogo tra le
macchine coinvolte nel test (client browser, ARP msgs, servers DNS,
firewall/proxy, server web). Nel caso in cui dobbiamo usare il proxy la stringa
da digitare diventa GET http://www.myproxy.it/ HTTP/1.0.
$ telnet localhost 80
GET / HTTP/1.0
ora ci facciamo aiutare dal comando s_client di OpenSSL:
$ openssl s_client -connect localhost:443 -state -debug
GET / HTTP/1.0
e otterremo dettagliate informazioni sulla sequenza di handshake di SSL.
Un tool più completo è
cURL che ci permette di scrivere
indifferentemente:
$ curl http://localhost/ $ curl https://localhost/
Sandro Doro (email me)