私はしばしば人々が次のポートをテストするのを見ます:
//shell
telnet ip-address 80
telnet ip-address 25
AFAIK Telnetはリモートデバイスにアクセスする古い方法です。そうですか?それともそう思いました...
たとえば、なぜTelnet経由でsmtpポートに接続できますか?
答え1
これは便宜のためですが、ユーザーレベル以下の診断でもあります。これにより、サービスで発生した問題を分離できます。たとえば、Joeにはデータベースサーバーとクライアントがあります。彼らはコミュニケーションをしませんでした。ネットワークに問題がありますか?仕える人?顧客?
Joeはクライアントコンピュータに行き、シェルを開きます。彼はあなたが説明したようにTelnetを使います:
telnet server.ip.com 3333
クライアントプログラムのようにコマンドを入力します。
WHO;
サーバー応答
'11','JOE.CORP.COM'
(本当に愚かなサーバーですね)
このようにして、Joeはサーバーへのネットワークリンクが正常で、クライアントが正しく構成されていない可能性があることを知っています。
答え2
Telnetは非常に単純なプロトコルで、クライアントに入力したすべてのコンテンツ(いくつかの例外を除く)がネットワークに送信され、ネットワークのすべてのコンテンツが端末に表示されます。例外は、いくつかの特別な通信状態を設定する0xFFバイトです。通信にこのバイトが含まれていない限り、すべてのTCPポートでTelnetをネイティブ通信クライアントとして使用できます。
つまり、これは純粋に利便性のためです。
答え3
たとえば、なぜTelnet経由でsmtpポートに接続できますか?
smtp
Telnetプロトコルはプレーンテキストで実装されているためです。したがって、telnet
クライアントを使用すると、デフォルトでプレーンテキストを実装する特定のプロトコルを使用してすべてのポートに接続でき、そのプロトコルを使用して通信する方法がわかります。
答え4
netcatを使わずにnc
Telnetを使うのはなぜですか?
テストツールdda-serverspecでnetcatを使用する - 正確なコマンド
nc [host] [port] -z -w [timeout]