Nmap

ポートスキャンの定番とも言えるNmapについて説明します。

Nmapの概要

 Nmapはポートスキャンを行うだけでなく、様々なセキュリティチェックが出来るソフトウェアです。

 Nmapのポートスキャン機能を使うとサーバーまで通信可能かポート単位で調査が出来ます。このため、ルーターやファイアウォール、サーバー等でフィルタリングしている時の調査に便利です。

Nmap1

 GPLというライセンスを採用していて、自由にダウンロードして無料で利用出来ます。

Nmapのダウンロード

 Nmapは以下のサイトの左サイドバーで「Download」をクリックし、「Microsoft Windows binaries」の段落にある「nmap-x.xx-setup.exe」をクリックしてインストールするパソコンにダウンロードします。

http://nmap.org/

Nmapのインストール

 ダウンロードしたファイルをダブルクリックして実行します。ユーザーアカウント制御の画面が出たら「はい」をクリックすると以下の画面になります。

Nmap2

 ライセンス同意画面のため「I Agree」をクリックすると以下の画面になります。

Nmap3

 「Next>」をクリックすると以下の画面になります。

Nmap4

 インストール先を変更する場合は「Browse...」をクリックして変更してから、変更しない場合はそのまま「Install」をクリックします。ファイルをコピーする画面が出た後、以下の画面になります。尚、インストール時にWinPcap等も同時にインストールする場合で既にインストールされている場合はその旨を知らせるメッセージが出力されますが、「OK」をクリックすると次に進みます。新規でインストールする場合は「Wireshark」をご参照下さい。

Nmap5

 「Next>」をクリックすると以下の画面になります。

Nmap6

 「Start Menu Folder」はタスクバーの一番左のWindowsマークから選択出来るようになるため通常はチェックしたままにします。

 「Desktop Icon」はデスクトップに表示するかどうかなので、表示したい人はチェックしたままにします。

 「Next>」をクリックすると以下の画面になります。

Nmap7

 「Finish」をクリックするとインストールは完了です。

Nmapの使い方

 Nmapはコマンドプロンプトからnmap [オプション] 相手IPアドレス又はFQDN等で実行出来ます。

 ポートスキャン時によく使うオプションは以下の通りです。

【Nmapのオプション】
オプション 意味 指定例
-sS TCPでスキャンする。(デフォルト) -sS
-sU UDPでスキャンする。 -sU
-p ポート番号 ポート番号を指定する 80等、79-80と範囲、79,80と複数指定も可能
-p T:ポート番号 TCPポート番号を指定する 80等、79-80と範囲、79,80と複数指定も可能
-p U:ポート番号 UDPポート番号を指定する 80等、79-80と範囲、79,80と複数指定も可能

 以下は192.168.1.1に対してTCPポート番号79-80をスキャンした場合の例です。

【TCPスキャン実行例】
コマンドプロンプト
C:\>nmap -p 79-80 192.168.1.1

Starting Nmap x.xx ( http://xxxx ) at 20xx-xx-xx xx:xx XX (標準時)
Nmap scan report for test (192.168.1.1)
Host is up (0.0023s latency).
PORT   STATE  SERVICE
79/tcp closed finger
80/tcp open   http
MAC Address: 11:11:11:11:11:11 (test company)

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

 79番ポートはクローズしていて80番ポートはオープンしている事が分かります。

 次に192.168.1.1に対してUDPポート番号52,53をスキャンした場合の例です。

【UDPスキャン実行例】
コマンドプロンプト
C:\>nmap -sU -p 52,53 192.168.1.1

Starting Nmap x.xx ( http://xxxx ) at 20xx-xx-xx xx:xx XX (標準時)
Nmap scan report for test (192.168.1.1)
Host is up (0.010s latency).
PORT   STATE  SERVICE
52/udp closed xns-time
53/udp open   domain
MAC Address: 11:11:11:11:11:11 (test company)

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

 52番ポートはクローズしていて53番ポートはオープンしている事が分かります。

 TCP、UDP両方を一度にスキャンする場合は以下のように指定します。

【TCPとUDPスキャン実行例】
コマンドプロンプト
C:\>nmap -sU -sS -p 79-80 192.168.1.1

Starting Nmap x.xx ( http://xxxx ) at 20xx-xx-xx xx:xx XX (標準時)
Nmap scan report for test (192.168.1.1)
Host is up (0.00s latency).
PORT   STATE  SERVICE
79/tcp closed finger
80/tcp open   http
79/udp closed finger
80/udp closed http
MAC Address: 11:11:11:11:11:11 (test company)

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

 TCP、UDPそれぞれで異なるポート番号を一度にスキャンする場合は以下のように指定します。

【異なるポート番号のTCPとUDPスキャン実行例】
コマンドプロンプト
C:\>nmap -sU -sS -p T:79-80,U:52,53,54 192.168.1.1

Starting Nmap x.xx ( http://xxxx ) at 20xx-xx-xx xx:xx XX (標準時)
Nmap scan report for test (192.168.1.1)
Host is up (0.0028s latency).
PORT   STATE  SERVICE
79/tcp closed finger
80/tcp open   http
52/udp closed xns-time
53/udp open   domain
54/udp closed xns-ch
MAC Address: 11:11:11:11:11:11 (test company)

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

 インストール時にZenmapのチェックを外していない場合、ZenmapによりNmapをGUIで利用出来ます。

 Zenmapはタスクバーの一番左のWindowsマークからNmapフォルダを選択し、「Nmap - Zenmap GUI」を選択して起動します。

Nmap8

 赤枠部分にコマンドを入力してエンターキーを押すと実行され、結果が青枠部分に表示されます。コマンドはコマンドプロンプトと同じです。

 「Posts/Hosts」等タブを切り替える事で結果に対するそれぞれの項目についてGUIで情報が参照出来ます。例えば「Posts/Hosts」タグでは以下のようにポートのopen、closeをGUIで確認出来ます。

Nmap8

 Nmapによりポートスキャンを行う場合は、自分の管理しているネットワーク、且つ管理しているサーバーに対して調査する場合に行って下さい。

 インターネットにある管理外のサーバーに対して行うと相手側のIPS等で防御されて通信自体が出来なくなる可能性があります。又、悪意がある場合は法的処罰を受ける可能性があります。

サイト関連1

応用編「ポート番号
  • このエントリーをはてなブックマークに追加