Nmap を使うと、ネットワークにどんな機器があり、それぞれがどのポートを開けて何のサービスを動かしているかを調べられます。最初は自分のパソコン自身を調べ、慣れたら自分で用意した仮想マシンに広げると安全です。
この記事は、ネットワークの基本(IP アドレスとポート)を知っている人に向けています。読み終えると、次のことができるようになります。
- 自分のパソコンで開いているポートを一覧にする
- 結果に出るポートの状態(open・closed・filtered)を読み分ける
- 動いているサービスの種類とバージョンを調べる
Nmap でできること
Nmap はもともとポートスキャナーで、今もそれが中心の機能です。ほかに次のことができます。
- ホストの発見:範囲内のどの IP アドレスに機器がいるかを調べる(
-sn) - サービスとバージョンの検出:開いているポートで動いているソフトの名前と版を推定する(
-sV) - OS の推定:返ってきたパケットの特徴から OS を推定する(
-O) - スクリプトによる追加の調査:Lua で書かれたスクリプト(NSE)で、より詳しい情報を集める(
-sC)
管理者にとっての主な使い道は、自分のネットワークで「想定外に開いているポート」がないかを確かめることです。
インストール
公式のダウンロードページから入手します。
- Windows:インストーラー(
nmap-<バージョン>-setup.exe)を実行します。パケットの送受信に使う Npcap と、GUI の Zenmap も一緒に入ります。公式は Windows 7 以降を対応としています。 - macOS:ディスクイメージ(
.dmg)の中のインストーラーを使います。 - Linux:公式は RPM パッケージとソースコードを配っています。
インストールできたら、ターミナルで nmap -V を実行してバージョンが表示されるか確かめます。
安全な試し方
Nmap は相手の機器へパケットを送るので、試す相手を最初に決めておきます。
-
自分のパソコン自身を調べる。 ターミナルで次を実行します。通信は自分の中で完結します。
nmap 127.0.0.1Windows では、自分自身を調べるのに Npcap が必要です。インストーラーの既定の設定で入ります。
-
自分で用意した仮想マシンを調べる。 外部とつながらない内部ネットワークに仮想マシンを置き、その IP アドレスを指定します(安全な検証環境の作り方)。
-
インターネット越しに試したいときは scanme.nmap.org を使う。 Nmap の開発者が、Nmap で調べてよいと明言している練習用のサーバーです。1 日に数回までにして、負荷をかけないでください。
結果の読み方
nmap <対象> とだけ打つと、よく使われる TCP ポート 1,000 個を調べます。結果のポートには、主に次の状態が付きます。
| 状態 | 意味 |
|---|---|
open |
アプリケーションが接続を受け付けている |
closed |
届いているが、待ち受けているアプリケーションがない |
filtered |
ファイアウォールなどに遮られ、開いているか判断できない |
Nmap はほかに unfiltered、open|filtered、closed|filtered を合わせた 6 つの状態を使います。どれもポートそのものの性質ではなく、Nmap からどう見えたかを表します。同じポートでも、同じネットワークから調べると open、インターネット越しだと filtered になることがあります。
よく使うオプション
| オプション | すること |
|---|---|
-p 22,80,443 |
指定したポートだけ調べる(-p- で全ポート) |
-F |
既定より少ないポートだけ調べて早く終える |
-sn |
ポートは調べず、機器がいるかだけ確かめる |
-sV |
開いているポートのサービスとバージョンを調べる |
-O |
OS を推定する |
-A |
OS 推定・バージョン検出・スクリプト・経路調査をまとめて行う |
-oN 結果.txt |
結果をファイルに保存する(-oX で XML) |
たとえば nmap -sV -p 22,80 127.0.0.1 は、自分のパソコンの 22 番と 80 番で何が動いているかを調べます。
管理者権限が要る理由
既定のスキャン方法は SYN スキャン(-sS)です。SYN スキャンは生のパケットを組み立てて送るので、Linux や macOS では root 権限が要ります。権限がないと、Nmap は OS の通常の接続機能を使う接続スキャン(-sT)に切り替えます。接続スキャンは権限なしで動きますが、遅めです。Windows では管理者として実行するのが推奨されています。
注意点
- 許可のないネットワークや機器を調べないでください。 公式の法的な注意点のページも、調べる前に相手の管理者から書面で許可を得るよう勧めています。業務で使うときは、対象と期間を書面で決めてから始めます。
- 許可のないスキャンは、相手の管理者からプロバイダーへの苦情につながり、プロバイダーの規約違反になることがあります。
- Nmap はネットワークに負荷をかけないよう作られていますが、古い機器が Nmap のスキャンで止まった例はまれにあります。業務のネットワークでは、止まっても困らない時間帯に試してください。
- ライセンスは Nmap 独自の Nmap Public Source License(GPLv2 をもとに条件を足したもの)です。個人や組織が使うのは無料ですが、商用製品に組み込んで配ることは禁じられています。組み込みたいときは公式の条件を読んでください。
次に読む
出典
- ダウンロードページnmap.org/download.html
- インストールガイド:Windowsnmap.org/book/inst-windows.html
- リファレンス:オプションの一覧nmap.org/book/man-briefoptions.html
- リファレンス:ポートスキャンの基本(ポートの6つの状態)nmap.org/book/man-port-scanning-basics.html
- リファレンス:ポートスキャンの手法nmap.org/book/man-port-scanning-techniques.html
- 法的な注意点nmap.org/book/legal-issues.html
- scanme.nmap.org(スキャンしてよい練習用サーバー)scanme.nmap.org
- Nmap Public Source Licensenmap.org/npsl/
確認日 2026-10-25
似たツール
Suricata
影響範囲 外に届くネットワークを流れる通信をルールと照らし合わせ、怪しいものを見つけて記録する侵入検知・防御エンジン(IDS/IPS)。
- 用途
- 防御
- 形式
- サーバーで動かす
- 難易度
- 中級
- ライセンス
- 条件つきGPL-2.0
- 分類
- ネットワーク
Web-Check
影響範囲 外に届くURL を入れるだけで、Web サイトの公開情報(DNS・証明書・ヘッダーなど)をまとめて確認できる OSINT ツール。
- 用途
- 診断・監査
- 形式
- Web サービス
- 難易度
- 初級
- ライセンス
- 自由に使えるMIT
- 分類
- 偵察・情報収集/Web セキュリティ
Wireshark
影響範囲 外に届くネットワークを流れるパケットを記録し、中身をプロトコルごとに分解して見せるパケットアナライザー。
- 用途
- 学習
- 形式
- デスクトップアプリ
- 難易度
- 初級
- ライセンス
- 条件つきGPL-2.0
- 分類
- ネットワーク/フォレンジック