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.
Sfida
DifficileFai in modo che si verifichino entrambi gli errori e leggi i codici.
- Richiedi una pagina a
http://127.0.0.1:9999/, dove non c'è nulla in ascolto, e stamparefused=seguito dal codice di uscita - Fai lo stesso con
http://10.255.255.1/, un indirizzo che assorbe il traffico, con--max-time 2, e stampatimeout=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
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Reti da terminale
4È raggiungibile?
ICMP e pingLeggere l'output di pingQuando ping menteConnessione rifiutata o timeoutRiepilogo: raggiungibilitàEsercitati da solo: Playground Terminal