概要
nmapは、ネットワーク管理者やセキュリティ専門家がネットワークを探索し、セキュリティ問題を監査するための不可欠なツールです。さまざまなスキャン技術をサポートし、スクリプトエンジンを通じて機能を拡張できます。
主な機能
- ホスト検出 (ネットワーク上のアクティブなホストを識別)
- ポートスキャン (開いているポートとサービスを確認)
- オペレーティングシステム (OS) 検出
- サービスバージョン検出
- ファイアウォールおよびフィルターのバイパス
- Nmapスクリプトエンジン (NSE) による機能拡張
主なオプション
nmapは非常に多くのオプションを提供するため、ここでは主要なスキャンタイプと出力関連のオプションを中心に説明します。
スキャンタイプ
対象指定とその他
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`nmap` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
nmapのさまざまなスキャン機能を活用する例です。
基本ポートスキャン
nmap scanme.nmap.org
対象ホストの最も一般的な1000個のポートをSYNスキャンします。
特定ポートスキャン
nmap -p 80,443 scanme.nmap.org
対象ホストの80番 (HTTP) および443番 (HTTPS) ポートのみをスキャンします。
OSおよびサービスバージョン検出
nmap -A scanme.nmap.org
対象ホストのオペレーティングシステムと開いているポートのサービスバージョンを検出します。
サブネット全体スキャン
nmap 192.168.1.0/24
指定されたサブネット (例: 192.168.1.0/24) 内のすべてのアクティブなホストをスキャンします。
スキャン結果をファイルに保存
nmap -sS -oN results.txt -oX results.xml scanme.nmap.org
スキャン結果を通常のテキストファイルとXMLファイルにそれぞれ保存します。
インストール
nmapはほとんどのLinuxディストリビューションにデフォルトで含まれていないため、パッケージマネージャーを通じてインストールする必要があります。
Debian/Ubuntu
sudo apt update && sudo apt install nmap
APTパッケージマネージャーを使用してnmapをインストールします。
CentOS/RHEL/Fedora
sudo yum install nmap
# または
sudo dnf install nmap
YUMまたはDNFパッケージマネージャーを使用してnmapをインストールします。
Arch Linux
sudo pacman -S nmap
Pacmanパッケージマネージャーを使用してnmapをインストールします。
ヒントと注意点
nmap使用時の役立つヒントと注意すべき事項です。
倫理的な使用
nmapは強力なネットワークスキャニングツールであるため、必ず所有しているか、スキャン権限が付与されているネットワークに対してのみ使用してください。不正なスキャンは違法行為とみなされる可能性があります。
- 常にスキャン対象に対する明示的な許可を得てください。
- 公開されているネットワークや他者のシステムに対する不正なスキャンは、法的な問題を引き起こす可能性があります。
ファイアウォールバイパスと検出
nmapはさまざまな技術を使用してファイアウォールをバイパスしたり、ファイアウォールの存在を検出したりできます。`-f` (fragment packets)、`--data-length` (add random data)、`--badsum` (send packets with bad checksum) などのオプションを活用できます。
- `-Pn` オプションは、pingスキャンをスキップすることで、ファイアウォールがICMP応答をブロックしている場合でもスキャンを続行できるようにします。
- `-T<0-5>` オプションでスキャン速度を調整することで、IDS/IPSシステムの検出を回避できます (0: Paranoid, 5: Insane)。
Nmapスクリプトエンジン (NSE)
NSEはnmapの機能を拡張する強力なスクリプトのコレクションです。脆弱性検出、バックドア検出、情報収集など、さまざまなタスクを実行できます。
- `--script <スクリプト名>` または `--script <カテゴリ>` オプションで使用します。
- 例: `nmap --script vuln <target>` (一般的な脆弱性スキャン)
- 例: `nmap --script http-enum <target>` (Webサーバーのディレクトリ列挙)