技術(非IT系)

nmap(エヌマップ)とは?使い方や仕組みを解説(ネットワークスキャンツール・ポートスキャン・セキュリティ診断・コマンドラインなど)

当サイトでは記事内に広告を含みます

セキュリティエンジニアやネットワーク管理者の間で広く使われている「Nmap(エヌマップ)」。ネットワークのセキュリティ診断や構成調査の現場で欠かせないツールとして世界的に知られています。

しかし「Nmapって何ができるの?」「使い方は難しい?」「合法的に使えるの?」と疑問を持つ方も多いでしょう。

本記事では、Nmap(エヌマップ)の意味・主な機能・使い方・ポートスキャンの仕組み・セキュリティ診断への活用について、わかりやすく解説していきます。

Nmapとは「ネットワークのホスト探索・ポートスキャン・サービス検出を行うオープンソースのセキュリティ診断ツール」

それではまず、Nmapの基本的な定義と概要について解説していきます。

Nmap(エヌマップ)は「Network Mapper(ネットワークマッパー)」の略称で、1997年にゴードン・”Fyodor”・ライオン(Gordon Lyon)によって開発されたオープンソースのネットワーク探索・セキュリティ監査ツールです。

主にLinux・macOS・Windowsで動作し、コマンドラインインターフェース(CLI)で使用するツールとして広く知られています。GUIフロントエンドとして「Zenmap」も提供されています。

Nmapの基本情報

正式名称:Network Mapper

開発者:Gordon Lyon(Fyodor)

ライセンス:オープンソース(NPSL/GPLv2)

対応OS:Linux・macOS・Windows

主な用途:ホスト探索・ポートスキャン・サービス・OS検出・脆弱性スクリプト実行

Nmapの主な機能と特徴

続いては、Nmapが持つ主な機能を確認していきます。

ホスト探索(Host Discovery)

ホスト探索は、ネットワーク内のどのIPアドレスが稼働中(オンライン)かを調査する機能です。

Nmapはpingパケットや特定のTCP/UDP/ICMPパケットを送信し、応答を確認することで稼働中のホストを検出します。

「nmap -sn 192.168.1.0/24」のようなコマンドでサブネット内の全ホストを一覧化できます。

ポートスキャン(Port Scanning)

Nmapの最も代表的な機能がポートスキャンです。対象ホストのどのTCP/UDPポートが開放(OPEN)・閉鎖(CLOSED)・フィルタリング(FILTERED)されているかを調査します。

開放されているポートからは、そこで動作しているサービス(HTTPなら80番・SSHなら22番など)が推測でき、セキュリティ診断の基礎情報となります。

サービス・バージョン検出(Service and Version Detection)

開放ポートで動作しているサービスの種類(Apache・Nginx・SSHなど)とバージョンを検出する機能です。

「nmap -sV」オプションで実行でき、古いバージョンのソフトウェアが稼働していないかの確認に役立ちます。

OS検出(OS Detection)

ネットワークパケットの応答パターン(TTL値・TCPウィンドウサイズ・オプションなど)を分析することで、対象ホストのOSの種類・バージョンを推定する機能です。

「nmap -O」オプションで実行でき、管理対象ホストのOS把握に活用されます。

機能 主なコマンドオプション 用途
ホスト探索 nmap -sn 稼働ホストの確認
TCPポートスキャン nmap -sT / -sS 開放ポートの確認
UDPスキャン nmap -sU UDPサービスの確認
バージョン検出 nmap -sV サービスバージョンの確認
OS検出 nmap -O OSの推定
スクリプト実行 nmap –script 脆弱性検査・詳細情報収集

Nmapの使い方の基本:代表的なコマンド例

続いては、Nmapの基本的な使い方とコマンド例を確認していきます。

基本的なスキャンの実行方法

Nmapのインストール後、ターミナル(コマンドプロンプト)で以下のようなコマンドを実行します。

基本的なNmapコマンド例

ホストスキャン:nmap 192.168.1.1

範囲スキャン:nmap 192.168.1.0/24

特定ポートスキャン:nmap -p 80,443,22 192.168.1.1

バージョン+OS検出:nmap -sV -O 192.168.1.1

詳細スキャン(A):nmap -A 192.168.1.1

NSE(Nmap Scripting Engine)による脆弱性検査

NmapにはNSE(Nmap Scripting Engine)という機能があり、Luaスクリプトを使った高度な脆弱性検査・情報収集が可能です。

「nmap –script vuln 192.168.1.1」のようなコマンドで既知の脆弱性をスキャンし、セキュリティ上の問題点を洗い出すことができます。

Nmapの合法的な使用と倫理上の注意点

続いては、Nmapの合法的な使用範囲と注意すべき倫理的問題を確認していきます。

許可なき他者のネットワークへのスキャンは違法

Nmapは強力なネットワーク調査ツールであるため、自分が管理権限を持つネットワーク・ホストに対してのみ使用することが大原則です。

許可なく他者のサーバーやネットワークをスキャンすることは、不正アクセス禁止法に抵触する可能性があり、国内外を問わず法的問題になり得ます。

セキュリティ学習目的の場合は、仮想環境(VirtualBox・VMwareなど)や専用の練習環境(Hack The Box・TryHackMeなど)を使うことを強く推奨します。

まとめ

本記事では、Nmap(エヌマップ)の意味・主な機能・使い方・セキュリティ診断への活用・注意点について詳しく解説しました。

Nmapはネットワークのホスト探索・ポートスキャン・サービス検出・OS検出・脆弱性スクリプト実行などを行えるオープンソースのセキュリティ診断ツールです。

ネットワーク管理者・セキュリティエンジニアにとって欠かせないツールである一方、必ず自分が管理権限を持つ環境でのみ使用するという倫理的ルールを厳守することが大前提です。

適切な使い方を学び、ネットワークセキュリティの向上に役立てましょう。