
ここでは、Linuxでリモートマシンで開放されているポートを調査する方法として、nmapコマンドを使った方法を紹介します。
目次
nmapコマンドの書式とオプション
最小構成でインストールしたLinuxではnmapコマンドがインストールされていない場合があり、そのようなときは、パッケージ管理コマンド(yumやdnf)でインストールする必要があります。
書式
nmap [オプション] {ターゲット}
主なオプション
| オプション | 説明 |
|---|---|
| -sT | TCPスキャンを実施します。 |
| -sU | UDPスキャンを実施します。 |
| -sP | pingに応答するホストの一覧を表示します。 |
| -sA | ACKフラグだけのパケットを送ります。 |
| -A | OSとバージョンの検知を試みます。 |
| -O | OSを推定します。 |
| -F | 限定したポートのみを調べます。 |
主なポートの状態
| ポートの状態 | 説明 |
|---|---|
| open | ポートが開いている状態です。 |
| closed | ポートが閉じている状態です。 |
| filtered | パケットフィルタなどによりポートが開いているかどうか を判別できない状態です。 |
nmapコマンドの使い方
対象マシンで開放されているポートを検索するときは、以下のようにコマンドを実行します。
# nmap 192.168.0.1指定したネットワークで使用されているIPアドレスを調べるときは、以下のようにコマンドを実行します。
# nmap -sP 192.168.0.*対象マシンのOSや、Webサーバーソフトウェアとバージョンを確認するときは、以下のようにコマンドを実行します。(確認できない場合もあります。)
# nmap -A 192.168.0.1ファイアーウォールで保護されているか確認するときは、以下のようにコマンドを実行します。(「filtered」と出力されたら保護されています。)
# nmap -sA 192.168.0.1利用率の高いポートのみをスキャンするときは、以下のようにコマンドを実行します。
# nmap -F 192.168.0.1あとがき
コマンドのオプションやターゲットの指定方法を工夫することで、さまざまな調査ができますが、第三者のサーバーに対しての不用意なポートスキャンは、不正アクセスと受け取られかねませんので、スキャン対象は自分が管理しているマシンに限定しましょう。