Maison >Tutoriel système >Linux >Test de connectivité des ports : comment utiliser Telnet avec élégance

Test de connectivité des ports : comment utiliser Telnet avec élégance

王林
王林avant
2024-01-01 21:59:511133parcourir

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 ).
Test de connectivité des ports : comment utiliser Telnet avec élégance

Il y a deux résultats d'exécution : Port non ouvert
$ 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 ?

Plan

En 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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer