Telnet接続を取得するためにマシンの両側でTelnetを有効にする必要があるかどうかを知りたい。
ここに問題があります:Linux Webサーバー(Red Hat)からポート80でパブリックIPをtelnetしようとしています。
このパブリックIPではHTTP(80)が有効になっています。私は ” m telnetが有効になっているかどうかはわかりませんが、所有者は有効だと言っています。
Linuxサーバーでは、HTTP(80)は有効になっていますが、telnetは有効になっていません。代わりにSSHが有効になっています。
Linuxサーバーからtelnetを実行すると:telnet PublicIP 80
と表示されます:
Trying "PublicIP"... Connected to "PublicIP" ("PublicIP"). Escape character is "^]". Connection closed by foreign host
サーバーでtelnetを有効にする必要がありますか?他のソースで確認されているように、もう一方の端には問題がないためです。パブリックIP:220.226.190.180
どのように機能させるか説明してください。Linuxサーバーでtelnetを有効にする必要がある場合は、コマンドとメソッドを共有してください。
コメント
- telnetポートは安全ではないことがわかっているため、ほとんどのfwがブロックします。 ' telnetポートをブロックするファイアウォール(他のマシン上)がないこと。
- すでにやりたいことを実行したようです… telnet 'リモートHTTPサービスに接続し、'何も入力しなかったため、接続が閉じられました。Telnetサービスを有効にする必要はありません。 (サーバー)任意のマシン上。Telnetクライアントを使用しています。curl/ wget / nc / whateverを使用して同じことを行うこともできます。
- 存在する可能性が高いですが、許可されています誰にでも。WindowsPCのホームネットワークからtelnetできますが、オフィスのiaからです。 m向き。このサーバーからファイアウォールの側ですべてが許可されます。
- @Networkerセキュリティ上の懸念は(このコンテキストでは)まったくナンセンスです。 telnetは、サービスの到達可能性をテストするためのクライアントとして使用されます。いいえ、 telnetポートは関与しません。
回答
telnet
を使用してリモートWebサーバーへの接続をテストしようとしていますか?次に、いいえ:telnetサーバーは必要ありません。リモートHTTPサーバーは、エスケープ文字で示されているように、コマンドを待機しています。待機がタイムアウトすると、接続が閉じられます。つまり…
telnet <hostname or ip address> 80
次に、いくつかのHTTPコマンドを入力します。
GET / HTTP/1.1 host: <fqdn>
リモートWebサーバーがサービスを提供するように構成されているホストのFQDNを使用します。上記のHTTPコマンドを使用してデフォルトのドキュメントを返します。 0xAFによる正確なコメントに注意してください。
コメント
- OPは、応答を取得できるように、入力後に1行空を入力する必要があります。ほとんどのHTTPサーバーはHTTP / 1.0通信を許可します。 OPがHTTPサービスのみをテストしようとしている場合は、" GET / HTTP / 1.0 "と記述して、Enterキーを押すだけです。 2回。
回答
最初の文の質問に答えるには:Telnetは2つのことです。サーバー側アプリケーション(デーモン)、およびクライアント側アプリケーション。
telnetサーバーが実行されている場合、コンピューターはTCPポート23でtelnetクライアントからの接続をリッスンしています。
telnetクライアントはどのポートでもリッスンしませんが、コンピューターのTCPポート23(デフォルト)に接続しようとします。正しく接続されている場合、ユーザーはログインを求められ、インタラクティブなシェルセッションが行われる可能性があります。 telnetはデフォルトで、暗号化されていないプレーンなテキスト(パスワードを含む)を使用して通信するため、これはお勧めしません。
ただし、クリストファーが優れた回答で述べているように、実際にhttpサーバーをテストしようとしている場合はtelnetの場合、そのためにtelnetプログラムを使用でき、telnetサーバーは必要ありません。
telnetクライアントプログラムを使用して、デフォルトのポート23以外のTCPポートに接続できます。
telnet <hostname> <TCP port>
httpサーバーは通常ポート80でリッスンするため、telnetプログラムを使用してポート80に接続し、接続時にhttpサーバーがブラウザーに送信する内容を確認できます。
telnet google.com 80
接続されますが、次のテキストを入力する必要があります。これは単純なhttpリクエストです(大文字と小文字が区別されます)。
GET / HTTP/1.1 host: test.com
次に、Enterキーを2回押します。
次に、googleがブラウザに提供するすべての生のhtmlが表示されます。これと同じ概念を使用して、独自のhttpサーバー。
回答
telnet
を使用してHTTPプロトコルをテストできますが、このタスクにより適したツールがあります。個人的にはcurl
をお勧めします。これは本質的に、さまざまなプロトコル(HTTP、HTTPS、FTP …)と対話できるコマンドラインユーティリティです。 telnet
の代わりにcurl
を使用してHTTPサーバーをテストすると、HTTPリクエストを手動で入力する必要がなくなり、次の情報が提供されます。全体的な詳細情報。現在の状況に役立つと思われる機能は次のとおりです。
HTTPを使用してホストに接続し、デフォルトのドキュメントをリクエストします。
curl <public ip>
HTTPを使用してホストに接続し、HTTPヘッダーのみを表示します。
curl -I <public ip>
HTTPを使用してホストに接続し、HTTPヘッダーのみを表示し、3xxリダイレクトに従います。
curl -LI <public ip>
curl
には文字通り数十のオプションがあります。 簡単な要約にはcurl --help
を使用し、詳細情報にはman curl
またはcurl --manual
を使用することをお勧めします。