Nmap

ネットワーク上のホストと開いているポート、動いているサービスを調べる定番のスキャナー。

cat nmap/meta.yml確認日 2026-10-25

安全性

影響範囲 外に届く他人の通信を見る、または他人の機器へ通信を送る
管理者権限
必要
検証環境
必要

使い方

用途
診断・監査
難易度
中級
形態
コマンドライン
対応環境
Linux / macOS / Windows

信頼性

リポジトリ
nmap/nmap
ライセンス
要確認Nmap Public Source License
GitHub
スター13,8712026-10-25 時点
メンテ状況
更新が続いている最終更新 2026-10-24
目次
  1. はじめに
  2. Nmap でできること
  3. インストール
  4. 安全な試し方
  5. 結果の読み方
  6. よく使うオプション
  7. 管理者権限が要る理由
  8. 注意点
  9. 次に読む
  10. 出典

Nmap を使うと、ネットワークにどんな機器があり、それぞれがどのポートを開けて何のサービスを動かしているかを調べられます。最初は自分のパソコン自身を調べ、慣れたら自分で用意した仮想マシンに広げると安全です。

この記事は、ネットワークの基本(IP アドレスとポート)を知っている人に向けています。読み終えると、次のことができるようになります。

  • 自分のパソコンで開いているポートを一覧にする
  • 結果に出るポートの状態(open・closed・filtered)を読み分ける
  • 動いているサービスの種類とバージョンを調べる

Nmap でできること

Nmap はもともとポートスキャナーで、今もそれが中心の機能です。ほかに次のことができます。

  • ホストの発見:範囲内のどの IP アドレスに機器がいるかを調べる(-sn)
  • サービスとバージョンの検出:開いているポートで動いているソフトの名前と版を推定する(-sV)
  • OS の推定:返ってきたパケットの特徴から OS を推定する(-O)
  • スクリプトによる追加の調査:Lua で書かれたスクリプト(NSE)で、より詳しい情報を集める(-sC)

管理者にとっての主な使い道は、自分のネットワークで「想定外に開いているポート」がないかを確かめることです。

しないことWireshark と違い、Nmap は自分からパケットを送って相手の反応を調べます。何も送らずに観察する道具ではありません。結果は相手が返したパケットから推定したもので、相手やその手前のファイアウォールの設定によって変わります。

インストール

公式のダウンロードページから入手します。

  • Windows:インストーラー(nmap-<バージョン>-setup.exe)を実行します。パケットの送受信に使う Npcap と、GUI の Zenmap も一緒に入ります。公式は Windows 7 以降を対応としています。
  • macOS:ディスクイメージ(.dmg)の中のインストーラーを使います。
  • Linux:公式は RPM パッケージとソースコードを配っています。

インストールできたら、ターミナルで nmap -V を実行してバージョンが表示されるか確かめます。

安全な試し方

Nmap は相手の機器へパケットを送るので、試す相手を最初に決めておきます。

  1. 自分のパソコン自身を調べる。 ターミナルで次を実行します。通信は自分の中で完結します。

    nmap 127.0.0.1

    Windows では、自分自身を調べるのに Npcap が必要です。インストーラーの既定の設定で入ります。

  2. 自分で用意した仮想マシンを調べる。 外部とつながらない内部ネットワークに仮想マシンを置き、その IP アドレスを指定します(安全な検証環境の作り方)。

  3. インターネット越しに試したいときは 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 をもとに条件を足したもの)です。個人や組織が使うのは無料ですが、商用製品に組み込んで配ることは禁じられています。組み込みたいときは公式の条件を読んでください。

次に読む

出典

  1. ダウンロードページnmap.org/download.html
  2. インストールガイド:Windowsnmap.org/book/inst-windows.html
  3. リファレンス:オプションの一覧nmap.org/book/man-briefoptions.html
  4. リファレンス:ポートスキャンの基本(ポートの6つの状態)nmap.org/book/man-port-scanning-basics.html
  5. リファレンス:ポートスキャンの手法nmap.org/book/man-port-scanning-techniques.html
  6. 法的な注意点nmap.org/book/legal-issues.html
  7. scanme.nmap.org(スキャンしてよい練習用サーバー)scanme.nmap.org
  8. Nmap Public Source Licensenmap.org/npsl/

確認日 2026-10-25

似たツール

Suricata

影響範囲 外に届く
OISF/suricata

ネットワークを流れる通信をルールと照らし合わせ、怪しいものを見つけて記録する侵入検知・防御エンジン(IDS/IPS)。

用途
防御
形式
サーバーで動かす
難易度
中級
ライセンス
条件つきGPL-2.0
分類
ネットワーク
更新が続いているスター6,773最終更新 2026-10-23
Suricataの解説を読む

Web-Check

影響範囲 外に届く
lissy93/web-check

URL を入れるだけで、Web サイトの公開情報(DNS・証明書・ヘッダーなど)をまとめて確認できる OSINT ツール。

用途
診断・監査
形式
Web サービス
難易度
初級
ライセンス
自由に使えるMIT
分類
偵察・情報収集/Web セキュリティ
更新が続いているスター35,219最終更新 2026-10-25
Web-Checkの解説を読む

Wireshark

影響範囲 外に届く
wireshark/wireshark

ネットワークを流れるパケットを記録し、中身をプロトコルごとに分解して見せるパケットアナライザー。

用途
学習
形式
デスクトップアプリ
難易度
初級
ライセンス
条件つきGPL-2.0
分類
ネットワーク/フォレンジック
更新が続いているスター10,082最終更新 2026-10-25
Wiresharkの解説を読む