Telnetを使用したリモートホスト接続のテスト

Telnetを使用したリモートホスト接続のテスト

リモートホストへの接続をテストするためにコマンドラインでTelnetを使用しています。以下は私が使っているコマンドです。ホストに接続できると思いますが、Telnetの出力をよく理解できません。

yabhi$ telnet <remote host_ipaddr> 22
Trying <remote host_ipaddr>…
Connected to <remote host>
Escape character is '^]'.
SSH-2.0-OpenSSH_5.3
Connection closed by foreign host.

yabhi$ telnet <remote host_ipaddr> 23
Trying <remote host_ipaddr>…
telnet: connect to address <remote host_ipaddr>: Connection refused
telnet: Unable to connect to remote host

ポート22への最初のTelnetコマンドは、ポート22(SSHポート)への接続が確立されたことを確認しました。ただし、「ping」や「date」(印刷日)などのコマンドをテストしようとすると、接続が閉じられたというエラーメッセージが表示されます。この動作は、リモートホストへの接続が確立されたことを確認しますか?

驚くべきことに、Telnetをポート23(Telnetサーバーが実行されているポート)に接続すると接続できないというメッセージが表示されます。

答え1

telnetこのように使用すると一部生のTCP接続。 ncまたは、netcatIPネットワーク接続のコマンドラインテストのためのより良いツールです。

最初のインスタンスでは、ポート22のリスナーに接続し、sshdSSHハンドシェイクの最初の部分であるサーバーバージョン文字列を取得します。

2番目のインスタンスでは、通常はtelnetdリッスンするポート23に接続します。ただし、telnetセキュリティレベルが低いため、ssh通常、最新のシステムではデフォルトでは有効になりません。telnetd聞いているものがないので接続できません<remote_host_ipaddr>

誰ですかいいえこれを使用すると、リモートシェルセッションが確立されるtelnetため、リモートシステム上または他のシェルコマンドを実行できpingませんdate。通常、ネットワーク経由で送信されるプロトコル関連プロトコルの内容を手動で入力できるネットワーク接続を確立しています。 SSHを使用すると、交換されたデータは後で暗号化されるため、初期バージョンの交換後にほとんど輻輳します。

より一般的な用途は、HTTP、IMAP、またはSMTPなどのテキストベースのプロトコルを実行しているサーバーをテストすることです。例えば

$ telnet <remote_host_ipaddr> 80
> GET /index.html HTTP/1.0
>
...
$

答え2

telnetポートが開いていてリッスンしていることを確認できます。ただし、実際にはリモートホストでコマンドを実行するわけではありません。telnet主に安全ではなく、すべての最新システムではこの機能が無効になっています。これがポート23への接続が失敗する理由でもあります。これは、システムがデフォルト接続を許可せず、ポートが閉じているためです。Connection refusedファイアウォールまたは閉じたポートによって接続がブロックされたことを示します。

答え3

より専門的なテストアプローチのためのテストツールdda-serverspec(https://github.com/DomainDrivenArchitecture/dda-serverspec-crate)そのような仕事のため。あなたはあなたの期待を定義することができます

{:netcat [{:host "mywebserver.com" :port "443"}
          {:host "telnet mywebserver.com" :port "80"}
          {:host "telnet mywebserver.com" :port "8443"}]}

そして、ローカルホストまたはリモートホスト(Ssh経由で接続されている)に対してこれらの期待をテストしてください。リモートテストの場合は、ターゲットを定義する必要があります。

{:existing [{:node-name "test-vm1"
             :node-ip "35.157.19.218"}
            {:node-name "test-vm2"
             :node-ip "18.194.113.138"}]
 :provisioning-user {:login "ubuntu"}}

テストを実行できます。java -jar dda-serverspec.jar --targets targets.edn serverspec.edn

後ろでは、netcatを使用して特別なタイムアウトを実行したり、トラフィック設定を最小限に抑えたりします。

関連情報