Menu
Coddy logo textTech

Abgelehnt oder Zeitüberschreitung

Lektion 18 von 47 im Kurs Netzwerken mit dem Terminal von Coddy.

Wenn eine Verbindung fehlschlägt, geschieht das auf eine von wenigen spezifischen Arten, und jede davon weist in eine andere Richtung. curl meldet anhand seines Exit-Codes, welcher Fall vorliegt – der Zahl, die ein Befehl hinterlässt und die als $? lesbar ist.

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

Drei davon solltest du dir merken:

  • 0: Erfolg
  • 7: Verbindung abgelehnt; der Rechner hat geantwortet und mitgeteilt, dass dort nichts lauscht
  • 28: Zeitüberschreitung; es hat überhaupt nichts geantwortet

7 ist schnell und 28 ist langsam, und genau dieser Unterschied liefert die Diagnose. „Abgelehnt“ bedeutet, dass du den Rechner erreicht und ein klares Nein erhalten hast; die Adresse ist also korrekt und der Dienst läuft nicht. Eine Zeitüberschreitung bedeutet, dass deine Anfrage verschwunden ist, was normalerweise heißt, dass eine Firewall sie verworfen hat oder die Adresse falsch ist.

challenge icon

Aufgabe

Schwer

Lass beide Fehler auftreten und lies die Codes ab.

  1. Fordere mit http://127.0.0.1:9999/ eine Seite an, an der nichts lauscht, und gib refused= gefolgt vom Exit-Code aus
  2. Tue dasselbe mit http://10.255.255.1/, einer Adresse, die den Datenverkehr verschluckt, mit --max-time 2, und gib timeout= und ihren Exit-Code aus

Erwartete Ausgabe:

refused=7
timeout=28

$? enthält den Exit-Code des gerade ausgeführten Befehls, lies ihn daher sofort aus.

Probier es selbst

Terminal
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Netzwerken mit dem Terminal

Übe selbstständig: Terminal-Playground