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
だともっと面倒そう。