telnet www.ietf.org 80
GET /rfc.html HTTP/1.1
Host: www.ietf.org
このコマンドシーケンスは、IETF Webサーバーwww.ietf.orgのポート80へのTelnet(つまりTCP)接続を開始します。次に、URLパスとプロトコルの名前を指定するGETコマンドが表示されます。目的のサーバーとURLを試してください。次の行は必須ホストヘッダーです。
ssh
代わりに、次のようなものを使用できます。telnet
ssh www.ietf.org 80 GET /rfc.html HTTP/1.1 Host: www.ietf.org
?
何その他のプログラム上記の例ではなく、ローカルホストからリモートhttpサーバーへの接続を確立してhttpリクエストをhttpサーバーに送信し、http応答を受信できます
ssh
か?telnet
何プログラムタイプ
telent
上記の例のものを代わりに使用できますか?
ありがとうございます。
ベストアンサー1
ssh
SSHクライアントは、サーバーホストキーの確認を続行する前にサーバーがいくつかのバナーを待つため、使用できません。 SSHプロトコルはHTTPとは何の関係もありません。
$ telnet localhost 222
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.0
telnet
ソケットにプレーンテキストメッセージを書き込むことができるため、Webサーバーでクエリを使用できます。
別の一般的な「汎用」TCP(およびUDP)クライアント(およびサーバー)は次のとおりですnc
。
$ nc localhost 222
SSH-2.0-OpenSSH_7.0
$ nc webserver 80
GET /
<?xml version="1.0" encoding="UTF-8"?>
[...]
更新、返信Telnet は http とは異なるプロトコルですが、なぜ telnet では http を使用できますが、ssh では使用できません。
クライアントはtelnet
プロトコルに拘束されません。 TCPサーバーに接続した後、読み取り/書き込みが可能です。
HTTPはプレーンテキストメッセージに基づくプロトコルであり、telnet
HTTPクエリを使用したり簡単に偽造したりできますnc
。
返信するSSHクライアントがサーバーホストキーの確認を進める前に待機する「サーバーのバナー」とは何ですか?
SSH クライアントはプロトコルに拘束されません。 TCPサーバーとのセッションの確立後にSSHクライアントが最初に行うことは、OpenSSHサーバーのバージョンを識別するバナーメッセージを待つことです。その後、ホストキーを確認して最後に認証すると、シェルが開きます。 SSH クライアントは、SSH サーバーへの接続にのみ関連します。