WindowsやUNIX系のOSではローカル、リモートのマシンで空いているポートを確認(ポートスキャン)するコマンドがある。 今回は、UNIX系のOSでローカル、リモート別にそれぞれで使えるポートスキャンコマンドについてまとめてみた。
まぁ、UNIX系としてひとくくりにしてしまったけど、実際は各OSごとにコマンドで出来る機能が違ったりするので、
ローカルマシンのポートチェックコマンド
netstat
Windowsでもあったが、実行しているローカルマシンのポートを確認する定番コマンド。
使い方については、こちらを参照してもらいたい。
リモートマシンのポートチェックコマンド
リモートマシンに対してのポートチェックコマンド。
FTP、telnetについてはWindowsと同様なので、それ以外のコマンドについてを記述していく。
ping(Solarisのみ)
「Pingでポートチェックが出来るかこの嘘つきヤロー」と思われたと思う。
確かに、LinuxやMac、HP-UX等ではそのような使い方は出来ない。しかし、何故かSolarisだけは独自路線をひた走り、「-p」オプションでポートを指定出来るのだ!
…「-p」ってパターンじゃなかったっけ?
ping -p ポート番号 対象のホスト
nmap
ポートスキャンといえば定番のコマンド。
デフォルトでは入ってないけど、大体のUNIXにインストール可能。
nmap 対象のホスト
nping
nmapとセットでインストールされるコマンド。
ポートを指定してpingを実行出来る。
nping --tcp -p ポート番号 対象のホスト
netcat(nc)
Linuxでは標準でインストールされている事があるコマンド。基本的には別途インストールが必要。
対象ホストとポートを指定し、接続が出来ない場合は 何も表示されない。
接続が出来なかった場合は、exit codeが1になる(接続が出来た場合はexit code 0となる)。
netcat -w タイムアウト時間(秒) 対象のホスト ポート番号
基本的には以上。
なお、「このコマンドが足りない」とか、「この内容が間違っている」等ありましたら教えて下さい。