「nmap」の版間の差分
(→nmapに関する記事) |
|||
(同じ利用者による、間の26版が非表示) | |||
行1: | 行1: | ||
− | [[nmap]] は、ネットワークの調査ツールとセキュリティ/ポートスキャナーです。 | + | [[nmap]] (Network Mapper)は、ネットワークの調査ツールとセキュリティ/ポートスキャナーです。[[nmap]]のNSE(Nmap Scripting Engine)は、NSEスクリプト([[Lua]])で[[nmap]]プラグインを実装できます。詳しくは、[[nmap NSEスクリプト]]をご参照ください。 |
− | + | ||
− | + | ||
− | + | ||
+ | '''読み方''' | ||
+ | ;[[nmap]]:えぬまっぷ | ||
+ | ;Network Mapper:ねっとわーく まっぱー | ||
__TOC__ | __TOC__ | ||
== 概要 == | == 概要 == | ||
+ | [[nmap]] は、ネットワークの調査ツールとセキュリティ/ポートスキャナーです。Nmap Scripting Engine (NSE) でスキャンを拡張できます。NSE は、[[Lua]]スクリプト言語で記述します。 | ||
− | [[nmap]] | + | セキュリティスキャンの前段階の工程で利用されます。[[zenmap]] と呼ばれるフロントエンドがあります。[[OpenVAS]] や [[Metasploit]] からも利用されます。 |
− | + | == インストール == | |
− | + | {{pkg|nmap}} | |
+ | {{yum|nmap}} | ||
+ | {{apt|nmap}} | ||
+ | == ビルド == | ||
+ | * [[nmapをUbuntuでビルドする]] | ||
+ | == 使い方 == | ||
+ | === オプション === | ||
+ | {|class="wikitable" | ||
+ | !オプション | ||
+ | !説明 | ||
+ | |+ | ||
+ | | -sT | ||
+ | | '''TCP コネクトスキャン''' | ||
+ | |+ | ||
+ | | -sS | ||
+ | | [[TCP SYNスキャン]] | ||
+ | |+ | ||
+ | | -sU | ||
+ | | '''UDPスキャン''' | ||
+ | |+ | ||
+ | | -sP | ||
+ | | [[ping]]スキャン | ||
+ | |+ | ||
+ | | -P0 | ||
+ | | PINGに応答しない場合でもスキャンする | ||
+ | |+ | ||
+ | | -n | ||
+ | | DNS解決をやらない | ||
+ | |+ | ||
+ | | -p | ||
+ | | ポート番号を指定する。 -p 80 -p 80,81 -p 80-90 | ||
+ | |+ | ||
+ | | -A | ||
+ | | アグレッシブスキャンオプションです。Additional(付加的)、Advanced(高度)、Aggressive(アグレッシブ)なオプションを有効にします。[[nmap OS検出|OS検出]](-O)とバージョンスキャン(-sV)を実行します。 | ||
+ | |+ | ||
+ | | -Tタイミングテンプレート | ||
+ | | タイミングを制御します。 | ||
+ | |+ | ||
+ | | -d [level] | ||
+ | | デバッグレベルを挙げます。-ddでさらにデバッグレベルがあがります。-d level (-d9など)を指定できます。 | ||
+ | |+ | ||
+ | | -v | ||
+ | | 冗長レベルを挙げます。[[nmap]]の進行中ののスキャンに関する情報を多く表示します。-vvでさらに冗長レベルがあがります。 | ||
+ | |+ | ||
+ | | -V | ||
+ | | バージョンを表示します。 | ||
+ | |+ | ||
+ | | -6 | ||
+ | | [[IPv6]]を有効にします。 | ||
+ | |} | ||
− | + | ==== -T オプション ==== | |
+ | -T オプションは、テンプレートを指定します。 | ||
+ | * paranoid (0) | ||
+ | * sneaky (1) | ||
+ | * polite (2) | ||
+ | * normal (3) | ||
+ | * aggressive (4) | ||
+ | * insane (5) | ||
− | + | テンプレート paranoid(0)を指定する場合は、-T0となります。 | |
+ | -T3(normal)は、通常モードであるため、指定しても特に変化はありません。 | ||
− | + | politeは、「礼儀正しい」モードです。デフォルトのスキャンに比べて、10倍の時間がかかるため、推奨されません。 | |
− | + | 通常は、-T4を利用することがお勧めできます。 | |
− | + | -T0や-T1は、[[IDS]]の警告を回避するのに役立つ可能性がありますが、数千単位のマシンやポートをスキャンする場合には、時間がかかります。 | |
+ | === バージョンを調べる === | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | % nmap -V | ||
+ | Nmap version 6.40 ( http://nmap.org ) | ||
+ | Platform: i386-portbld-freebsd9.2 | ||
+ | Compiled with: nmap-liblua-5.2.2 openssl-1.0.1e libpcre-8.33 libpcap-1.4.0 nmap-libdnet-1.12 ipv6 | ||
+ | Compiled without: | ||
+ | Available nsock engines: kqueue poll select | ||
+ | </syntaxhighlight> | ||
+ | === ポートのSTATE === | ||
+ | {|class="wikitable" | ||
+ | |+ 検出したポートのSTATE | ||
+ | ! STATE | ||
+ | ! 説明 | ||
+ | |- | ||
+ | | open | ||
+ | | ポートが開いていて、待ち受けが行われています。 | ||
+ | |- | ||
+ | | closed | ||
+ | | ポートにアクセスできるが、ポートが閉じられています。 | ||
+ | |- | ||
+ | | filtered | ||
+ | | パケットフィルタが適用されていて、そのポートが利用可能か判断できません。 | ||
+ | |- | ||
+ | | unfiltered | ||
+ | | ポートにアクセスできるが、ポートが開いているか判断できません。 | ||
+ | |- | ||
+ | | open|filtered | ||
+ | | ポートが開いているか、パケットフィルタが適用されている、そのどちらかが判断できません。 | ||
+ | |- | ||
+ | | closed|filtered | ||
+ | | ポートは閉じられている、パケットフィルタが提供されている、そのどちらかが判断できません。 | ||
+ | |} | ||
+ | === スキャン === | ||
− | = | + | ポートが開いている場合は、 open となります。 |
+ | <syntaxhighlight lang="bash"> | ||
+ | % nmap localhost -p 22 | ||
+ | Starting Nmap 5.61TEST2 ( http://nmap.org ) at 2013-01-11 15:02 JST | ||
+ | Nmap scan report for localhost (127.0.0.1) | ||
+ | Host is up (0.000025s latency). | ||
+ | PORT STATE SERVICE | ||
+ | 22/tcp open ssh | ||
+ | |||
+ | Nmap done: 1 IP address (1 host up) scanned in 0.03 seconds | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ポートが閉じている場合は、 closed となります。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | % nmap localhost -p 80 | ||
+ | |||
+ | Starting Nmap 5.61TEST2 ( http://nmap.org ) at 2013-01-11 15:02 JST | ||
+ | Nmap scan report for localhost (127.0.0.1) | ||
+ | Host is up (0.000024s latency). | ||
+ | PORT STATE SERVICE | ||
+ | 80/tcp closed http | ||
+ | |||
+ | Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | [[ルーター]]や[[ファイアーウォール]]によってフィルタ状態の場合は、 filtered となります。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | % nmap localhost -p 80 | ||
+ | |||
+ | Starting Nmap 5.61TEST2 ( http://nmap.org ) at 2013-01-11 15:02 JST | ||
+ | Nmap scan report for localhost (127.0.0.1) | ||
+ | Host is up (0.000024s latency). | ||
+ | PORT STATE SERVICE | ||
+ | 80/tcp filtered http | ||
+ | |||
+ | Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds | ||
+ | </syntaxhighlight> | ||
+ | === コネクトスキャン === | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | % nmap -sT 192.168.0.1 | ||
+ | </syntaxhighlight> | ||
+ | === SYNスキャン === | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | % nmap -sS 192.168.0.1 | ||
+ | </syntaxhighlight> | ||
+ | === UDPスキャン === | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | % nmap -sU 192.168.0.1 | ||
+ | </syntaxhighlight> | ||
+ | === ネットワークスキャン === | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | % nmap -sS -P0 -n 192.168.0.1-254 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | 80番ポート(HTTP)のみをスキャンする例です。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | % nmap -sS -P0 -p 80 -n 192.168.0.1-254 | ||
+ | </syntaxhighlight> | ||
+ | === ネットワーク pingスキャン === | ||
+ | [[pingスイープ]]です。 | ||
+ | -snオプションは、[[nmap]]の古いバージョンでは、-sP です。 | ||
+ | |||
+ | <syntaxhighlight lang="bash"> | ||
+ | % nmap -sn 192.168.0.1-254 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | 詳しくは、[[pingスイープ]]を参照してください。 | ||
+ | === OS検出 === | ||
+ | [[nmap]]は、[[OS]]を推測できます。開いているポートや[[TCP]]などのパケットのオプションなどの情報を元に推測します。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | % nmap -O foo.com | ||
+ | % nmap -O -A foo.com | ||
+ | % nmap -O --osscan-limit foo.com | ||
+ | % nmap -O --osscan-guess --fuzzy foo.com | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | 詳しくは、[[nmap OS検出]]をご参照ください。 | ||
+ | === NSEスクリプト === | ||
+ | [[nmap]]のNSE(Nmap Scripting Engine)は、NSEスクリプトで[[nmap]]プラグインを実装できます。 | ||
+ | 詳しくは、[[nmap NSEスクリプト]]をご参照ください。 | ||
+ | ==== サーバで利用できる暗号リストを列挙する ==== | ||
+ | NSEスクリプトの[[ssl-enum-ciphers]]を利用すれば、暗号スイートを列挙します。 | ||
+ | たとえば、[[https]]サービスで利用できる暗号スイートを調べることができます。新しい [[ssl-enum-ciphers]]では、AからEのグレードで評価を表示します。 | ||
+ | [[ssl-enum-ciphers]]と似たようなことは、[[sslscan]]でも行えます。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ nmap --script ssl-enum-ciphers accounts.google.com -p 443 | ||
+ | |||
+ | Starting Nmap 6.47 ( http://nmap.org ) at 2014-10-24 00:33 JST | ||
+ | Nmap scan report for accounts.google.com (74.125.23.84) | ||
+ | Host is up (0.042s latency). | ||
+ | rDNS record for 74.125.23.84: tg-in-f84.1e100.net | ||
+ | PORT STATE SERVICE | ||
+ | 443/tcp open https | ||
+ | | ssl-enum-ciphers: | ||
+ | | SSLv3: | ||
+ | | ciphers: | ||
+ | | TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA - strong | ||
+ | | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong | ||
+ | | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong | ||
+ | | TLS_ECDHE_RSA_WITH_RC4_128_SHA - strong | ||
+ | | TLS_RSA_WITH_3DES_EDE_CBC_SHA - strong | ||
+ | | TLS_RSA_WITH_AES_128_CBC_SHA - strong | ||
+ | | TLS_RSA_WITH_AES_256_CBC_SHA - strong | ||
+ | | TLS_RSA_WITH_RC4_128_MD5 - strong | ||
+ | | TLS_RSA_WITH_RC4_128_SHA - strong | ||
+ | | compressors: | ||
+ | | NULL | ||
+ | | TLSv1.0: | ||
+ | | ciphers: | ||
+ | | TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA - strong | ||
+ | | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong | ||
+ | | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong | ||
+ | | TLS_ECDHE_RSA_WITH_RC4_128_SHA - strong | ||
+ | | TLS_RSA_WITH_3DES_EDE_CBC_SHA - strong | ||
+ | | TLS_RSA_WITH_AES_128_CBC_SHA - strong | ||
+ | | TLS_RSA_WITH_AES_256_CBC_SHA - strong | ||
+ | | TLS_RSA_WITH_RC4_128_MD5 - strong | ||
+ | | TLS_RSA_WITH_RC4_128_SHA - strong | ||
+ | | compressors: | ||
+ | | NULL | ||
+ | | TLSv1.1: | ||
+ | | ciphers: | ||
+ | | TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA - strong | ||
+ | | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong | ||
+ | | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong | ||
+ | | TLS_ECDHE_RSA_WITH_RC4_128_SHA - strong | ||
+ | | TLS_RSA_WITH_3DES_EDE_CBC_SHA - strong | ||
+ | | TLS_RSA_WITH_AES_128_CBC_SHA - strong | ||
+ | | TLS_RSA_WITH_AES_256_CBC_SHA - strong | ||
+ | | TLS_RSA_WITH_RC4_128_MD5 - strong | ||
+ | | TLS_RSA_WITH_RC4_128_SHA - strong | ||
+ | | compressors: | ||
+ | | NULL | ||
+ | | TLSv1.2: | ||
+ | | ciphers: | ||
+ | | TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA - strong | ||
+ | | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong | ||
+ | | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 - strong | ||
+ | | TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - strong | ||
+ | | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong | ||
+ | | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 - strong | ||
+ | | TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - strong | ||
+ | | TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - strong | ||
+ | | TLS_ECDHE_RSA_WITH_RC4_128_SHA - strong | ||
+ | | TLS_RSA_WITH_3DES_EDE_CBC_SHA - strong | ||
+ | | TLS_RSA_WITH_AES_128_CBC_SHA - strong | ||
+ | | TLS_RSA_WITH_AES_128_CBC_SHA256 - strong | ||
+ | | TLS_RSA_WITH_AES_128_GCM_SHA256 - strong | ||
+ | | TLS_RSA_WITH_AES_256_CBC_SHA - strong | ||
+ | | TLS_RSA_WITH_AES_256_CBC_SHA256 - strong | ||
+ | | TLS_RSA_WITH_AES_256_GCM_SHA384 - strong | ||
+ | | TLS_RSA_WITH_RC4_128_MD5 - strong | ||
+ | | TLS_RSA_WITH_RC4_128_SHA - strong | ||
+ | | compressors: | ||
+ | | NULL | ||
+ | |_ least strength: strong | ||
+ | |||
+ | Nmap done: 1 IP address (1 host up) scanned in 2.52 seconds | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === デバッグレベル === | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | % nmap -d -p 22 localhost | ||
+ | |||
+ | Starting Nmap 6.40 ( http://nmap.org ) at 2013-12-05 08:13 JST | ||
+ | --------------- Timing report --------------- | ||
+ | hostgroups: min 1, max 100000 | ||
+ | rtt-timeouts: init 1000, min 100, max 10000 | ||
+ | max-scan-delay: TCP 1000, UDP 1000, SCTP 1000 | ||
+ | parallelism: min 0, max 0 | ||
+ | max-retries: 10, host-timeout: 0 | ||
+ | min-rate: 0, max-rate: 0 | ||
+ | --------------------------------------------- | ||
+ | Initiating Ping Scan at 08:13 | ||
+ | Scanning 2 hosts [2 ports/host] | ||
+ | Completed Ping Scan at 08:13, 1.24s elapsed (2 total hosts) | ||
+ | Overall sending rates: 4.84 packets / s. | ||
+ | mass_rdns: Using DNS server 192.168.0.1 | ||
+ | Nmap scan report for 1 (0.0.0.1) [host down, received no-response] | ||
+ | Initiating Connect Scan at 08:13 | ||
+ | Scanning localhost (127.0.0.1) [1 port] | ||
+ | Discovered open port 22/tcp on 127.0.0.1 | ||
+ | Completed Connect Scan at 08:13, 0.00s elapsed (1 total ports) | ||
+ | Overall sending rates: 1091.70 packets / s. | ||
+ | Nmap scan report for localhost (127.0.0.1) | ||
+ | Host is up, received syn-ack (0.00048s latency). | ||
+ | Scanned at 2013-12-05 08:13:05 JST for 2s | ||
+ | PORT STATE SERVICE REASON | ||
+ | 22/tcp open ssh syn-ack | ||
+ | Final times for host: srtt: 482 rttvar: 2880 to: 100000 | ||
+ | |||
+ | Read from /usr/local/share/nmap: nmap-payloads nmap-services. | ||
+ | Nmap done: 2 IP addresses (1 host up) scanned in 1.33 seconds | ||
+ | </syntaxhighlight> | ||
+ | === 冗長レベル === | ||
+ | [[nmap]]の動作している状況が細かくわかるようになります。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | % nmap -v localhost | ||
+ | |||
+ | Starting Nmap 6.40 ( http://nmap.org ) at 2013-12-05 08:15 JST | ||
+ | Initiating Ping Scan at 08:15 | ||
+ | Scanning localhost (127.0.0.1) [2 ports] | ||
+ | Completed Ping Scan at 08:15, 0.00s elapsed (1 total hosts) | ||
+ | Initiating Connect Scan at 08:15 | ||
+ | Scanning localhost (127.0.0.1) [1000 ports] | ||
+ | Discovered open port 25/tcp on 127.0.0.1 | ||
+ | Discovered open port 80/tcp on 127.0.0.1 | ||
+ | Discovered open port 22/tcp on 127.0.0.1 | ||
+ | Increasing send delay for 127.0.0.1 from 0 to 5 due to max_successful_tryno increase to 4 | ||
+ | Completed Connect Scan at 08:15, 9.75s elapsed (1000 total ports) | ||
+ | Nmap scan report for localhost (127.0.0.1) | ||
+ | Host is up (0.00020s latency). | ||
+ | Not shown: 997 closed ports | ||
+ | PORT STATE SERVICE | ||
+ | 22/tcp open ssh | ||
+ | 25/tcp open smtp | ||
+ | 80/tcp open http | ||
+ | |||
+ | Read data files from: /usr/local/share/nmap | ||
+ | Nmap done: 1 IP address (1 host up) scanned in 9.84 seconds | ||
+ | </syntaxhighlight> | ||
+ | == nmapに関する記事 == | ||
+ | {{nmap}} | ||
+ | * [[ssl-enum-ciphers]] | ||
+ | * [[nmapでredisをスキャンする]] | ||
+ | * [[nmapでredisのパスワードをブルートフォースアタックする]] | ||
+ | * [[nmapでオープンしているポートだけを表示する]] | ||
+ | * [[nmapのレポートをXMLやgrep形式で出力する]] | ||
+ | |||
+ | == 関連項目 == | ||
+ | * [[Nmap 7 リリース]] | ||
* [[セキュリティ診断ツール]] | * [[セキュリティ診断ツール]] | ||
* [[amap]] | * [[amap]] | ||
+ | * [[ルーター]] | ||
+ | * [[ファイアーウォール]] | ||
+ | * [[Metasploit]] | ||
+ | * [[OpenVAS]] | ||
+ | <!-- vim:filetype=mediawiki | ||
+ | --> |
2015年12月12日 (土) 11:32時点における最新版
nmap (Network Mapper)は、ネットワークの調査ツールとセキュリティ/ポートスキャナーです。nmapのNSE(Nmap Scripting Engine)は、NSEスクリプト(Lua)でnmapプラグインを実装できます。詳しくは、nmap NSEスクリプトをご参照ください。
読み方
- nmap
- えぬまっぷ
- Network Mapper
- ねっとわーく まっぱー
概要
nmap は、ネットワークの調査ツールとセキュリティ/ポートスキャナーです。Nmap Scripting Engine (NSE) でスキャンを拡張できます。NSE は、Luaスクリプト言語で記述します。
セキュリティスキャンの前段階の工程で利用されます。zenmap と呼ばれるフロントエンドがあります。OpenVAS や Metasploit からも利用されます。
インストール
FreeBSDにインストールする場合
pkgコマンドでインストールする場合
sudo pkg install nmap
CentOSにインストールする場合
sudo yum -y install nmap
Ubuntu/Debianにインストールする場合
apt-get コマンドでインストールする場合です。
sudo apt-get install nmap
ビルド
使い方
オプション
オプション | 説明 | -sT | TCP コネクトスキャン | -sS | TCP SYNスキャン | -sU | UDPスキャン | -sP | pingスキャン | -P0 | PINGに応答しない場合でもスキャンする | -n | DNS解決をやらない | -p | ポート番号を指定する。 -p 80 -p 80,81 -p 80-90 | -A | アグレッシブスキャンオプションです。Additional(付加的)、Advanced(高度)、Aggressive(アグレッシブ)なオプションを有効にします。OS検出(-O)とバージョンスキャン(-sV)を実行します。 | -Tタイミングテンプレート | タイミングを制御します。 | -d [level] | デバッグレベルを挙げます。-ddでさらにデバッグレベルがあがります。-d level (-d9など)を指定できます。 | -v | 冗長レベルを挙げます。nmapの進行中ののスキャンに関する情報を多く表示します。-vvでさらに冗長レベルがあがります。 | -V | バージョンを表示します。 | -6 | IPv6を有効にします。 |
---|
-T オプション
-T オプションは、テンプレートを指定します。
- paranoid (0)
- sneaky (1)
- polite (2)
- normal (3)
- aggressive (4)
- insane (5)
テンプレート paranoid(0)を指定する場合は、-T0となります。 -T3(normal)は、通常モードであるため、指定しても特に変化はありません。
politeは、「礼儀正しい」モードです。デフォルトのスキャンに比べて、10倍の時間がかかるため、推奨されません。
通常は、-T4を利用することがお勧めできます。
-T0や-T1は、IDSの警告を回避するのに役立つ可能性がありますが、数千単位のマシンやポートをスキャンする場合には、時間がかかります。
バージョンを調べる
% nmap -V Nmap version 6.40 ( http://nmap.org ) Platform: i386-portbld-freebsd9.2 Compiled with: nmap-liblua-5.2.2 openssl-1.0.1e libpcre-8.33 libpcap-1.4.0 nmap-libdnet-1.12 ipv6 Compiled without: Available nsock engines: kqueue poll select
ポートのSTATE
STATE | 説明 |
---|---|
open | ポートが開いていて、待ち受けが行われています。 |
closed | ポートにアクセスできるが、ポートが閉じられています。 |
filtered | パケットフィルタが適用されていて、そのポートが利用可能か判断できません。 |
unfiltered | ポートにアクセスできるが、ポートが開いているか判断できません。 |
open|filtered | ポートが開いているか、パケットフィルタが適用されている、そのどちらかが判断できません。 |
closed|filtered | ポートは閉じられている、パケットフィルタが提供されている、そのどちらかが判断できません。 |
スキャン
ポートが開いている場合は、 open となります。
% nmap localhost -p 22 Starting Nmap 5.61TEST2 ( http://nmap.org ) at 2013-01-11 15:02 JST Nmap scan report for localhost (127.0.0.1) Host is up (0.000025s latency). PORT STATE SERVICE 22/tcp open ssh Nmap done: 1 IP address (1 host up) scanned in 0.03 seconds
ポートが閉じている場合は、 closed となります。
% nmap localhost -p 80 Starting Nmap 5.61TEST2 ( http://nmap.org ) at 2013-01-11 15:02 JST Nmap scan report for localhost (127.0.0.1) Host is up (0.000024s latency). PORT STATE SERVICE 80/tcp closed http Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds
ルーターやファイアーウォールによってフィルタ状態の場合は、 filtered となります。
% nmap localhost -p 80 Starting Nmap 5.61TEST2 ( http://nmap.org ) at 2013-01-11 15:02 JST Nmap scan report for localhost (127.0.0.1) Host is up (0.000024s latency). PORT STATE SERVICE 80/tcp filtered http Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds
コネクトスキャン
% nmap -sT 192.168.0.1
SYNスキャン
% nmap -sS 192.168.0.1
UDPスキャン
% nmap -sU 192.168.0.1
ネットワークスキャン
% nmap -sS -P0 -n 192.168.0.1-254
80番ポート(HTTP)のみをスキャンする例です。
% nmap -sS -P0 -p 80 -n 192.168.0.1-254
ネットワーク pingスキャン
pingスイープです。 -snオプションは、nmapの古いバージョンでは、-sP です。
% nmap -sn 192.168.0.1-254
詳しくは、pingスイープを参照してください。
OS検出
nmapは、OSを推測できます。開いているポートやTCPなどのパケットのオプションなどの情報を元に推測します。
% nmap -O foo.com % nmap -O -A foo.com % nmap -O --osscan-limit foo.com % nmap -O --osscan-guess --fuzzy foo.com
詳しくは、nmap OS検出をご参照ください。
NSEスクリプト
nmapのNSE(Nmap Scripting Engine)は、NSEスクリプトでnmapプラグインを実装できます。 詳しくは、nmap NSEスクリプトをご参照ください。
サーバで利用できる暗号リストを列挙する
NSEスクリプトのssl-enum-ciphersを利用すれば、暗号スイートを列挙します。 たとえば、httpsサービスで利用できる暗号スイートを調べることができます。新しい ssl-enum-ciphersでは、AからEのグレードで評価を表示します。 ssl-enum-ciphersと似たようなことは、sslscanでも行えます。
$ nmap --script ssl-enum-ciphers accounts.google.com -p 443 Starting Nmap 6.47 ( http://nmap.org ) at 2014-10-24 00:33 JST Nmap scan report for accounts.google.com (74.125.23.84) Host is up (0.042s latency). rDNS record for 74.125.23.84: tg-in-f84.1e100.net PORT STATE SERVICE 443/tcp open https | ssl-enum-ciphers: | SSLv3: | ciphers: | TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA - strong | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong | TLS_ECDHE_RSA_WITH_RC4_128_SHA - strong | TLS_RSA_WITH_3DES_EDE_CBC_SHA - strong | TLS_RSA_WITH_AES_128_CBC_SHA - strong | TLS_RSA_WITH_AES_256_CBC_SHA - strong | TLS_RSA_WITH_RC4_128_MD5 - strong | TLS_RSA_WITH_RC4_128_SHA - strong | compressors: | NULL | TLSv1.0: | ciphers: | TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA - strong | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong | TLS_ECDHE_RSA_WITH_RC4_128_SHA - strong | TLS_RSA_WITH_3DES_EDE_CBC_SHA - strong | TLS_RSA_WITH_AES_128_CBC_SHA - strong | TLS_RSA_WITH_AES_256_CBC_SHA - strong | TLS_RSA_WITH_RC4_128_MD5 - strong | TLS_RSA_WITH_RC4_128_SHA - strong | compressors: | NULL | TLSv1.1: | ciphers: | TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA - strong | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong | TLS_ECDHE_RSA_WITH_RC4_128_SHA - strong | TLS_RSA_WITH_3DES_EDE_CBC_SHA - strong | TLS_RSA_WITH_AES_128_CBC_SHA - strong | TLS_RSA_WITH_AES_256_CBC_SHA - strong | TLS_RSA_WITH_RC4_128_MD5 - strong | TLS_RSA_WITH_RC4_128_SHA - strong | compressors: | NULL | TLSv1.2: | ciphers: | TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA - strong | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 - strong | TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - strong | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 - strong | TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - strong | TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - strong | TLS_ECDHE_RSA_WITH_RC4_128_SHA - strong | TLS_RSA_WITH_3DES_EDE_CBC_SHA - strong | TLS_RSA_WITH_AES_128_CBC_SHA - strong | TLS_RSA_WITH_AES_128_CBC_SHA256 - strong | TLS_RSA_WITH_AES_128_GCM_SHA256 - strong | TLS_RSA_WITH_AES_256_CBC_SHA - strong | TLS_RSA_WITH_AES_256_CBC_SHA256 - strong | TLS_RSA_WITH_AES_256_GCM_SHA384 - strong | TLS_RSA_WITH_RC4_128_MD5 - strong | TLS_RSA_WITH_RC4_128_SHA - strong | compressors: | NULL |_ least strength: strong Nmap done: 1 IP address (1 host up) scanned in 2.52 seconds
デバッグレベル
% nmap -d -p 22 localhost Starting Nmap 6.40 ( http://nmap.org ) at 2013-12-05 08:13 JST --------------- Timing report --------------- hostgroups: min 1, max 100000 rtt-timeouts: init 1000, min 100, max 10000 max-scan-delay: TCP 1000, UDP 1000, SCTP 1000 parallelism: min 0, max 0 max-retries: 10, host-timeout: 0 min-rate: 0, max-rate: 0 --------------------------------------------- Initiating Ping Scan at 08:13 Scanning 2 hosts [2 ports/host] Completed Ping Scan at 08:13, 1.24s elapsed (2 total hosts) Overall sending rates: 4.84 packets / s. mass_rdns: Using DNS server 192.168.0.1 Nmap scan report for 1 (0.0.0.1) [host down, received no-response] Initiating Connect Scan at 08:13 Scanning localhost (127.0.0.1) [1 port] Discovered open port 22/tcp on 127.0.0.1 Completed Connect Scan at 08:13, 0.00s elapsed (1 total ports) Overall sending rates: 1091.70 packets / s. Nmap scan report for localhost (127.0.0.1) Host is up, received syn-ack (0.00048s latency). Scanned at 2013-12-05 08:13:05 JST for 2s PORT STATE SERVICE REASON 22/tcp open ssh syn-ack Final times for host: srtt: 482 rttvar: 2880 to: 100000 Read from /usr/local/share/nmap: nmap-payloads nmap-services. Nmap done: 2 IP addresses (1 host up) scanned in 1.33 seconds
冗長レベル
nmapの動作している状況が細かくわかるようになります。
% nmap -v localhost Starting Nmap 6.40 ( http://nmap.org ) at 2013-12-05 08:15 JST Initiating Ping Scan at 08:15 Scanning localhost (127.0.0.1) [2 ports] Completed Ping Scan at 08:15, 0.00s elapsed (1 total hosts) Initiating Connect Scan at 08:15 Scanning localhost (127.0.0.1) [1000 ports] Discovered open port 25/tcp on 127.0.0.1 Discovered open port 80/tcp on 127.0.0.1 Discovered open port 22/tcp on 127.0.0.1 Increasing send delay for 127.0.0.1 from 0 to 5 due to max_successful_tryno increase to 4 Completed Connect Scan at 08:15, 9.75s elapsed (1000 total ports) Nmap scan report for localhost (127.0.0.1) Host is up (0.00020s latency). Not shown: 997 closed ports PORT STATE SERVICE 22/tcp open ssh 25/tcp open smtp 80/tcp open http Read data files from: /usr/local/share/nmap Nmap done: 1 IP address (1 host up) scanned in 9.84 seconds
nmapに関する記事
- nmap
- zenmap
- セキュリティ診断ツール
- ssl-enum-ciphers
- nmapでredisをスキャンする
- nmapでredisのパスワードをブルートフォースアタックする
- nmapでオープンしているポートだけを表示する
- nmapのレポートをXMLやgrep形式で出力する