Maison > Opération et maintenance > exploitation et maintenance Linux > Explication détaillée des exemples de scénarios Linux

Explication détaillée des exemples de scénarios Linux

PHP中文网
Libérer: 2017-06-21 11:19:17
original
1941 Les gens l'ont consulté

Scénario Linux--Comment quitter Telnet gracieusement dans un script

Scénario

La commande telnet est l'interface utilisateur du protocole TELNET. Elle prend en charge deux modes : Mode commande. et Mode Session. Bien que telnet prenne en charge de nombreuses commandes, dans la plupart des cas, nous l'utilisons simplement pour vérifier si l'hôte cible a ouvert un certain port (la valeur par défaut est 23) .

Il y a deux résultats d'exécution :

  • Le port n'est pas ouvert

$ telnet 101.199.97.65 62715
Copier après la connexion
Copier après la connexion
Trying 101.199.97.65...
telnet: connect to address 101.199.97.65: Connection refused
Copier après la connexion
Copier après la connexion

À ce moment , la commande Quitté.

  • Le port est ouvert

$ telnet 101.199.97.65 62715
Copier après la connexion
Copier après la connexion
Trying 101.199.97.65...
Connected to 101.199.97.65.
Escape character is '^]'.
Copier après la connexion

La commande ne se termine pas pour le moment.
D'après l'invite Escape character is '^]'., nous savons que le caractère de sortie est '^]' (CTRL+]). La saisie d'autres caractères à ce moment-là ne provoquera pas sa fermeture, ni CTRL+C. Après avoir entré CTRL+], il sera automatiquement exécuté et entrera en mode commande :

^]
Copier après la connexion
telnet>
Copier après la connexion

Exécuter quit à ce moment pour vraiment sortir.

telnet> quit
Copier après la connexion
Connection closed.
Copier après la connexion

Parmi eux, le personnage Escape peut être personnalisé, à l'aide des paramètres -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.
Copier après la connexion

Même ainsi, quitter Telnet est toujours gênant. Alors, pour aller plus loin, comment dois-je (gracieusement) quitter Telnet s'il apparaît dans un script ?

Schéma

En fait, cela peut être comme ceci :

  • Quitter immédiatement après la sortie des résultats

    $ echo "" | telnet 101.199.97.65 62715
    Copier après la connexion
    Copier après la connexion
Trying 101.199.97.65...
Connected to 101.199.97.65.
Escape character is '^]'.
Connection closed by foreign host.
Copier après la connexion
Copier après la connexion
$ echo "" | telnet 101.199.97.65 62715
Copier après la connexion
Copier après la connexion
Trying 101.199.97.65...
telnet: connect to address 101.199.97.65: Connection refused
Copier après la connexion
Copier après la connexion
  • Délai de sortie après la sortie des résultats
    le sommeil 2 amène Telnet à afficher les résultats et à rester pendant 2 secondes avant de quitter le mode commande.

    $ sleep 2 | telnet 101.199.97.65 62715
    Copier après la connexion
Trying 101.199.97.65...
Connected to 101.199.97.65.
Escape character is '^]'.
Connection closed by foreign host.
Copier après la connexion
Copier après la connexion

En utilisant cette méthode, la sortie standard et l'erreur standard peuvent être redirigées vers un fichier, et l'état d'ouverture du port peut être déterminé en analysant le contenu du fichier. .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal