サイトアイコン ITC Media

【必読】telnetコマンド完全ガイド|基礎から応用まで徹底解説

(最終更新月:2023年5月)

✔このような方へ向けて書かれた記事となります

「telnetコマンドの使い方を教えてほしい」

「telnetコマンドって何ができるの?」

「telnetコマンドの実例が見てみたい」

✔当記事を通じてお伝えすること

当記事では、telnetコマンドの基本だけでなく、応用した使い方やオプションの実例まですべてご紹介しています。

ぜひ最後までご覧ください。

筆者プロフィール

【現職】プロダクトマネージャー

【副業】ブログ(月間20万PV)/YouTube/Web・アプリ制作

「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。現在はプロダクトマネージャーとして、さまざまな関係者の間に入り奮闘してます。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

telnetコマンドで知っておくべき基礎知識

telnetコマンドで知っておくべきことを見ていきます。

まずは簡単にでも目を通し、その概要を理解しましょう。

Telnetコマンドとは

Telnetコマンドは、インターネット標準プロトコルを使用し、以下のことをおこないます。

自身のコンピューターで、離れたところにあるPC(リモートコンピュータ)上で操作を実行できるのです。

Telnetの用途

Telnetは主に以下のような用途で使用されます。

問題が起きた際など、telnetコマンドでサーバーへアクセスし、その原因を探れます

Telnetプロトコルの概要

Telnetプロトコルは、クライアント-サーバー間のテキストベースの通信を可能にするインターネット標準プロトコル

データはプレーンテキストで送受信され、リアルタイムでのやりとりが可能です。

Telnetクライアントとサーバー

Telnetでは、クライアントとサーバーの2つのコンポーネントが関与します。

クライアントはTelnetコマンドを使ってサーバーに接続し、サーバー側ではTelnetデーモンがリクエストを受け付けます。

クライアントとは、ユーザーが操作するコンピュータのこと。

サーバーとは、接続先(リモート)コンピュータのことです。

Telnetのセキュリティに関する注意点

Telnetの使用は、セキュアな環境での使用がおすすめです。

なぜならTelnetは古いプロトコルであり、データが暗号化されずに送受信されるため、セキュリティ上のリスクがあるから。

悪意のある第三者が通信内容を傍受したり、成りすまし攻撃を行ったりする可能性があります。

Telnetの歴史

Telnetは1969年に開発され、インターネットの黎明期から存在するプロトコルのひとつ。

最初はARPANET上で使用され、その後インターネットへと普及しました。

Telnetコマンドの使い方

telnetコマンドを実際に使ってみましょう。

それぞれ見ていきます。

Telnetコマンドの構文

基本的なTelnetコマンドの構文は以下の通りです。

telnet [ホスト名/IPアドレス] [ポート番号]

Telnetコマンドの実行例

例えば、example.comというホストにポート80で接続する場合、以下のようにコマンドを実行します。

telnet example.com 80

Telnetでのログインとログアウト

Telnetでリモートホストに接続した後、通常はユーザ名とパスワードを入力してログインします。

ログアウトするには、「exit」または「logout」と入力します。

Telnetコマンドのオプション一覧

Telnetコマンドのオプション一覧をまとめました。

実例も載っているので、試したいものはいろいろと試してみてください。

オプション名説明実例
-a自動ログインを試みるtelnet -a example.com 80
-l [ユーザ名]指定したユーザ名でログインするtelnet -l user example.com 80
-Eエスケープ文字を無効にするtelnet -E example.com 80
-dデバッグモードを有効にするtelnet -d example.com 80
-b [IPアドレス]指定したIPアドレスを送信元アドレスとして使用するtelnet -b 192.168.1.10 example.com 80
-Kケルベロス認証を無効にするtelnet -K example.com 80
-88ビットデータパスを使用するtelnet -8 example.com 80

Telnetのインストールと設定

Telnetコマンドが使えない方はインストールが必要です。

OSにより異なるので、次の方法を参考にしてください。

WindowsでのTelnetインストール方法

Windowsでは、以下の手順でインストールできます。

macOSでのTelnetインストール方法

