Odmowa połączenia lub przekroczenie limitu czasu
Lekcja 18 z 47 w kursie Sieci komputerowe w terminalu w Coddy.
Gdy połączenie zawodzi, dzieje się to na jeden z kilku konkretnych sposobów, a każdy z nich wskazuje na inną przyczynę. curl informuje o tym za pomocą kodu wyjścia — liczby pozostawianej przez polecenie, którą można odczytać jako $?.
curl -s http://127.0.0.1:9999/
echo $?Warto zapamiętać trzy:
- 0: powodzenie
- 7: odmowa połączenia — maszyna odpowiedziała i poinformowała, że nic nie nasłuchuje na tym porcie
- 28: przekroczono limit czasu — nie otrzymano żadnej odpowiedzi
7 oznacza szybkie działanie, a 28 — wolne, i właśnie ta różnica pozwala postawić diagnozę. Odmowa oznacza, że dotarłeś do maszyny i otrzymałeś jednoznaczną odmowę, więc adres jest prawidłowy, a usługa nie działa. Przekroczenie limitu czasu oznacza, że Twoje żądanie zaginęło, co zwykle oznacza, że zapora je odrzuciła albo adres jest nieprawidłowy.
Wyzwanie
TrudnySpowoduj oba błędy i odczytaj kody.
- Zażądaj strony z
http://127.0.0.1:9999/, gdzie nic nie nasłuchuje, i wypiszrefused=, a następnie kod wyjścia - Zrób to samo dla
http://10.255.255.1/, adresu, który pochłania ruch, z--max-time 2, i wypisztimeout=oraz jego kod wyjścia
Oczekiwany wynik:
refused=7
timeout=28
$?przechowuje kod wyjścia właśnie uruchomionego polecenia, więc odczytaj go od razu.
Spróbuj swoich sił
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Sieci komputerowe w terminalu
4Czy jest osiągalny?
ICMP i pingOdczytywanie wyników pingGdy ping kłamieOdmowa połączenia lub przekroczenie limitu czasuPodsumowanie: osiągalność3Porty i gniazda
Czym jest portDobrze znane portyLocalhostNasłuchiwanie a łączeniePodsumowanie: porty6curl od podstaw do zaawansowania
Wyświetlanie nagłówkówZapisywanie odpowiedziWłasne nagłówkiStatus i czasKody zakończenia curlPodsumowanie: flagi curl9Uwierzytelnianie i debugowanie
Klucze API i BearerUser AgentLimity czasu i ponowieniaAnaliza błęduPodsumowanie: debugowaniePoćwicz samodzielnie: Edytor online Terminal