ホームページ  >  記事  >  運用・保守  >  シナリオ Linux 例の詳細な説明

シナリオ Linux 例の詳細な説明

PHP中文网
PHP中文网オリジナル
2017-06-21 11:19:171841ブラウズ

シナリオ Linux--スクリプトで Telnet を正常に終了する方法

シナリオ

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

  • 結果を出力した後に終了を遅らせます

    sleep 2によりtelnetが結果を出力し、2秒間留まり、コマンドモードを終了します。
  • rrreee

    rrreee

    このメソッドを使用して、標準出力と標準エラーをファイルにリダイレクトし、ファイルの内容を分析してポートのオープン状態を判断します。 🎜

    以上がシナリオ Linux 例の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。