Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Detaillierte Erläuterung der Szenario-Linux-Beispiele

Detaillierte Erläuterung der Szenario-Linux-Beispiele

PHP中文网
PHP中文网Original
2017-06-21 11:19:171903Durchsuche

Szenario Linux – So beenden Sie Telnet ordnungsgemäß in einem Skript

Szenario

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?

Schema

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn