'nc'コマンドを使用してリモートポートに到達可能であることを確認する方法


ポートは、Linuxオペレーティングシステム上のアプリケーションまたはプロセスに関連付けられた通信のエンドポイントとして機能する論理エンティティです。使用する前に、どのポートが開いていて、ターゲットマシンでサービスを実行しているかを知っておくと便利です。

netstatまたはNMAPなどの他のいくつかのLinuxコマンドを使用して、ローカルマシン上のLinuxで開いているポートを簡単に一覧表示できます。

このガイドでは、単純なnetcat(略してnc)コマンドを使用して、リモートホスト上のポートが到達可能/オープンであるかどうかを判断する方法を示します。

netcat(または略してnc)は、TCP、UDP、またはUNIXドメインソケットに関連するLinuxのほぼすべてに使用できる強力で使いやすいユーティリティです。

# yum install nc                  [On CentOS/RHEL]
# dnf install nc                  [On Fedora 22+]
$ sudo apt-get install netcat     [On Debian/Ubuntu]

これを使用して、TCP接続を開き、任意のTCPおよびUDPポートをリッスンし、UDPパケットを送信し、IPv4とIPv6の両方およびそれ以降でポートスキャンを実行できます。

netcatを使用すると、次のように、開いているポートが1つ、複数、または範囲であるかどうかを確認できます。以下のコマンドは、ポート22がホスト192.168.56.10で開いているかどうかを確認するのに役立ちます。

$ nc -zv 192.168.1.15 22

上記のコマンドでは、フラグは次のとおりです。

  1. -z – sets nc to simply scan for listening daemons, without actually sending any data to them.
  2. -v – enables verbose mode.

nc -zv 192.168.56.10 80 22 21

スキャンするポートの範囲を指定することもできます。」

$ nc -zv 192.168.56.10 20-80

netcatコマンドのその他の例と使用法については、次の記事をお読みください。

  1. Transfer Files Between Linux Servers Using netcat Command
  2. Linux Network Configuration and Troubleshooting Commands

それで全部です。この記事では、簡単なnetcatコマンドを使用して、リモートホストのポートが到達可能/オープンであるかどうかを確認する方法について説明しました。以下のコメントセクションを利用して、このヒントについて返信してください。