Menu
Coddy logo textTech

Connessione rifiutata o timeout

Lezione 18 di 47 del corso Reti da terminale di Coddy.

Quando una connessione fallisce, lo fa in uno dei pochi modi specifici, e ciascuno indica una direzione diversa. curl segnala quale tramite il suo codice di uscita, il numero lasciato da un comando, leggibile come $?.

curl -s http://127.0.0.1:9999/
echo $?

Ce ne sono tre che vale la pena memorizzare:

  • 0: successo
  • 7: connessione rifiutata, la macchina ha risposto dicendo che non c'è nulla in ascolto lì
  • 28: timeout, non è arrivata alcuna risposta

7 è veloce e 28 è lento, e questa differenza permette di fare la diagnosi. Rifiutata significa che hai raggiunto la macchina e hai ricevuto un no secco, quindi l'indirizzo è corretto e il servizio non è in esecuzione. Un timeout significa che la tua richiesta è svanita, il che di solito vuol dire che un firewall l'ha bloccata o che l'indirizzo è sbagliato.

challenge icon

Sfida

Difficile

Fai in modo che si verifichino entrambi gli errori e leggi i codici.

  1. Richiedi una pagina a http://127.0.0.1:9999/, dove non c'è nulla in ascolto, e stampa refused= seguito dal codice di uscita
  2. Fai lo stesso con http://10.255.255.1/, un indirizzo che assorbe il traffico, con --max-time 2, e stampa timeout= e il relativo codice di uscita

Output previsto:

refused=7
timeout=28

$? contiene il codice di uscita del comando appena eseguito, quindi leggilo subito.

Provalo tu

Terminale
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Reti da terminale

Esercitati da solo: Playground Terminal