2015年11月20日金曜日

WindowsでTelnetを使わずにポート番号を指定して接続確認を実施する方法

最近のWindowsではTelnetクライアントは標準ではインストールされなくなった。普段はTelnetを使う用途はないので問題にはならないが、クライアントからサーバへ特定のポートで接続できるか確認する際に困ることがある。

Windowsでできる別の方法

というわけで、今まではいちいちTelnetクライアントを追加インストールしていたが、意外なコマンドで手軽に実施する方法があった。FTPコマンドを使うのだ。

使い方は以下の通り。

   ftp
   open <HOST名 or IPアドレス> <ポート番号>
   
    →接続OK:「www.google.com に接続しました。」が表示
    →接続NG:何も表示されない

実行例を示す。www.google.comに対して、80番ポートで接続可能か確認しており、接続OKのパターンとなる。なお、接続してからプロンプトが戻るまでは時間を要するが、「Ctrl+C」にて接続を閉じることができる。

   C:\>ftp
   ftp> open www.google.com 80
   www.google.com に接続しました。
   接続がリモート ホストによって閉じられました。
   ftp>

以下は接続NGのパターン。何も表示されずしばらく経過したのち、タイムアウトの出力がされる。タイムアウトまでは「Ctrl+C」などを押してもキャンセルできないため、待たねばならなくなる。Windows 10のPCで時間測定したところ、105秒(1分45秒)でタイムアウトするようだ(ただし、タイミングによっては21秒となる場合があり、法則がよくわからなかった)。

C:\>ftp
   ftp> open www.google.com 81
   > ftp: connect :接続がタイムアウトしました
   ftp>