Netcat でサーバー間の疎通を確認する方法

サーバー間のネットワークが繋がっているか確認したい場合、Netcat (nc) コマンドが便利です。

使うコマンド

受信側では “-l” (Listen mode) オプションを使い、待受状態にします。

$ nc -l {listenするポート番号}

送信側は “-z” (Zero-I/O mode) オプションを使い、指定したポートに接続できるかテストします。

$ nc -v -z {受信側のIP} {受信側のポート番号}

host001 のポート 4949 に、host002 から疎通できるかどうかテストするには、下記のようなコマンドを叩きます。

1. 受信側のポートを listen する

[host001]$ nc -v -k -l 4949

”-v” でより多くのメッセージを出力し、”-k” でコネクションを永続化することができます。(”-k” を指定しないと1回受信するたびに nc が終了します)

2. 送信側から接続できるか確かめる

[host002]$ nc -v -z host001 4949

接続 OK の場合、以下のようなメッセージが出力されます。

送信側

Connection to host001 4949 port [tcp/munin] succeeded!

受信側

Connection from host002 port 4949 [tcp/munin] accepted

参考