nmap(1)

ポートスキャンを実施する

構文

nmap [オプション] {ターゲット}

オプション

-AOSとバージョンを検知しようとする
-sL指定したネットワーク内のホスト一覧を表示する(リストスキャン)
-sPpingに応答するホストの一覧を表示する(Pingスキャン)
-sSTCPのSYNパケットを送ってSYN+ACKが返ってくるか調べる(TCP SYNスキャン/TCPハーフスキャン)
-sTTCPでポートに接続できるかを調べる(TCP Connectスキャン)
-sVソフトウェア名とバージョンの表示を有効にする
-sUUDPポートをスキャンする(UDPスキャン)
-sFFINフラグだけのパケットを送って調べる(TCP FINスキャン)
-sNまったくフラグなしのパケットを送って調べる(TCP Nullスキャン)
-sXFIN/PSH/URGフラグを立てたパケットを送って調べる(Xmasスキャン)
-sAACKフラグだけのパケットを送って調べる(TCP ACKスキャン)
-b FTP_HOSTFTP_HOSTのFTPサーバを利用して調べる(FTPバウンススキャン)
-OOSを検出しようとする
-P0Pingスキャンを行わない(アクティブなマシンを割り出すためのホスト発見プロセスが省略される)
-PS [PORTLIST]PORTLISTで指定したポート(デフォルトは80番)にSYNフラグ付きの空TCPパケットを送信する(TCP SYN Ping)
-PA [PORTLIST]PORTLISTで指定したポート(デフォルトは80番)にACKフラグ付きの空TCPパケットを送信する(TCP ACK Ping)
-PU [PORTLIST]PORTLISTで指定したポート(デフォルトは31338番)に空UDPパケットを送信する(UDP Ping)
-PEICMPタイプ8(エコー要求)パケットをターゲットに送信する(ICMP Ping)
-PRIPベースのスキャンより高速なARPスキャンを行う(ARP Ping)
-nDNSによる逆引き名前解決を行わない
-Rすべてのターゲットに対して常にDNSによる逆引き名前解決を行う
-p PORTスキャンするポートをPORTで指定する(1-1023、U:53,T:80)UはUDPポート、TはTCPポートを示す
-F限定したポートのみ調べる(約1200ポート)
-r調べるポートの順番を無作為(デフォルト)ではなく順に選ぶ

ターゲット

IPADDRIPアドレスで指定する(「192.168.0.1-250」「192.168.0.1,3,5」といった指定も可能)
IPADDR/MASKIPアドレスとサブネットマスクでネットワークの範囲を指定する
HOSTNAME/MASKHOSTNAMEで指定したホストのIPアドレスとサブネットマスクでネットワークの範囲を指定する
-iL TARGETFILEファイルTARGETFILEから指定するターゲットを読み込む
-iR NUMNUMで指定した数のホストを無作為に生成する(0なら無制限)
--exclude HOST...指定したホストHOSTやネットワークをスキャン対象から除外する(","区切り)
--excludefile EXCLUDE_FILEファイルEXCLUDE_FILEから除外するターゲットを読み込む

ポートの状態

openポートが開いている(TCPコネクションやUDPパケットをアクティブに受け入れている状態)
closedポートが閉じている(探査パケットを受け入れたり応答したりするが、待機しているアプリケーションがない)
filteredパケットフィルタリングによりポートが開いているかどうかを判別できない
unfilteredポートにアクセスできるもののポートが開いているかどうかを判別できない
open|filteredポートが開いているのかパケットフィルタリングされているのかを判別できない
closed|filteredポートが閉じているのかパケットフィルタリングされているのかを判別できない

説明

指定したホストやネットワークに対し、いわゆるポートスキャンを実施し、開いているポート(稼働しているサービス)やそのバージョン、OSの種類を調査する。

使用例

10.12.175.58のホストに対してポートスキャンを実施する。

$ nmap 10.12.175.58

Starting Nmap 5.51 ( http://nmap.org ) at 2014-07-28 02:17 JST
Nmap scan report for host58.example.com (10.12.175.58)
Host is up (0.00030s latency).
Not shown: 998 closed ports
PORT    STATE SERVICE
80/tcp  open  http
443/tcp open  https

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

10.12.175.58のホストに対してポートスキャンを実施し、OSやバージョンを検知できるなら表示する。

$ nmap -A 10.12.175.58

Starting Nmap 5.51 ( http://nmap.org ) at 2014-07-28 02:19 JST
Nmap scan report for host58.example.com (10.12.175.58)
Host is up (0.00040s latency).
Not shown: 998 closed ports
PORT    STATE SERVICE  VERSION
80/tcp  open  http     Apache httpd
| http-methods: Potentially risky methods: TRACE
|_See http://nmap.org/nsedoc/scripts/http-methods.html
|_http-title: Apache HTTP Server Test Page powered by CentOS
443/tcp open  ssl/http Apache httpd
| http-methods: Potentially risky methods: TRACE
|_See http://nmap.org/nsedoc/scripts/http-methods.html
|_http-title: Apache HTTP Server Test Page powered by CentOS

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 13.42 seconds

関連事項

tcpdump