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

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

PHP中文网
PHP中文网original
2017-06-21 11:19:171840parcourir

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

À ce moment , la commande Quitté.

  • Le port est ouvert

$ telnet 101.199.97.65 62715
Trying 101.199.97.65...
Connected to 101.199.97.65.
Escape character is '^]'.

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 :

^]
telnet>

Exécuter quit à ce moment pour vraiment sortir.

telnet> quit
Connection closed.

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.

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
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
  • 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
Trying 101.199.97.65...
Connected to 101.199.97.65.
Escape character is '^]'.
Connection closed by foreign host.

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!

Déclaration:
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