Categories: linux

nmapで始めるネットワークスキャン入門|基本コマンドから便利な活用例まで解説

ネットワーク管理やセキュリティ対策を行う上で、ネットワーク内の状況を正確に把握することは欠かせません。
そんなときに非常に頼りになるのが「nmap(エヌマップ)」というコマンドツールです。

nmapはLinux環境で広く使われているネットワークスキャナで、対象となるホストの生存確認や開いているポートの調査、OSの特定など、さまざまな用途に対応しています。
この記事では、nmapの基本的な使い方から、実践的なコマンド例、便利なオプションまで、初学者にもわかりやすく解説します。


nmapとは?なぜ使われるのか

nmapは「Network Mapper」の略で、ネットワーク探索やセキュリティ監査に使用されるオープンソースのツールです。
Linuxをはじめ、WindowsやmacOSなど主要なOSで利用できるクロスプラットフォーム対応のツールとして人気があります。

セキュリティの専門家はもちろん、企業のネットワーク管理者や学習中のエンジニアにも広く使われています。
たとえば以下のような目的でnmapが利用されます。

  • 対象ホストのオンライン・オフライン判定(pingスキャン)
  • 開いているポートの調査(ポートスキャン)
  • 実行中のサービスの識別
  • OSやソフトウェアバージョンの推測
  • セキュリティホールのチェック

nmapのインストール方法

多くのLinuxディストリビューションでは、nmapは標準リポジトリに含まれています。以下のようなコマンドで簡単にインストールできます。

Debian系(Ubuntuなど)の場合:

sudo apt update
sudo apt install nmap

Red Hat系(CentOS、Rocky Linuxなど)の場合:

sudo dnf install nmap

インストール後、nmap -vでバージョン情報を確認できます。


基本的なnmapの使い方

最も基本的な使い方は、特定のホストやIPアドレスに対してスキャンを行うシンプルな構文です。

nmap [対象のホストやIPアドレス]

例1:1つのホストをスキャン

nmap 192.168.1.10

このコマンドでは、192.168.1.10というIPアドレスに対して、標準的なポートスキャン(1〜1000番ポート)を実行します。

例2:複数のホストを同時にスキャン

nmap 192.168.1.1 192.168.1.2 192.168.1.3

または、IPレンジで指定:

nmap 192.168.1.1-50

さらに、サブネット指定も可能:

nmap 192.168.1.0/24

よく使うオプションと実例

-sP(Pingスキャン)

ホストが生きているか確認したいだけなら、以下のようにpingスキャンを使います。

nmap -sn 192.168.1.0/24

(※昔の-sPは現在-snに統一されています)

-p(ポート指定)

特定のポートだけをスキャンしたい場合:

nmap -p 22,80,443 192.168.1.10

ポート範囲の指定も可能です:

nmap -p 1-1000 192.168.1.10

-sS(SYNスキャン)

ステルススキャンとも呼ばれる手法で、TCPのSYNパケットを使ってポートをチェックします。管理者権限が必要です。

sudo nmap -sS 192.168.1.10

-O(OSの検出)

対象ホストが使っているOSを推測します。正確な結果にはroot権限が必要です。

sudo nmap -O 192.168.1.10

-sV(サービスバージョンの検出)

ポートごとに動いているサービスの種類やバージョンを調べます。

nmap -sV 192.168.1.10

実践的なスキャン例

全体的な調査

sudo nmap -A 192.168.1.10

-Aは、OS検出、バージョン検出、スクリプトスキャン、tracerouteを一括で実行する強力なオプションです。

脆弱性スキャン(Nmapスクリプトエンジン)

nmapには「NSE(Nmap Scripting Engine)」というスクリプト機能が搭載されており、脆弱性診断や高度な情報収集に利用できます。

nmap --script=vuln 192.168.1.10

これは代表的な脆弱性スクリプトを実行する例です。


スキャン結果の保存

スキャン結果はファイルに出力することができます。以下はXML形式、grep形式、通常形式で保存する例です。

nmap -oX output.xml 192.168.1.10
nmap -oG output.grep 192.168.1.10
nmap -oN output.txt 192.168.1.10

これらのファイルはレポート作成や解析に役立ちます。


nmapを使う上での注意点

  • 同意のある範囲内で使うことが原則:ネットワークスキャンは対象に負荷をかける可能性があり、無断でスキャンを行うと不正アクセス防止法に抵触する恐れがあります。自社ネットワークや検証環境など、許可された範囲で使用してください。
  • スキャンはログに残る可能性あり:スキャンを受けた側にとっては「攻撃の予兆」と見なされることもあります。計画的に、責任を持って使用しましょう。

まとめ

nmapは、シンプルな構文で強力なネットワークスキャンを可能にするLinuxツールです。
基本的なpingスキャンから、SYNスキャン、OSやサービスの検出、さらにはスクリプトによる脆弱性診断まで、さまざまな用途に対応しています。

ネットワークの可視化やセキュリティチェックを行いたい場合は、nmapを活用することで大きな助けになるでしょう。
ただし、使い方には注意が必要であり、許可された環境でのみ利用することが大切です。

nmapの操作に慣れてくると、より複雑なスキャンも自在に扱えるようになります。まずはこの記事を参考に、基本のコマンドから試してみてください。

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。