【telnet】Linuxコマンド_ネットワークのサービスを確認する

Webサーバなどのネットワークサービスが動作しているか確認したい際は、「telnet」を使用して簡単に確認することが可能です。




「telnet」コマンドの使い方(Linux)

もともと「telnet」コマンドはリモートホストへポート番号「23」番を利用してリモートアクセスをするために使用していたことがほとんどでした。

しかし、昨今では「telnet」コマンドを使用することにより、「テキストベース」での通信となるのでデータは平文となり、盗聴されやすくセキュリティに問題が生じていました。

そのため、最近ではデータの暗号化をしてリモートアクセスする「ssh」が使用されることが推奨されています。
「ssh」コマンドは以下を参考にしてください。

関連記事

Linuxでは通信を暗号化し、コンピュータ、ホストへのログインを安全に行える「SSH」があります。 「ssh」コマンドの使い方(Linux) 「ssh」は通信を暗号化し、安全なリモート通信をするために使用されます。 ま[…]

今回は、リモートホスト先にログインするのではなく、ローカルホスト、リモートホストで動作しているネットワークサービスを確認する場合に「telnet」コマンドを使用します。

「telnet」コマンドをインストール

まずは、「telnet」コマンドのインストールですが、以下コマンドのどちらかでインストールを実行します。

$ dnf -y install telnet

or

$ yum -y install telnet



「telnet」コマンドでネットワークサービスを確認

「telnet」コマンドをインストールしたら実際に使用してみます。

例えば、ローカルホストでHTTP(Web)サーバを構築し、正常に動作しているか確認したい場合、HTTPのポート番号(80)を指定して、GETメソッドで要求をします。

以下では「localhost」への80万ポートでアクセスした際の例となります。

$ telnet localhost 80
Trying 172.17.0.1...
Connected to localhost.
Escape character is '^]'.
GET /
HTTP/1.0 200 OK
Date: Sun, 13 Jun 2021 03:30:30 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
P3P: CP="This is not a P3P policy! See g.co/p3phelp for more info."

------中略------

「GET /」を実行した後に「HTTP/1.0 200 OK」と表示され、その後、httpの構文が表示されれば動作確認は完了です。
正常に動作していることが確認できます。

また、以下ではリモートホストとして、「google.com」への80番ポートでアクセスした際の例となります。

$ telnet google.com 80
Trying 172.217.31.174...
Connected to google.com.
Escape character is '^]'.
GET /
HTTP/1.0 200 OK
Date: Sun, 13 Jun 2021 03:35:30 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
P3P: CP="This is not a P3P policy! See g.co/p3phelp for more info."

------中略------

こちらも同じくhttpの構文が表示されたので問題なく動作していることが確認できます。
そのほかにも「443」などのhttpsの確認も可能です。

「telnet」コマンドオプション

「telnet」コマンドのオプションは以下となります。

$ telnet -h
telnet: invalid option -- 'h'
Usage: telnet [-4] [-6] [-8] [-E] [-L] [-S tos] [-a] [-c] [-d] [-e char] [-l user]
	[-n tracefile] [-b hostalias ] [-r] 
 [host-name [port]]

以上が「telnet」コマンドの使い方となります。

最新情報をチェックしよう!