macOSでは、デフォルトでTelnetがインストールされていないため、Homebrewを使ってインストールしてください。

Homebrewがインストールされていない場合は、先にインストールし、次に以下のコマンドを実行します。

brew install telnet

LinuxでのTelnetインストール方法

Linuxでは、ディストリビューションによって異なりますが、一般的にはパッケージマネージャーを使用してインストールします。

例えば、UbuntuやDebianでは以下のコマンドでインストールできます。

sudo apt install telnet

Telnetを使った実践例

ここまで理解できれば、いよいよ実践です。

ターミナル(コマンドプロンプト)を開いて試してみましょう。

リモートデバイスへの接続

リモートデバイス(例えばルーターやスイッチ)にTelnetで接続して、設定変更やトラブルシューティングをおこなえます。

サービスの可用性チェック

Telnetを使って、特定のポートが開いているかどうかを確認しましょう。

これにより、サーバー上のサービスの可用性をチェックできます。

ポートスキャン

Telnetを用いて、特定のホストの開いているポートを調べられます。

ただし通常は、専用のポートスキャンツール(例:Nmap)の使用がおすすめです。

簡単なトラブルシューティング

Telnetを使用して、リモートホストの接続性を確認したり、ファイアウォールやルーターの設定に問題がないか調べられます。

Telnetコマンドのトラブルシューティング

telnetコマンドで起こりうるトラブルとその対処法を見ていきましょう。

よくあるエラーとその対処法

以下のようなトラブルがよくあります。

接続が拒否されました

ポートが閉じているか、リモートホストにTelnetサーバーが実行されていない可能性があります。

接続がタイムアウトしました

ネットワークの問題や、ファイアウォールによって接続がブロックされている可能性があります。

Telnet接続のデバッグ方法

Telnet接続に問題がある場合、まずネットワーク接続やリモートホストの状態を確認します。

また、ファイアウォールの設定やルーティング設定が正しいかどうかを調べることも重要です。

代替ツールと比較

telnetに代わるツールも見てみましょう。

セキュリティなどを考えて、正しいものを選択してください。

SSHとの違い

SSH(Secure Shell)は、Telnetと同様にリモートホストへの接続と操作を可能にするプロトコルです。

SSHは、通信が暗号化されているためセキュリティが向上しています。

現在は、セキュリティ上の理由から、Telnetの代わりにSSHが推奨されることが多いです。

SSHについては詳しくこちらに記載しています。

PuTTYとの比較

PuTTYは、Windows用のSSHやTelnetクライアントです。

コマンドラインではなく、GUIベースで操作ができるため、初心者にとって使いやすいとされています。

その他の代替ツール

他にも、リモートホストへの接続と操作を行うためのツールがいくつか存在します。

例えば、Tera TermやMobaXtermなどがあります。

Telnetの将来性とセキュリティ対策

セキュリティ上少し不安のあるTelnetに将来はあるのでしょうか?

どのような対策をすれば良いかもお伝えします。

Telnetの将来性

セキュリティの問題から、現在ではSSHなどの暗号化されたプロトコルが主流となっているものの、Telnetを理解し使いこなせるスキルは一定の需要があると言えるでしょう

なぜならTelnetは、古い機器や特定の状況で利用されているから。

将来的には、リスクの低いプロトコルに置き換えられる可能性が高いですが、まだtelnetを使っている現場が多いのも事実です。

セキュリティ対策の重要性

Telnetを使用する際は、セキュリティ対策を十分に行うことが重要です。

暗号化されていない通信が第三者に傍受されるリスクを減らすため、以下のような対策が推奨されます。

リスクを理解したうえで、使用することをおすすめします。

まとめ

Telnetコマンドは、リモートデバイスへの接続やネットワークのトラブルシューティングなどに使用されます。

セキュリティ上のリスクがあるため、現在はSSHなどの代替プロトコルが主流となっていますが、Telnetを理解することは一定の価値があります

より深く理解し、実践的なスキルを身につけるためには、公式ドキュメントや関連書籍、オンラインコースなどを活用して学習を進めることをおすすめします。

モバイルバージョンを終了