nmapコマンドのオプション一覧と具体例

nmap :「指定したホストやネットワークに対してポートやサービスを検出する」ネットワークスキャナ

nmap の典型オプション

  • -p: ports。nmap が対象ポート範囲を指定する。
  • -sV: scan + Version。nmap がサービスの版数を推定する。
  • -sS: scan + SYN。nmap がTCP SYNスキャンを行う。
  • -sT: scan + TCP connect。nmap がTCPコネクトスキャンを行う。
  • -sU: scan + UDP。nmap がUDPスキャンを行う。
  • -sN: scan + NULL。nmap がNULLフラグスキャンを行う。
  • -sF: scan + FIN。nmap がFINスキャンを行う。
  • -sX: scan + Xmas。nmap がXmasスキャンを行う。
  • -sC: scan + “default Scripts”。nmap が既定スクリプト集合を使う(Cは歴史的略記で厳密頭字語ではない)。
  • -O: Operating-system。nmap がOS推定を行う。
  • -A: Aggressive。nmap が包括的検出(-sV -O -sC等)を有効化する。
  • -Pn: Ping no。nmap がホスト発見を省略してスキャンを強行する。
  • -T0..5: Timing。nmap がスキャン速度テンプレートを選ぶ。
  • -oN: output Normal。nmap が通常テキスト出力を保存する。
  • -oG: output Grepable。nmap がgrepしやすい形式で保存する。
  • -oX: output XML。nmap がXMLで保存する。
  • -oA: output All。nmap がN/G/Xの三種を同時保存する。
  • -v/-vv: verbose。nmap が冗長度を上げる。
  • -n: no DNS。nmap が名前解決を行わない。
  • -R: Resolve always。nmap が必ず逆引きする。

補足: 文字は「意味の頭文字」を指すことが多いが、歴史的経緯で必ずしも厳密な頭字語ではない。各実装差異を避けるために、長い形式(例: --human-readable, --script=default)を併記して使うことを推奨する。

入出力の具体例

答え: 各オプションごとに最小の入出力例を示す。出力は代表例だ。環境で差が出る。

-p(ports)

入力

nmap -p 22,80,443 10.0.0.5

出力(抜粋)

PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

入力(全ポート)

nmap -p- 10.0.0.5

出力(抜粋)

Not shown: 65530 closed tcp ports
22/tcp open ssh
80/tcp open http
5432/tcp open postgresql

-sV(Version)

入力

nmap -sV -p 80,22 10.0.0.5

出力(抜粋)

22/tcp open  ssh   OpenSSH 9.6p1 (protocol 2.0)
80/tcp open  http  Apache httpd 2.4.57
Service Info: OS: Linux

-sS(TCP SYN)

入力(root 権限推奨)

sudo nmap -sS -p 1-1024 10.0.0.5

出力(抜粋)

PORT   STATE  SERVICE
22/tcp open   ssh
25/tcp closed smtp
80/tcp open   http

-sT(TCP connect)

入力

nmap -sT -p 22,80 10.0.0.5

出力(抜粋)

22/tcp open ssh
80/tcp open http

-sU(UDP)

入力(root 推奨)

sudo nmap -sU -p 53,123,161 10.0.0.5

出力(抜粋)

PORT    STATE         SERVICE
53/udp  open          domain
123/udp open|filtered ntp
161/udp closed        snmp

-sN(NULL)

入力

sudo nmap -sN -p 80,22 10.0.0.5

出力(抜粋)

PORT   STATE         SERVICE
22/tcp closed        ssh
80/tcp open|filtered http

-sF(FIN)

入力

sudo nmap -sF -p 80 10.0.0.5

出力(抜粋)

PORT   STATE         SERVICE
80/tcp open|filtered http

-sX(Xmas)

入力

sudo nmap -sX -p 80 10.0.0.5

出力(抜粋)

PORT   STATE         SERVICE
80/tcp open|filtered http

-sC(default scripts)

入力

nmap -sC -p 80 10.0.0.5

出力(抜粋)

PORT   STATE SERVICE
80/tcp open  http
| http-title: MyApp
| http-server-header: nginx/1.24.0
|_http-methods: GET HEAD POST OPTIONS

-O(OS detection)

入力

sudo nmap -O 10.0.0.5

出力(抜粋)

OS details: Linux 5.4 - 6.1
Network Distance: 1 hop

-A(Aggressive)

入力

sudo nmap -A 10.0.0.5

出力(抜粋)

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 9.6p1
80/tcp open  http    nginx 1.24.0
|_http-title: MyApp
|_http-server-header: nginx/1.24.0
Device type: general purpose
OS details: Linux 5.10-6.1
TRACEROUTE (using port 80/tcp)

-Pn(no host discovery)

入力

nmap -Pn -p 22 10.0.0.5

出力(抜粋)

Host is up.
22/tcp open ssh

-T0..5(timing)

入力(速い)

nmap -T4 -p 1-1000 10.0.0.5

出力(末行例)

Nmap done: ... scanned in 5.12 seconds

入力(遅い・慎重)

nmap -T1 -p 1-1000 10.0.0.5

出力(末行例)

Nmap done: ... scanned in 48.7 seconds

-oN(normal 出力を保存)

入力

nmap -sV -oN scan.txt 10.0.0.5

出力(末行)

Nmap done: 1 IP address (1 host up) scanned in 6.32 seconds

確認

head scan.txt
# Nmap 7.95 scan initiated ...
Nmap scan report for 10.0.0.5
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 9.6p1

-oG(grepable)

入力

nmap -p 22,80 -oG scan.gnmap 10.0.0.5

出力(ファイル中)

Host: 10.0.0.5 ()  Ports: 22/open/tcp//ssh///, 80/open/tcp//http///

-oX(XML)

入力

nmap -sV -oX scan.xml 10.0.0.5

出力(ファイル冒頭)

<?xml version="1.0"?>
<!DOCTYPE nmaprun>
<nmaprun scanner="nmap" args="nmap -sV -oX scan.xml 10.0.0.5" version="7.95">

-oA(All: N/G/X を同時保存)

入力

nmap -A -oA fullscan 10.0.0.5

出力(ファイル生成)

fullscan.nmap  fullscan.gnmap  fullscan.xml

-v / -vv(verbose)

入力

nmap -v -p 1-1000 10.0.0.5
``]
**出力(抜粋)**

Initiating SYN Stealth Scan at 10:12
Scanning 10.0.0.5 [1000 ports]
Discovered open port 22/tcp on 10.0.0.5

**入力(より詳細)**
```bash
nmap -vv -p 22 10.0.0.5

出力(抜粋)

Initiating TCP SYN Stealth Scan against 10.0.0.5
Completed SYN Stealth Scan, 1 total ports

-n(no DNS)

入力

nmap -n 10.0.0.5

出力(先頭行)

Nmap scan report for 10.0.0.5

-R(必ず逆引き)

入力

nmap -R 10.0.0.5

出力(先頭行・逆引き成功時)

Nmap scan report for host-10-0-0-5.example.local (10.0.0.5)

注: 許可を得た対象だけをスキャンしろ。

コメント

タイトルとURLをコピーしました