サーバーにリモートアクセスできるかを確認するためにまず使われるのがpingというコマンドだと思います。 かつてはそれでも問題なかったのですが、最近はpingを許可しないようにファイアーウォールでブロックしていることもあるようです。
例えばWindows Serverはデフォルトの設定でpingによる通信(ICMP)を許可していません。LinuxでもICMPをブロックしている環境がたまにあったりします。
一方で、リモート管理の観点からWindowsの場合リモートデスクトップ用のポートをを、Linuxの場合SSH通信用のポートを許可している場合があります。こんな時に使えるのがnpingというコマンドです。
pingはICMPプロトコルを使って疎通確認を行うことができるコマンドです。実はSolarisのようにpingでポート指定できるようなOSもあるのですが、一般的にはpingコマンドではポートを指定できません。ところがnpingコマンドではIPアドレスとともにポートを指定することができます。使い勝手はpingコマンドとほとんど一緒です。
次のように使いことができます。 オプションはcオプションで試行回数、eオプションでインターフェイス、pオプションでポートを指定できます。 実行のログはvオプションでより詳細に出すことができますし、qオプションを指定すると結果だけを出力できます。
非常に便利なコマンドですね。利用するにはnmapパッケージをyumやaptなどのコマンドでインストールします。
$ sudo nping -c3 192.168.57.102 -p22 --tcp Starting Nping 0.7.01 ( https://nmap.org/nping ) at 2017-06-03 14:49 UTC SENT (0.0032s) TCP 192.168.57.101:54361 > 192.168.57.102:22 S ttl=64 id=15854 iplen=40 seq=1589366271 win=1480 RCVD (0.1975s) TCP 192.168.57.102:22 > 192.168.57.101:54361 SA ttl=64 id=0 iplen=44 seq=3687439332 win=29200 <mss 1460> SENT (1.0040s) TCP 192.168.57.101:54361 > 192.168.57.102:22 S ttl=64 id=15854 iplen=40 seq=1589366271 win=1480 RCVD (1.1980s) TCP 192.168.57.102:22 > 192.168.57.101:54361 SA ttl=64 id=0 iplen=44 seq=3703078323 win=29200 <mss 1460> SENT (2.0053s) TCP 192.168.57.101:54361 > 192.168.57.102:22 S ttl=64 id=15854 iplen=40 seq=1589366271 win=1480 RCVD (2.1979s) TCP 192.168.57.102:22 > 192.168.57.101:54361 SA ttl=64 id=0 iplen=44 seq=3718724257 win=29200 <mss 1460> Max rtt: 194.180ms | Min rtt: 192.381ms | Avg rtt: 193.479ms Raw packets sent: 3 (120B) | Rcvd: 3 (138B) | Lost: 0 (0.00%) Nping done: 1 IP address pinged in 2.20 seconds