Maison >Tutoriel système >Linux >Test de connectivité des ports : comment utiliser Telnet avec élégance
La commande telnet est l'interface utilisateur du protocole TELNET. Elle prend en charge deux modes : le mode commande et le 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 ).
$ telnet 101.199.97.65 62715 Trying 101.199.97.65... telnet: connect to address 101.199.97.65: Connection refused
À ce stade, la commande est terminée.
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 n'est pas terminée pour le moment.
Selon l'invite, le caractère d'échappement est '^]'. On peut voir 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écutez quit à ce moment-là pour vraiment sortir.
telnet> quit Connection closed.
Parmi eux, le caractère Escape peut être personnalisé, à l'aide du paramètre -e :
$ telnet -e p 101.199.97.65 62715 #使用p字符 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 reste problématique. Alors, pour aller plus loin, comment dois-je (gracieusement) quitter Telnet s'il apparaît dans un script ?
PlanEn fait, cela peut être comme ça :
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 #端口未开放Sortie différée après la sortie des résultats
sleep 2 amène Telnet à afficher les résultats et à quitter le mode commande après être resté pendant 2 secondes.
$ 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, vous pouvez rediriger la sortie standard et l'erreur standard vers des fichiers, et déterminer l'état d'ouverture du port 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!