Der Telnet-Befehl ist die Benutzeroberfläche des TELNET-Protokolls. Er unterstützt zwei Modi: Befehlsmodus und Sitzungsmodus. Obwohl Telnet viele Befehle unterstützt, verwenden wir es in den meisten Fällen nur, um zu überprüfen, ob der Zielhost einen bestimmten Port geöffnet hat (Standard ist 23) .
Es gibt zwei Ausführungsergebnisse:
Der Port ist nicht geöffnet
$ telnet 101.199.97.65 62715
Trying 101.199.97.65... telnet: connect to address 101.199.97.65: Connection refused
Zu diesem Zeitpunkt , der Befehl wurde beendet.
Der Port ist geöffnet
$ telnet 101.199.97.65 62715
Trying 101.199.97.65... Connected to 101.199.97.65. Escape character is '^]'.
Der Befehl wird zu diesem Zeitpunkt nicht beendet.
Laut Eingabeaufforderung Escape character is '^]'.
wissen wir, dass das Exit-Zeichen „^]“ ist (STRG+]). Die Eingabe anderer Zeichen zu diesem Zeitpunkt führt nicht zum Beenden, ebenso wenig wie STRG+C. Nach der Eingabe von STRG+] wird es automatisch ausgeführt und wechselt in den Befehlsmodus:
^]
telnet>
Führen Sie zu diesem Zeitpunkt quit
aus, um den Befehl wirklich zu beenden.
telnet> quit
Connection closed.
Unter anderem kann das Escape-Zeichen mithilfe der Parameter angepasst werden -e
:
$ telnet -e p 101.199.97.65 62715 Telnet escape character is 'p'. Trying 101.199.97.65... Connected to 101.199.97.65. Escape character is 'p'. p telnet> quit Connection closed.
Trotzdem ist das Beenden von Telnet immer noch mühsam. Um noch einen Schritt weiter zu gehen: Wie soll ich Telnet (anständig) beenden, wenn es in einem Skript erscheint?
Tatsächlich kann es so aussehen:
Beenden Sie sofort nach der Ausgabe der Ergebnisse
$ echo "" | telnet 101.199.97.65 62715
Trying 101.199.97.65... Connected to 101.199.97.65. Escape character is '^]'. Connection closed by foreign host.
$ echo "" | telnet 101.199.97.65 62715
Trying 101.199.97.65... telnet: connect to address 101.199.97.65: Connection refused
Beenden nach Ausgabe der Ergebnisse verzögern
Sleep 2 bewirkt, dass Telnet Ergebnisse ausgibt und 2 Sekunden lang verbleibt, bevor der Befehlsmodus beendet wird.
$ sleep 2 | telnet 101.199.97.65 62715
Trying 101.199.97.65... Connected to 101.199.97.65. Escape character is '^]'. Connection closed by foreign host.
Mit dieser Methode können die Standardausgabe und der Standardfehler in eine Datei umgeleitet werden und der Port-Offen-Status kann durch Analyse des Dateiinhalts ermittelt werden .
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Szenario-Linux-Beispiele. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!