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

Detaillierte Erläuterung der Szenario-Linux-Beispiele

PHP中文网
Freigeben: 2017-06-21 11:19:17
Original
1922 Leute haben es durchsucht

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
Nach dem Login kopieren
Nach dem Login kopieren
Trying 101.199.97.65...
telnet: connect to address 101.199.97.65: Connection refused
Nach dem Login kopieren
Nach dem Login kopieren

Zu diesem Zeitpunkt , der Befehl wurde beendet.

  • Der Port ist geöffnet

$ telnet 101.199.97.65 62715
Nach dem Login kopieren
Nach dem Login kopieren
Trying 101.199.97.65...
Connected to 101.199.97.65.
Escape character is '^]'.
Nach dem Login kopieren

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:

^]
Nach dem Login kopieren
telnet>
Nach dem Login kopieren

Führen Sie zu diesem Zeitpunkt quit aus, um den Befehl wirklich zu beenden.

telnet> quit
Nach dem Login kopieren
Connection closed.
Nach dem Login kopieren

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.
Nach dem Login kopieren

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
    Nach dem Login kopieren
    Nach dem Login kopieren
Trying 101.199.97.65...
Connected to 101.199.97.65.
Escape character is '^]'.
Connection closed by foreign host.
Nach dem Login kopieren
Nach dem Login kopieren
$ echo "" | telnet 101.199.97.65 62715
Nach dem Login kopieren
Nach dem Login kopieren
Trying 101.199.97.65...
telnet: connect to address 101.199.97.65: Connection refused
Nach dem Login kopieren
Nach dem Login kopieren
  • 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
    Nach dem Login kopieren
Trying 101.199.97.65...
Connected to 101.199.97.65.
Escape character is '^]'.
Connection closed by foreign host.
Nach dem Login kopieren
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage