web-dev-qa-db-ja.com

Linuxサーバー上のTelnet

マシンの両側でtelnetを有効にしてtelnet接続を取得する必要があるかどうか知りたい。

ここに問題があります:Linux Webサーバー(Red Hat)からポート80でパブリックIPをtelnetしようとしています。

このパブリックIPではHTTP(80)が有効になっています。 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を有効にする必要がある場合は、コマンドとメソッドを共有してください。

4
Money

telnet?を使用してリモートWebサーバーへの接続をテストしようとしています。次に、いいえ:telnetサーバーは必要ありません。エスケープ文字で示されているように、リモートHTTPサーバーはコマンドを待機しています。待機中にタイムアウトになると、接続が閉じられます。そう...

telnet <hostname or ip address> 80

次に、いくつかのHTTPコマンドを入力します。

GET / HTTP/1.1
Host: <fqdn>

リモートWebサーバーがサービスを提供するように構成されているホストのFQDNを使用します。上記のHTTPコマンドでデフォルトのドキュメントを返します。 0xAFによる正確なコメントに注意してください。

7
Christopher

最初の文の質問に答えるには:Telnetは、サーバー側アプリケーション(デーモン)とクライアント側アプリケーションの2つです。

Telnetサーバーが実行されているとき、コンピューターはTCPポート23でTelnetクライアントからの接続をリッスンしています。

Telnetクライアントはどのポートもリッスンせず、コンピュータのTCPポート23(デフォルト))に接続しようとします。正しく接続されている場合、ユーザーはログインとtelnetはデフォルトでプレーンな暗号化されていないテキスト(パスワードを含む!)を使用して通信するため、これはお勧めできません。

ただし、Christopherが彼の優れた答えで述べているように、本当にtelnetを使用してhttpサーバーをテストしようとしている場合は、そのために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サーバーをテストできます。

5
async8192

telnetを使用してHTTPプロトコルをテストできますが、タスクにより適したツールがあります。個人的にはcurlをお勧めします。基本的には、さまざまなプロトコル(HTTP、HTTPS、FTP ...)と対話できるコマンドラインユーティリティです。 curlの代わりにtelnetを使用して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を使用することをお勧めします。

1
Creek

Telnetやcurlがない場合は、catおよびproc dirを使用してポートに接続することもできます。

cat < /dev/tcp/Host/PORT

この記事(スペイン語) から抽出。

1
Vactinant