リモートホストへの接続をテストするためにコマンドラインで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
または、netcat
IPネットワーク接続のコマンドラインテストのためのより良いツールです。
最初のインスタンスでは、ポート22のリスナーに接続し、sshd
SSHハンドシェイクの最初の部分であるサーバーバージョン文字列を取得します。
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を使用して特別なタイムアウトを実行したり、トラフィック設定を最小限に抑えたりします。