weblog of key_amb

主にIT関連の技術メモ

CentOS 7 で特定の (IP, port) に対する通信が可能か確認

CentOS 6 な環境では、下の記事にあるように nc -zv $ip $port で確認できる。
IPv4 な環境では nc -zv4 でいい。

が、CentOS 7 の nc は nmap-ncat に置き換えられている。
だいたい同じことができるのだけど、肝心の -z オプションは使えなくなった。

参考:

そこで、どうするか。

ポートスキャンの定番 nmap を使えばいいんじゃないかと思っている。

% nmap -p 22,80 192.168.33.11

Starting Nmap 6.40 ( http://nmap.org ) at 2016-03-06 01:24 UTC
Nmap scan report for vagrant1 (192.168.33.11)
Host is up (0.000043s latency).
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp closed http

Nmap done: 1 IP address (1 host up) scanned in 0.03 seconds

ただ、 nc -zv $ip $port だと通信できるかどうか $? で取れるので、スクリプトの中で使いやすかったのだけど、 nmap はいずれの場合でも正常終了するので、同じようにやろうとすると、実行結果のテキストの中身を見ないといけない。 少しだけ面倒。

もっと手軽なやり方はあるだろうか。

ちなみに、 telnet だともっと面倒そう。