Zenmapは、多機能なポートスキャナーで、nmapのGUI版の公式ツール。
今回(2025.1)kaliのツールに登録されました。
nmapの(多機能すぎる)オプションをある程度セット化して簡略化してくれています。
zenmapの ” zen ” は、 ” 禅 ” に由来すると思われます。IT業界ではこの言葉は「余計なものを削ぎ取ったシンプルさ」を象徴する言葉として使われているらしいです。
起動
kali ー 01-Information Gathering ー zenmap

zenmap(root)の方は、root権限として起動します。(最初にパスワードを求められます)
デフォルトの保存先が異なります。
スキャンの設定
” Profile: ” の欄でスキャンの設定を行います。(デフォルトでは ” Intense scan ” が選択されています。)

非常に大まかに言えば、
- 速いスキャンは、速いけど大雑把
- 遅いスキャンは、遅いけど詳しい
という関係にあり、目的に応じて速いスキャンか遅いスキャンかを選びます。
一般的には、
- まず速く粗いスキャンで多くの候補の中から少数のターゲットを絞りこむ。
- 次に絞られたターゲットに対して遅く精密なスキャンで精査する。
という戦略となります。
下記は、Profile欄からプルダウンで選択できるスキャンセットです。全部で10種類。
参考スキャンタイムは自宅で立てたサーバーをターゲットとして、同じ条件でスキャンした時間です。
条件が違うと時間がかなり変化しますので参考程度にして下さい。(相手がスマホとかだとやたら遅かったりします。しかも同じ相手でもその時によってかかる時間が違います。)
左のラズパイ5がスキャンする側、右のラズパイ4Bがされる側です。
選択出来るスキャンセット名 | nmap オプション | 参考スキャンタイム(分:秒) | 備考 |
Intense scan | -T4 -A -v | 00:13 | |
Intense scan plus | -sS -sU -T4 -A -v | 21:12 | |
Intense scan, all TCP ports | -p 1-65535 -T4 -A -v | 00:21 | |
Intense scan, no ping | -T4 -A -v -Pn | 00:08 | |
Ping scan | -sn | 00:00.2 | Pingスキャンのみ実行 |
Quick scan | -T4 -F | 00:00.2 | |
Quick scan plus | -sV -T4 -O -F –version-light | 00:08 | |
Quick traceroute | -sn –traceroute | 00:00.1 | |
Regular scan | (無し) | 00:00.4 | 1660個のTCPポートスキャンを行います |
Slow comprehensive scan | -sS -sU -T4 -A -v -PE -PP -PS80,443 -PA3389 -PU40125 -PY -g 53 –script”default or (discovery and safe)# | 20:48 |
ここに出てくるオプションの説明
出現順です。
私にもよく分からないものがあり、不完全な表です。済みません。
オプション名 | 意味 |
-T数字 | スキャン間隔 (T0:間隔が長い=スキャンが遅いけど相手にバレにくい 〜 T5:間隔が短い=スキャンは速いけど精度が問題)(デフォルトはT3) |
-A | OSの種類 バージョン |
-v | 詳細出力 |
-sS | TCPハーフスキャン:ステルススキャンの1つ |
-sU | UDPスキャン |
-p * | ポート番号の指定 |
-Pn | ping無効 ICMP+p80,443(注2) |
-sn | Pingスキャン ICMPのみ |
-F | スキャンを約1200ポートに限定(デフォルトは1660ポート) |
-sV | バージョン検出:精度7 (0:精度低い〜9:精度高い)(注1) |
-O | OSの種類 |
–version-light | バージョン検出:精度2(0:精度低い〜9:精度高い)(注1) |
–traceroute | traceroute:ホスト間経路の調査 |
-PE | Pingスキャン ICMPエコー(注2) |
-PP | Pingスキャン ICMPタイムスタンプ(注2) |
-PS* | Pingスキャン TCP-SYN(注2) |
-PA* | Pingスキャン TCP-ACK(注2) |
-PU* | Pingスキャン UDP(注2) |
-PY | Pingスキャン TCP SYN/ACK, UDP or SCTP discovery to given ports(注2) |
-g * | 送信元ポートの指定(=偽装):ちなみにIP偽装は -S |
–script” default or (discovery and safe)” | 済みません。分かりません。 |
(注1)バージョン検出の精度は ” –version-intensity 数字 ” で設定する。
(0は速いが精度低い。9は遅いが精度高い。)
デフォルトは精度7であり、普通に ” -sV ” オプションだと精度7相当になる。
” –version-light ” オプションは精度2に相当する。
(注2)-P族のオプションはTCPの深い勉強が必要です。(まだ私にも意味と意義がよく分かりません。すみません)
実行
target: 欄にターゲットをIP(の範囲)又はホスト名で入力し、Profile: 欄でスキャンセットを選択し、 ” Scan ” をクリックします。
Cmmand: 欄には、Profile:欄で選択したスキャンセットに対応したnmapコマンドが自動入力されています。

結果表示
右下部に結果が出ます。
下図の例では22番と80番ポートが開いているのが分かります。

複数のホストをスキャンした場合。左下欄からホスト別に表示できます。(サービス別の表示も可能)

右下のウインドウの上部タブで結果表示が切替られます。
- Nmap Outputタブ:実行された(或いは実行中の)Nmapのテキスト出力
- Ports/Hostsタブ:開放されているポートとサービスを一覧表示
- Topologyタブ:ネットワークのマップを視覚的に表示(特定のスキャンのみ)
- Host Detailsタブ:ホストの詳細情報
- Scansタブ:実行されたNmapコマンド
繰り返し別な方法でスキャンすると、その情報がホスト別に集積されていきます。
他人の管理下のサーバーに許可なくポートスキャンを行うことは迷惑行為です。慎みましょう。
結果保存
左上の ” Scan ” からプルダウンメニュー ” Save Scan ” で保存出来ます。
xml形式で保存されます。
まとめ
” Nmap ” は非常に沢山のオプションがありすぎて、その選択に色々迷います。
スタバでカスタマイズがありすぎて迷う感じです。(私はスタバでは全くカスタマイズしないもんね。面倒くさがりなので)
その点 ” Zenmap ” は最初からセット化されているので、色々悩まなくて済みます。
単品メニューを選ぶのがめんどくさくて、定食を頼むイメージだとでも申しましょうか。
個人的にはもっと減らしてもいいんじゃないかな、と思います。
速いの1つと遅いの1つずつだけ、とかね。
コメント