Linuxコマンド:外部から開放ポートを調査する(nmap)

Linuxコマンド:外部から開放ポートを調査する(nmap)

nmapコマンドを使って外部から対象マシンの開放ポートなどを調査する方法を紹介します。

動作環境

この記事は、以下の環境で実行した結果を基にしています。他のディストリビューションやバージョンでは、動作結果が異なる場合があることをご了承ください。

cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)

nmapコマンド

最小構成でインストールしたCentOS7にはnmapコマンドはないので、yumでインストールする必要があります。

構文

nmap [オプション] {ターゲット}

主なオプション

オプション説明
-sTTCPスキャンを実施します。
-sUUDPスキャンを実施します。
-sPpingに応答するホストの一覧を表示します。
-sAACKフラグだけのパケットを送ります。
-AOSとバージョンの検知を試みます。
-OOSを推定します。
-F限定したポートのみを調べます。

主なポートの状態

ポートの状態説明
openポートが開いている状態です。
closedポートが閉じている状態です。
filteredパケットフィルタなどによりポートが開いているかどうか
を判別できない状態です。

使用例

対象マシンで開放されているポートを検索するには

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

あとがき

コマンドのオプションやターゲットの指定方法を工夫することで、様々な調査ができますが、他のサーバーに対しての不用意なポートスキャンは、不正アクセスと受け取られかねませんので、スキャン対象は自分が管理するマシンに限定しましょう。

記事が役立ったらシェアしてくれるとうれしいです。

あなたにおすすめのコンテンツ