nmapの実用的コマンド10選

nmapの実用的コマンド10選

みなさん、nmap活用してますか?nmapはポートスキャンツールとして有名ですが、最近は機能が拡張されていて、様々な機能をサポートしています。

nmapはGordon Lyonによって書かれたセキュリティスキャナである。ポートスキャン機能だけでなく、OSやバージョンの検出機能、サービスおよびそのバージョンの検出機能など、多くの機能を兼ね備えている。

via:nmap – Wikipedia

nmapは、使いこなせればネットワーク管理者にとって非常に役に立つツールです。

今回はnmapを使った実用的なコマンドを10個ほどご紹介します。

nmapのインストール

nmapはWindowsでもMacでもlinuxでも動作します。
バイナリは以下に置いてありますので、適当にインストールしましょう。

Download the Free Nmap Security Scanner for Linux/MAC/UNIX or Windows

linuxにインストールする場合は、ubuntuなら

sudo apt-get install nmap

cnetosなら、

sudo yum install nmap

でインストールできます。

該当ホストへのポートスキャンチェック

 nmap <IP Address>

nmapの基本的な使い方で、該当のホストへポートスキャンチェックを実行します。

$ nmap 192.168.1.1  
Starting Nmap 6.49BETA2 ( http://nmap.org )  
Nmap scan report for 192.168.1.1  
Host is up (0.00083s latency).  
Not shown: 998 filtered ports  
PORT     STATE SERVICE  
80/tcp   open  http  
8080/tcp open  http-proxy

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

ネットワーク内のホスト探索

nmap -sP <IP Address/Subnetmask>

指定したネットワーク内のIPアドレスに対して、オンラインになっているホストをリストアップします。このコマンドはホストに対して以下のやり取りを行っています。

・ICMP echo request
・ポート 443 への SYN
・ポート 80 への ACK
・ICMP timestamp request

$ nmap -sP 192.168.1.0/24  
Nmap scan report for 192.168.1.1  
Host is up (0.0029s latency).  
Nmap scan report for 192.168.1.2  
Host is up (0.0016s latency).  
Nmap scan report for 192.168.1.3  
Host is up (0.0014s latency).  
Nmap scan report for 192.168.1.4  
Host is up (0.0013s latency).  
Nmap scan report for 192.168.1.5  
Host is up (0.0012s latency).

該当ホストのOSを調べる

nmap -O <IP Address>

該当のホストのOSを調査する場合は、オプションで「-O」を付けて実行します。実行にはRoot権限が必要です。

$ sudo nmap -O 192.168.1.1  
Starting Nmap 6.49BETA2 ( http://nmap.org )  
Nmap scan report for 192.168.1.1  
Host is up (0.00013s latency).  
Not shown: 998 closed ports  
PORT     STATE SERVICE  
631/tcp  open  ipp  
6667/tcp open  irc  
Device type: general purpose  
Running: Apple Mac OS X 10.10.X  
OS CPE: cpe:/o:apple:mac_os_x:10.10  
OS details: Apple Mac OS X 10.10 (Yosemite) (Darwin 14.0.0 - 14.1.0)  
Network Distance: 0 hops  
OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .  
Nmap done: 1 IP address (1 host up) scanned in 16.07 seconds

該当ホストのホスト名を調べる

nmap -sL <IP Address/Subnetmask>

該当ホストのホスト名を調べるには、オプションに「-sL」を付けて実行します。実行にはRoot権限が必要です。

$ sudo nmap -sL 192.168.1.0/24
Starting Nmap 6.49BETA2 ( http://nmap.org )
Nmap scan report for router-gw (192.168.1.1)
Nmap scan report for myhost–1 (192.168.1.2)
Nmap scan report for myhost–2 (192.168.1.3)

基本的なTCP/UDPポートへのスキャン

nmap -sS -sU -Pn <IP Address>

ホストに対して、一般的なTCP/UDPのポート(約2000ポート)へスキャンを実行します。実行にはRoot権限が必要です。

nmapでは、スキャンの前にpingでの疎通確認を行っていますが、ファイアウォールなどでICMPを止めている場合、スキャンできないため、「-Pn」オプションを付与して、事前のPingスキャンをスキップさせています。

$ sudo nmap -sS -sU -Pn 192.168.1.1  
Starting Nmap 6.49BETA2 ( http://nmap.org )  
Nmap scan report for 192.168.1.1  
Host is up (0.00012s latency).  
Not shown: 1994 closed ports  
PORT     STATE         SERVICE  
631/tcp  open          ipp  
6667/tcp open          irc  
123/udp  open          ntp  
137/udp  open|filtered netbios-ns  
138/udp  open|filtered netbios-dgm  
5353/udp open|filtered zeroconf

全てのTCP/UDPポートへのスキャン

nmap -sS -sU -Pn -p 1-65535 <IP Address>

全てのポート(1から65535まで)に対してポートスキャンを行いたい場合は、「-p」オプションの後にスキャンするポート番号を指定します。実行にはRoot権限が必要です。

該当のホストへのTCPコネクションを確認

nmap -sT <IP Address>

基本的なTCPポート(約1000ポート)へのTCPコネクションを試みます。ホストに対して、SYN パケットを送り、相手からSYN/ACKパケットが送られてきたら実際にコネクションを張り(ACKパケットを送信)、ポートが開いていると判断します。

$ nmap -sT 192.168.1.1  
Starting Nmap 6.49BETA2 ( http://nmap.org )  
Nmap scan report for 192.168.1.1  
Host is up (0.00027s latency).  
Not shown: 998 closed ports  
PORT     STATE SERVICE  
631/tcp  open  ipp  
6667/tcp open  irc

高速スキャン

nmap -T4 -F <IP Address>

通常よりも調査するポート数を減らして(100ポート)高速にスキャンする場合は、「-T4」と「-F」オプションを使います。

$ nmap -T4 -F 192.168.1.1  
Starting Nmap 6.49BETA2 ( http://nmap.org )  
Nmap scan report for 192.168.1.1  
Host is up (0.00028s latency).  
Not shown: 99 closed ports  
PORT    STATE SERVICE  
631/tcp open  ipp

動作しているサービスの詳細を調べる

「-A」オプションを付けると、各サービスの詳細情報を表示させることができます。

$ nmap -T4 -A localhost  
Starting Nmap 6.49BETA2 ( http://nmap.org )  
Nmap scan report for 192.168.1.1  
Host is up (0.00014s latency).  
Not shown: 500 closed ports, 497 filtered ports  
PORT     STATE SERVICE VERSION  
80/tcp open http nginx 1.1.19  
|_http-title: 403 Forbidden  
|_http-methods: No Allow or Public header in OPTIONS response (status code 405)  
631/tcp  open  ipp     CUPS 2.0  
| http-methods: Potentially risky methods: PUT  
|_See http://nmap.org/nsedoc/scripts/http-methods.html  
|_http-server-header: CUPS/2.0 IPP/2.1  
|_http-title: Web Interface is Disabled - CUPS v2.0.0  
6667/tcp open  irc?  
|_irc-info: Unable to open connection  
Device type: general purpose  
Running: Apple Mac OS X 10.10.X  
OS CPE: cpe:/o:apple:mac_os_x:10.10  
OS details: Apple Mac OS X 10.10 (Yosemite) (Darwin 14.0.0 - 14.1.0)  
Network Distance: 0 hops

詳細な情報を全て調査する

「-v」オプションを付けると、詳細な情報を表示させることができます。

$ nmap -T4 -A -v localhost  
Starting Nmap 6.49BETA2 ( http://nmap.org )  
NSE: Loaded 122 scripts for scanning.  
NSE: Script Pre-scanning.  
Initiating NSE at 09:40  
Completed NSE at 09:40, 0.00s elapsed  
Initiating NSE at 09:40  
Completed NSE at 09:40, 0.00s elapsed  
Initiating SYN Stealth Scan at 09:40  
Scanning 192.168.1.1 [1000 ports]  
Discovered open port 631/tcp on 192.168.1.1  
Discovered open port 6667/tcp on 192.168.1.1  
Completed SYN Stealth Scan at 09:40, 3.08s elapsed (1000 total ports)  
Initiating Service scan at 09:40  
Scanning 2 services on 192.168.1.1  
Completed Service scan at 09:40, 6.03s elapsed (2 services on 1 host)  
Initiating OS detection (try #1) against 192.168.1.1  
NSE: Script scanning 192.168.1.1.  
Initiating NSE at 09:40  
Completed NSE at 09:40, 0.28s elapsed  
Initiating NSE at 09:40  
Completed NSE at 09:40, 0.00s elapsed  
Nmap scan report for 192.168.1.1  
Host is up (0.00016s latency).  
Not shown: 500 filtered ports, 498 closed ports  
PORT     STATE SERVICE VERSION  
631/tcp  open  ipp     CUPS 2.0  
|_http-favicon: Unknown favicon MD5: 321A53C36B96  
| http-methods: GET HEAD OPTIONS POST PUT  
| Potentially risky methods: PUT  
|_See http://nmap.org/nsedoc/scripts/http-methods.html  
|_http-server-header: CUPS/2.0 IPP/2.1  
|_http-title: Web Interface is Disabled - CUPS v2.0.0  
6667/tcp open  irc?  
|_irc-info: Unable to open connection  
Device type: general purpose  
Running: Apple Mac OS X 10.10.X  
OS CPE: cpe:/o:apple:mac_os_x:10.10  
OS details: Apple Mac OS X 10.10 (Yosemite) (Darwin 14.0.0 - 14.1.0)  
Uptime guess: 10.174 days (since Tue Jun 16 05:29:20 2015)  
Network Distance: 0 hops  
TCP Sequence Prediction: Difficulty=258 (Good luck!)  
IP ID Sequence Generation: Randomized

nmapの実用的コマンド10選” に対して1件のコメントがあります。

  1. 通りすがり より:

    大変参考になりました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください