telnet コマンドは、TELNET プロトコルのユーザー インターフェイスであり、 コマンド モード と セッション モード の 2 つのモードをサポートしています。 Telnet は多くのコマンドをサポートしていますが、ほとんどの場合、ターゲット ホストが特定のポート (デフォルトは 23) を開いているかどうかを確認するためにのみ使用されます。 実行結果は 2 つあります:
$ telnet 101.199.97.65 62715
Trying 101.199.97.65... telnet: connect to address 101.199.97.65: Connection refused
$ telnet 101.199.97.65 62715
Trying 101.199.97.65... Connected to 101.199.97.65. Escape character is '^]'.
エスケープ文字は '^]'.
によると、終了文字は '^]' (CTRL+]) であることがわかります。この時点で他の文字を入力しても終了しません。また、CTRL+C も終了しません。 CTRL+] を入力すると、自動的に実行され、コマンド モードに入ります:
^]
telnet>
quit
を実行します。 Escape character is '^]'.
可知退出字符为'^]'(CTRL+])。此时输入其它字符不能使其退出,CTRL+C都不行。输入CTRL+]后会自动执行,进入命令模式:telnet> quit
Connection closed.
此时再运行quit
才会真正退出。
$ 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.
$ echo "" | telnet 101.199.97.65 62715
其中,Escape character可以自定义,使用参数-e
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その中で、エスケープ文字はパラメータ
-e
を使用してカスタマイズできます:
Trying 101.199.97.65... telnet: connect to address 101.199.97.65: Connection refusedそれでも、Telnet を終了するのは依然として面倒です。では、さらに一歩進んで、スクリプト内に Telnet が含まれている場合、どのようにして (正常に) 終了すればよいのでしょうか? 解決策は実際には次のようになります:
$ 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.rrreeerrreee
結果を出力した後に終了を遅らせます
rrreee
このメソッドを使用して、標準出力と標準エラーをファイルにリダイレクトし、ファイルの内容を分析してポートのオープン状態を判断します。 🎜以上がシナリオ Linux 例の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。