ネットワーク調査やセキュリティ監査を行う際に便利なオープンソースツールであるNmap(Network Mapper)について、簡単ですがコマンドラインオプションの使い方を記載しています。
本ページの最後には、Nmapコマンドオプションを簡単にまとめた参考シートをPDFファイルで公開しています。良かったら使ってください。
1. ホストの発見
デフォルトは、「80番ポート宛てのTCP ACKパケット」と「ICMPエコー要求」を送信します。
- -sL
- ターゲットホストのリストを出力(他のオプションと組み合わせは不可)
- -sP
- Pingスキャンのみ
- 「80番ポート宛てのTCP ACKパケット」と「ICMPエコー要求」を送信
- -P0
- Pingしない
- -PS [portlist]
- TCP SYN Ping
- デフォルトポートは TCP80番
- -PU [portlist]
- UDP Ping
- デフォルトポートは UDP31338番
- -PR
- ARP Ping
- 同一LAN上のイーサネットホストスキャンで利用
- -n
- DNS解決を行わない
2. スキャンタイプ
デフォルトは、-sS (TCP SYNスキャン)が用いられます。
- -sS
- TCP SYN スキャン
- ハーフオープンスキャン
- -sT
- TCP Connect スキャン
- TCP SYN スキャンを選択できない場合のデフォルト
- -sU
- UDPスキャン
- TCPスキャンタイプ1つと組み合わせて利用可能
- 処理時間は遅い。後述の -v オプションを付けて実行すると進捗が見えて良い。
3. ポート指定、順序
デフォルトは、1024番までの全ポートと付属nmap-servicesに記述されたポートをスキャンします。
- -p <port ranges>
- 指定されたポートのみスキャン
- ハイフン区切りの範囲(例:1-1023)でも指定可能
- -F
- 高速スキャン
- 付属nmap-services ファイルに列挙されているポートだけをスキャン
- -r
- ポートの順番を無作為にしない
4. バージョン検出、OS検出
- -sV
- バージョン検出
- -O
- OS検出
- -A
- OS検出とバージョン検出
5. スキャンタイミング
スキャンタイミングが定義されているテンプレートが計6個あります。
-T の後に、0~5 の数値で指定します。以下に良く使う 3パターンを記載します。
- -T 2
- polite
- スキャン速度を落とす
- -T 3
- normal
- デフォルト
- -T 4
- aggressive
- スキャン速度を上げる
6. 出力
デフォルトは、標準出力(stdout)です。
- -oN <file>
- 通常出力(出力内容は標準出力と一部異なる)
- -oX <file>
- XML出力
- -oG <file>
- Grep検索可能出力(各対象ホストが一行ずつ列挙されている)
- 廃止予定との事
- -v
- 進行中のスキャンに関する情報の冗長性レベルを上げる
- –reason
- ポートが特定の状態になっていると判定した理由を表示
7. Nmapデータファイル位置
- –datadir <directoryname>
- 指定したディレクトリ内で、nmap-service-probes、nmap-services、nmap-protocols、nmap-rpc、nmap-mac-prefixes、nmap-os-fingerprints を探す。
8. ターゲットの指定
ターゲットの指定方法は、IPアドレスやFQDN名、アドレス帯など様々な方法で指定できます。
- 例
- 192.168.0.100
- 192.168.0.0/24
- 192.168.0.1-254
- -iL
- テキストファイルからターゲットを読み込む
Nmapコマンドライン 参考シート
Nmapコマンドラインでの操作では様々なオプションがあります。ざっくり簡単に使えるオプションをまとめたファイルがあると便利かなと思い、作成しました。良かったら使ってください。
Pingback: raspberryPi へSSH接続 | Linux & Android Dialy