diff --git a/docs/man-xlate/nmap-man-ja.xml b/docs/man-xlate/nmap-man-ja.xml index e16971019..767345551 100644 --- a/docs/man-xlate/nmap-man-ja.xml +++ b/docs/man-xlate/nmap-man-ja.xml @@ -43,49 +43,42 @@ Nmapは、このポート一覧表以外にも、逆引きDNS名、OSの推測、デバイスの種類、MACアドレスなどの、調査対象に関するさらに詳細な情報を提供できる。 - 典型的なNmapスキャンの例を、以下の に示した。この例で使用されているNmapの引数は、OSとそのバージョンの検出を可能にすると、処理を高速に実行するための、および2つのターゲットホスト名だけである。 + 典型的なNmapスキャンの例を、以下の に示した。この例で使用されているNmapの引数は、OSとそのバージョンの検出を可能にすると、処理を高速に実行するための、および2つのターゲットホスト名だけである。 -Nmapスキャンの典型的な例 +Nmapスキャンの典型的な例 -# nmap -A -T4 scanme.nmap.org playground +# nmap -A -T4 scanme.nmap.org -Starting nmap ( https://nmap.org/ ) -Interesting ports on scanme.nmap.org (205.217.153.62): -(The 1663 ports scanned but not shown below are in state: filtered) -PORT STATE SERVICE VERSION -22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99) -53/tcp open domain -70/tcp closed gopher -80/tcp open http Apache httpd 2.0.52 ((Fedora)) -113/tcp closed auth +Nmap scan report for scanme.nmap.org (74.207.244.221) +Host is up (0.029s latency). +rDNS record for 74.207.244.221: li86-221.members.linode.com +Not shown: 995 closed ports +PORT STATE SERVICE VERSION +22/tcp open ssh OpenSSH 5.3p1 Debian 3ubuntu7 (protocol 2.0) +| ssh-hostkey: 1024 8d:60:f1:7c:ca:b7:3d:0a:d6:67:54:9d:69:d9:b9:dd (DSA) +|_2048 79:f8:09:ac:d4:e2:32:42:10:49:d3:bd:20:82:85:ec (RSA) +80/tcp open http Apache httpd 2.2.14 ((Ubuntu)) +|_http-title: Go ahead and ScanMe! +646/tcp filtered ldp +1720/tcp filtered H.323/Q.931 +9929/tcp open nping-echo Nping echo Device type: general purpose -Running: Linux 2.4.X|2.5.X|2.6.X -OS details: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 -Uptime 33.908 days (since Thu Jul 21 03:38:03 2005) +Running: Linux 2.6.X +OS CPE: cpe:/o:linux:linux_kernel:2.6.39 +OS details: Linux 2.6.39 +Network Distance: 11 hops +Service Info: OS: Linux; CPE: cpe:/o:linux:kernel -Interesting ports on playground.nmap.org (192.168.0.40): -(The 1659 ports scanned but not shown below are in state: closed) -PORT STATE SERVICE VERSION -135/tcp open msrpc Microsoft Windows RPC -139/tcp open netbios-ssn -389/tcp open ldap? -445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds -1002/tcp open windows-icfw? -1025/tcp open msrpc Microsoft Windows RPC -1720/tcp open H.323/Q.931 CompTek AquaGateKeeper -5800/tcp open vnc-http RealVNC 4.0 (Resolution 400x250; VNC TCP port: 5900) -5900/tcp open vnc VNC (protocol 3.8) -MAC Address: 00:A0:CC:63:85:4B (Lite-on Communications) -Device type: general purpose -Running: Microsoft Windows NT/2K/XP -OS details: Microsoft Windows XP Pro RC1+ through final release -Service Info: OSs: Windows, Windows XP +TRACEROUTE (using port 53/tcp) +HOP RTT ADDRESS +[Cut first 10 hops for brevity] +11 17.65 ms li86-221.members.linode.com (74.207.244.221) -Nmap finished: 2 IP addresses (2 hosts up) scanned in 88.392 seconds +Nmap done: 1 IP address (1 host up) scanned in 14.40 seconds -Nmapの最新バージョンは、から入手できる。また、本マニュアルページの最新版は、で参照できる。 +Nmapの最新バージョンは、から入手できる。また、本マニュアルページの最新版は、で参照できる。 @@ -94,87 +87,7 @@ Nmap finished: 2 IP addresses (2 hosts up) scanned in 88.392 seconds このオプション概要は、Nmapを引数なしで実行すると表示される。最新版はで参照できる。これを見ると、比較的利用機会の多いオプションについての概要を確認できるが、本マニュアルの以下に掲載する詳細な解説に代わるものではない。使用頻度の低いオプションには、ここに含まれていないものもある。 - -Usage: nmap [Scan Type(s)] [Options] {target specification} -TARGET SPECIFICATION: - Can pass hostnames, IP addresses, networks, etc. - Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254 - -iL <inputfilename>: Input from list of hosts/networks - -iR <num hosts>: Choose random targets - --exclude <host1[,host2][,host3],...>: Exclude hosts/networks - --excludefile <exclude_file>: Exclude list from file -HOST DISCOVERY: - -sL: List Scan - simply list targets to scan - -sP: Ping Scan - go no further than determining if host is online - -P0: Treat all hosts as online -- skip host discovery - -PS/PA/PU [portlist]: TCP SYN/ACK or UDP discovery to given ports - -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes - -n/-R: Never do DNS resolution/Always resolve [default: sometimes] -SCAN TECHNIQUES: - -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans - -sN/sF/sX: TCP Null, FIN, and Xmas scans - --scanflags <flags>: Customize TCP scan flags - -sI <zombie host[:probeport]>: Idlescan - -sO: IP protocol scan - -b <ftp relay host>: FTP bounce scan -PORT SPECIFICATION AND SCAN ORDER: - -p <port ranges>: Only scan specified ports - Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080 - -F: Fast - Scan only the ports listed in the nmap-services file) - -r: Scan ports sequentially - don't randomize -SERVICE/VERSION DETECTION: - -sV: Probe open ports to determine service/version info - --version-light: Limit to most likely probes for faster identification - --version-all: Try every single probe for version detection - --version-trace: Show detailed version scan activity (for debugging) -OS DETECTION: - -O: Enable OS detection - --osscan-limit: Limit OS detection to promising targets - --osscan-guess: Guess OS more aggressively -TIMING AND PERFORMANCE: - -T[0-6]: Set timing template (higher is faster) - --min-hostgroup/max-hostgroup <size>: Parallel host scan group sizes - --min-parallelism/max-parallelism <numprobes>: Probe parallelization - --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <msec>: Specifies - probe round trip time. - --host-timeout <msec>: Give up on target after this long - --scan-delay/--max-scan-delay <msec>: Adjust delay between probes -FIREWALL/IDS EVASION AND SPOOFING: - -f; --mtu <val>: fragment packets (optionally w/given MTU) - -D <decoy1,decoy2[,ME],...>: Cloak a scan with decoys - -S <IP_Address>: Spoof source address - -e <iface>: Use specified interface - -g/--source-port <portnum>: Use given port number - --data-length <num>: Append random data to sent packets - --ttl <val>: Set IP time-to-live field - --spoof-mac <mac address/prefix/vendor name>: Spoof your MAC address -OUTPUT: - -oN/-oX/-oS/-oG <file>: Output scan in normal, XML, s|<rIpt kIddi3, - and Grepable format, respectively, to the given filename. - -oA <basename>: Output in the three major formats at once - -v: Increase verbosity level (use twice for more effect) - -d[level]: Set or increase debugging level (Up to 9 is meaningful) - --packet-trace: Show all packets sent and received - --iflist: Print host interfaces and routes (for debugging) - --append-output: Append to rather than clobber specified output files - --resume <filename>: Resume an aborted scan - --stylesheet <path/URL>: XSL stylesheet to transform XML output to HTML - --no-stylesheet: Prevent associating of XSL stylesheet w/XML output -MISC: - -6: Enable IPv6 scanning - -A: Enables OS detection and Version detection - --datadir <dirname>: Specify custom Nmap data file location - --send-eth/--send-ip: Send using raw ethernet frames or IP packets - --privileged: Assume that the user is fully privileged - -V: Print version number - -h: Print this help summary page. -EXAMPLES: - nmap -v -A scanme.nmap.org - nmap -v -sP 192.168.0.0/16 10.0.0.0/8 - nmap -v -iR 10000 -P0 -p 80 - - - +&nmap-usage; @@ -183,11 +96,12 @@ EXAMPLES: Nmapのコマンドラインで、オプション(もしくはオプションの引数)でないものはすべて、ターゲットホストの指定として扱われる。最も簡単な例は、スキャンを行うターゲットのIPアドレスやホスト名の指定である。 + 隣接した複数のホストから成るネットワーク全体をスキャン対象としたい場合は、CIDR表記のアドレス指定を利用できる。IPアドレスやホスト名の末尾にbit数を付加すると、Nmapは、アドレスの上位から指定したbit数までが参照するIPアドレスや特定のホスト名と同じアドレスをすべてスキャンする。例えば、192.168.10.0/24を指定すると 192.168.10.0 (2進表示: 11000000 10101000 00001010 00000000)から192.168.10.255 (2進表示: 11000000 10101000 00001010 11111111)までの256のホストがスキャンされる。192.168.10.40/24を指定しても、まったく同じ結果になる。ホスト scanme.nmap.orgのIPアドレスが205.217.153.62であるとすると、scanme.nmap.org/16という指定では、205.217.0.0 から 205.217.255.255 までの65,536個のIPアドレスをスキャンすることになる。指定可能な最小値は/1であり、これはインターネットの半分をスキャンすることになる。最大値は/32で、すべてのアドレスビットが固定されるので、指定したホストやIPアドレスだけがスキャンされる。 CIDR表記は簡潔であるが、必ずしも十分な柔軟性があるわけではない。例えば、192.168.0.0/16をスキャンする際に、.0や.255で終わるアドレスは、通常はブロードキャストアドレスなのですべて対象から除外したい場合があるだろう。Nmapではこのケースには、オクテット(octet=8bit)範囲のアドレス指定によって対応する。通常のIPアドレスを指定する代わりに、コンマ区切りの数のリストや各オクテット(8bit)の範囲を指定できる。例えば、192.168.0-255.1-254と指定すると、.0と.255で終わる範囲のアドレスはすべて省かれる。この範囲は最後のオクテットだけに限る必要はない。すなわち、0-255.0-255.13.37と指定すると、13.37で終わるすべてのIPアドレスをインターネット全体でスキャンする。このような広範囲からのサンプリングは、インターネットの調査や研究を行う場合に役立つ。 -IPv6アドレスは、完全修飾形(省略なし)のIPv6アドレスやホスト名でしか指定できない。IPv6では、CIDRやオクテット範囲は使い道がほとんどないため、サポートされない。 +IPv6アドレスは、完全修飾形(省略なし)のIPv6アドレスやホスト名でしか指定できない。IPv6では、CIDRやオクテット範囲は使い道がほとんどないため、サポートされない。 Nmapはコマンドラインでの複数のホスト指定方法に対応しており、すべて同じ形式にしなくてもよい。nmap scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.0-255というコマンドを実行しても、期待通りの結果になる。 @@ -196,7 +110,7 @@ EXAMPLES: - (リストから入力) + (リストから入力) 入力ファイル名から、ターゲットの指定を読み込む。コマンドラインで非常に巨大なホストリストを渡すのは不適切である場合が多いが、それが望まれるのもよくあるケースである。例えば、スキャンの対象にしたいと考えている目下の割り当てアドレスの10000個のリストが、DHCPサーバからエクスポートされる可能性もある。あるいは、不正な固定IPアドレスを使用しているホストの位置を示すアドレスを除いたすべてのIPアドレスをスキャンしたいと思う場合もあるかもしれない。とにかく、スキャンするべきホストのリストを作成し、そのファイル名をオプションの引数としてNmapに渡せばよい。入力の形式は、Nmapがコマンドラインで対応しているもの(IPアドレス、ホスト名、CIDR、IPv6、オクテット範囲)なら何でもよいが、各入力は、1つ以上のスペース、タブ、改行文字で区切る必要がある。実際のファイルではなくて標準入力から、Nmapにホストを読み込ませたい場合は、ファイル名としてハイフン(-)を指定するとよい。 @@ -205,7 +119,7 @@ EXAMPLES: - (ターゲットを無作為に選ぶ) + (ターゲットを無作為に選ぶ) インターネット全域に対する調査や研究を行う場合、ターゲットを無作為に選びたい場合もあるだろう。ホスト数の引数は、IPをいくつ生成するべきかをNmapに伝える。プライベート、マルチキャスト、未割り当てなどのアドレス範囲のような望ましくないIPは、自動的に飛ばして進むようになっている。引数に0(ゼロ)を指定すると、スキャンが無限に続けられる。ただし、ネットワーク管理者のなかには、自身の管理するネットワークを不正にスキャンされたことに腹を立ててクレームをつける場合もあることに注意しておこう。このオプションは、自己責任で使用すること! 雨の日の午後、退屈しのぎに拾い見るためのWebサーバを無作為に見つけたい場合は、nmap -sS -PS80 -iR 0 -p 80というコマンドを試してみるとよい。 @@ -215,7 +129,7 @@ EXAMPLES: (ホスト/ネットワークを除外する) + host1,host2,... (ホスト/ネットワークを除外する) ターゲットのコンマ区切りリストを指定し、それらが指定した全ネットワーク範囲の一部であっても、スキャン対象から除外されるようにする。引数として渡すリストでは通常のNmap構文が用いられるので、ホスト名、CIDR表記のネットブロック、オクテット範囲などを含めることもできる。このオプションが役に立つのは、スキャンしたいネットワークに、ポートスキャンによって悪影響が及ぶことがわかっている、触れてはならないミッションクリティカルなサーバやシステムや、他人が管理しているサブネットワークが含まれる場合である。 @@ -224,12 +138,13 @@ EXAMPLES: - (ファイルからリストを除外する) + (ファイルからリストを除外する) オプションとほぼ同じ機能を提供するが、異なる点は、除外されるターゲットが、コマンドラインではなく、改行文字、スペース、タブなどで区切った除外ファイルで渡されることである。 + @@ -238,7 +153,7 @@ EXAMPLES: ネットワーク偵察ミッションの第一段階に行うべきことの1つは、一連の(非常に広範な場合もある)IP範囲を限定して、アクティブな状態であるか、関心のあるホストのリストを作成することである。各IPアドレスのポートを1つ1つスキャンするのは、時間はかかるもののなかなか進まない、通常は無駄な作業である。もちろん、あるホストに興味を引かれる要因は、スキャンの目的に大きく左右される。ネットワーク管理者なら、特定のサービスを実行しているホストにしか興味を示さないかもしれないし、セキュリティ監査人なら、IPアドレスを持つデバイス1つ1つに関心を引かれる場合もあるだろう。内部ネットワーク管理者なら、自分が管理するネットワーク上のホストの位置を確認するためにICMP pingを使えるだけで満足かもしれないし、外部のペネトレーションテストの実施担当者なら、ファイアウォールの制限をすり抜けようとして、多種多様な調査手法を使う場合もあるだろう。 - このように、ホスト発見のニーズは多岐にわたるので、Nmapには、使用する技法をカスタマイズするための幅広い種類のオプションが備わっている。ホスト探索はpingスキャンと呼ばれることもあるが、一般的なpingツールによる単純なICMPエコー要求パケットよりもはるかに優れている。ユーザは、リストスキャン()を用いるか、pingを無効にして()、このping段階を完全に省略するか、もしくはネットワークに対してマルチポートのTCP SYN/ACK、UDP、ICMPなどのプローブを任意に組み合わせて行うことができる。これらのプローブの目的は、IPアドレスが実際にアクティブな状態(ホストやネットワークデバイスによって使用中)であることを示す応答を誘い出すことである。多くのネットワークでは、いつでもアクティブなIPアドレスは全体のほんのわずかしかない。RFC1918で定められたプライベートアドレス空間(例:10.0.0.0/8)では特にそうなっている。このネットワークには、1600万個のIPアドレスがあるが、これが1000台足らずのマシンしかない企業で使われているのを見たことがある。ホスト発見を実行すると、こうした広大なIPアドレスの海の中から、まばらにIPアドレスを割り振られたマシンを探し出すことができる。 + このように、ホスト発見のニーズは多岐にわたるので、Nmapには、使用する技法をカスタマイズするための幅広い種類のオプションが備わっている。ホスト探索はpingスキャンと呼ばれることもあるが、一般的なpingツールによる単純なICMPエコー要求パケットよりもはるかに優れている。ユーザは、リストスキャン()を用いるか、pingを無効にして()、このping段階を完全に省略するか、もしくはネットワークに対してマルチポートのTCP SYN/ACK、UDP、ICMPなどのプローブを任意に組み合わせて行うことができる。これらのプローブの目的は、IPアドレスが実際にアクティブな状態(ホストやネットワークデバイスによって使用中)であることを示す応答を誘い出すことである。多くのネットワークでは、いつでもアクティブなIPアドレスは全体のほんのわずかしかない。RFC1918で定められたプライベートアドレス空間(例:10.0.0.0/8)では特にそうなっている。このネットワークには、1600万個のIPアドレスがあるが、これが1000台足らずのマシンしかない企業で使われているのを見たことがある。ホスト発見を実行すると、こうした広大なIPアドレスの海の中から、まばらにIPアドレスを割り振られたマシンを探し出すことができる。  ホスト発見のオプションが何も指定されない場合、Nmapはポート80宛てのTCP ACKパケットと、ICMPエコー要求クエリを各ターゲットマシンに送信する。この例外は、ローカル イーサネット ネットワーク上にあるターゲットに対して、ARPスキャンが用いられている場合である。高い権限のないUNIXシェルユーザでは、connect()システムコールを使って、ACKの代わりにSYNパケットが送られる。これらのデフォルトは、 オプションに相当する。このホスト発見機能は、ローカルネットワークをスキャンする場合は十分だが、より包括的な一連の発見調査は、セキュリティ監査に任せた方がよい。 @@ -253,20 +168,21 @@ EXAMPLES: ホスト発見の縮小版で、単に指定されたネットワークの全ホストを一覧するだけであり、ターゲットホストには何もパケットを送らない。デフォルトでは、Nmapはホスト名を知るために、ホスト上でDNSの逆引き解決も行う。単なるホスト名とはいえ、意外なほど有用な情報をもたらしてくれることも多い。例えばfw.chi.playboy.comは、プレイボーイ社(Playboy Enterprises)のシカゴ(Chicago)支社のファイアウォールである。また最終的には、IPアドレスの総数についての報告もある。リストスキャンは、自分のターゲットに対して正しいIPアドレスが得られていることを確認するための有効な健全性検査になる。ターゲットのホストが見覚えのないドメイン名を示している場合は、間違って別の会社のネットワークをスキャンしてしまわないように、さらに詳しく調査するだけの価値はある。 - リストスキャンの狙いは、単にターゲットホストのリストを出力するだけなので、ポートスキャン、OS検出、pingスキャンなどのより高度なレベルの機能を実現するためのオプションは、これと組み合わせることはできない。これらのハイレベルの機能を実行する際に、pingスキャンを無効にしたい場合は、オプションの項を参照のこと。 + リストスキャンの狙いは、単にターゲットホストのリストを出力するだけなので、ポートスキャン、OS検出、pingスキャンなどのより高度なレベルの機能を実現するためのオプションは、これと組み合わせることはできない。これらのハイレベルの機能を実行する際に、pingスキャンを無効にしたい場合は、オプションの項を参照のこと。 - (Ping スキャン) + + (Ping スキャン) このオプションを使うと、Nmapはpingスキャン(ホスト発見)のみを実行し、応答した利用可能なホストの一覧を出力する。それ以上の調査(ポートスキャンやOS検出など)は行わない。リストスキャンよりも一歩立ち入った調査になるが、同じ目的で使用される場合が多い。ターゲットネットワークの予備調査を、あまり注意を引かずに軽く実行できる。攻撃者にとっては、IPおよびホスト名を1つ1つリストスキャンして得られるリストよりも、アクティブなホストがいくつあるかを知ることのほうが価値がある。 またこのオプションは、システム管理者の役に立つ場合も多く、ネットワーク上の利用可能なマシンの数を数えたり、サーバの可用性を監視したりするために容易に利用できる。pingスウィープと呼ばれることも多く、ブロードキャストのクエリには応答しないホストが多いために、ブロードキャストアドレスにpingを打つよりも信頼性が高い。 - オプションはデフォルトで、ICMPエコー要求と80番ポート宛てのTCPパケットを送信する。高い権限がないユーザが実行する場合は、SYNパケットが(connect()コールを使って)ターゲットの80番ポートに送られる。高い権限を持つユーザが、ローカル イーサネット ネットワーク上のターゲットのスキャンを試みる場合は、が指定されていない限り、ARP要求()が用いられる。オプションを、発見プローブタイプ(を除くタイプ)のオプションと組み合わせると、さらに柔軟に対応できる。このプローブタイプのどれかとポート番号のオプションを使うと、デフォルトのプローブ(ACKやエコー要求)よりも優先される。Nmapを実行している発信元ホストとターゲットネットワークの間に、制限の厳しいファイアウォールが設置してある場合は、これらの高度なテクニックを用いるべきである。さもないと、ファイアウォールでプローブパケットやホストの応答パケットが破棄された場合に、ホストを検出し損ねる可能性がある。 + オプションはデフォルトで、ICMPエコー要求と80番ポート宛てのTCPパケットを送信する。高い権限がないユーザが実行する場合は、SYNパケットが(connect()コールを使って)ターゲットの80番ポートに送られる。高い権限を持つユーザが、ローカル イーサネット ネットワーク上のターゲットのスキャンを試みる場合は、が指定されていない限り、ARP要求()が用いられる。オプションを、発見プローブタイプ(を除くタイプ)のオプションと組み合わせると、さらに柔軟に対応できる。このプローブタイプのどれかとポート番号のオプションを使うと、デフォルトのプローブ(ACKやエコー要求)よりも優先される。Nmapを実行している発信元ホストとターゲットネットワークの間に、制限の厳しいファイアウォールが設置してある場合は、これらの高度なテクニックを用いるべきである。さもないと、ファイアウォールでプローブパケットやホストの応答パケットが破棄された場合に、ホストを検出し損ねる可能性がある。 @@ -274,16 +190,16 @@ EXAMPLES: - (ping なし) + (ping なし) - このオプションを指定すると、Nmapが実行するホスト発見の段階が完全に省略される。Nmapは通常この検出段階で、さらに立ち入ったスキャンを行うためのアクティブなマシンを割り出す。Nmapはデフォルトでは、ポートスキャン、バージョン検出、OS検出などの立ち入ったプローブは、作動していることが判明したホストに対してしか実行しないようになっている。を使ってホスト発見を無効にすると、Nmapはターゲットに指定されたIPアドレスすべてに対して、要求されたスキャン機能を実行しようとする。つまり、クラスBのサイズのアドレス空間(/16)を、コマンドラインでターゲットに指定した場合、65,536個のIPアドレスすべてがスキャンされる。の2番目の文字は数字のゼロであり、英字のオーではない。リストスキャンの場合と同様に、本来行うべきホスト発見の段階は省略されるが、Nmapはそこで停止してターゲットのリストを出力するのではなくて、各ターゲットIPがアクティブであるかのように、要求された機能を実行し続ける。 + このオプションを指定すると、Nmapが実行するホスト発見の段階が完全に省略される。Nmapは通常この検出段階で、さらに立ち入ったスキャンを行うためのアクティブなマシンを割り出す。Nmapはデフォルトでは、ポートスキャン、バージョン検出、OS検出などの立ち入ったプローブは、作動していることが判明したホストに対してしか実行しないようになっている。を使ってホスト発見を無効にすると、Nmapはターゲットに指定されたIPアドレスすべてに対して、要求されたスキャン機能を実行しようとする。つまり、クラスBのサイズのアドレス空間(/16)を、コマンドラインでターゲットに指定した場合、65,536個のIPアドレスすべてがスキャンされる。の2番目の文字は数字のゼロであり、英字のオーではない。リストスキャンの場合と同様に、本来行うべきホスト発見の段階は省略されるが、Nmapはそこで停止してターゲットのリストを出力するのではなくて、各ターゲットIPがアクティブであるかのように、要求された機能を実行し続ける。 - (TCP SYN Ping) + (TCP SYN Ping) このオプションによって、SYNフラグ付きの空のTCPパケットが送信される。デフォルトの送信先ポートは80番(この設定は、nmap.hのDEFAULT_TCP_PROBE_PORTを書き換えてコンパイルすると変更できる)だが、代わりのポートをパラメタとして指定できる。また、コンマ区切りのポート番号リスト(例:)を指定することも可能である。この場合、各ポートに対するプローブは同時並行で試みられる。 @@ -299,7 +215,7 @@ EXAMPLES: - (TCP ACK Ping) + (TCP ACK Ping) TCP ACK pingは、すぐ上で述べたSYN pingのケースに酷似している。異なる点は、想像される通り、SYNフラグの代わりにTCP ACKフラグが付けられることである。こうしたACKパケットは、確立されたTCPコネクション上のデータを承認していると称しているが、そのようなコネクションは存在しないのである。そのため、リモートホストは常にRSTパケットで応答しなければならなくなり、この過程で自らの存在を明らかにすることになる。 @@ -313,7 +229,7 @@ EXAMPLES: - (UDP Ping) + (UDP Ping) これもホスト発見用オプションで、空の(が指定されている場合を除き)UDPパケットを特定のポートに送信する。ポートリストは、上で述べたのオプションの場合と同じ形式にする。特にポートが指定されていない場合、デフォルトでは31338番になる。このデフォルト値を設定するには、nmap.hのDEFAULT_UDP_PROBE_PORTを書き換えてコンパイルする。ほとんど使われることがないポートがデフォルトで使用されている理由は、開放ポートへの送信が、このスキャンタイプでは特に望ましくない場合が多いからである。 @@ -547,8 +463,8 @@ URGACKPSHRSTSYNFINで全部指定できるわけだが、もっとも - (Idle スキャン) + + (Idle スキャン) @@ -579,7 +495,7 @@ URGACKPSHRSTSYNFINで全部指定できるわけだが、もっとも - (FTP バウンス スキャン) + (FTP バウンス スキャン) FTPプロトコル(RFC 959)の興味深い特徴の1つは、いわゆるプロキシFTP接続に対応していることである。これにより、ユーザは一台のFTPサーバに接続し、そのファイルを第三者サーバに送るように要求できる。これは、様々なレベルの悪用にうってつけの機能なので、たいていのサーバでは、サポートするのを止めている。例えば、この機能を悪用して、FTPサーバに他のホストをポートスキャンさせることも可能である。単に、ターゲットホストの興味あるポートに順にファイルを送信するよう、そのFTPサーバに要求するだけでよい。エラーメッセージには、ポートが開いているか否かが記述される。これは、ファイアウォールをすり抜けるための有効な手段になる。組織のFTPサーバは、どんなインターネットホストよりも、他の内部ホストにアクセスしやすい場所に設置されている場合が多いからだ。Nmapは、オプションでftpバウンススキャンを実行できる。引数はusername:password@server:portのような形式になる。Serverは、この脆弱性の影響を受けるFTPサーバの名前かIPアドレスを指定する。通常のURLの場合と同様に、匿名ログインの認証情報(user: @@ -600,7 +516,7 @@ URGACKPSHRSTSYNFINで全部指定できるわけだが、もっとも - (指定されたポートのみスキャン) + (指定されたポートのみスキャン) @@ -669,7 +585,7 @@ URGACKPSHRSTSYNFINで全部指定できるわけだが、もっとも - (バージョンスキャンの強度を設定) + (バージョンスキャンの強度を設定) @@ -745,7 +661,7 @@ URGACKPSHRSTSYNFINで全部指定できるわけだが、もっとも (OS検出を有望なターゲットに絞る) - 少なくとも1つのopenおよびclosedのTCPポートが見つかれば、OS検出の効率はかなり上がる。このオプションを設定すると、Nmapは上の基準に満たないホストにはOS検出を試行しないようになる。これにより、かなりの時間が節約できる。多くのホストに対してスキャンを行う場合は特にそうである。 あるいは で、OS検出の実行をいつ要求するかだけが重要になる。 + 少なくとも1つのopenおよびclosedのTCPポートが見つかれば、OS検出の効率はかなり上がる。このオプションを設定すると、Nmapは上の基準に満たないホストにはOS検出を試行しないようになる。これにより、かなりの時間が節約できる。多くのホストに対してスキャンを行う場合は特にそうである。 あるいは で、OS検出の実行をいつ要求するかだけが重要になる。 @@ -773,9 +689,9 @@ URGACKPSHRSTSYNFINで全部指定できるわけだが、もっとも - ; + ; (並列スキャンのグループサイズを調節する) + size (並列スキャンのグループサイズを調節する) Nmapには、複数のホストを並行してポートスキャンやバージョンスキャンする能力がある。これは、ターゲットのIP空間をいくつかのグループに分割し、一度に1グループずつスキャンすることで行われる。一般に、グループの規模を大きくするほど、効率がよくなる。デメリットは、グループ全体のスキャンが終了してからでないと、ホストの結果が得られないことである。そのため、グループサイズが50から始めた場合、ユーザがレポートを受け取るのは、(冗長モードで最新情報が提供される場合を除く)最初の50台のホストが完了してからになる。 @@ -790,9 +706,9 @@ URGACKPSHRSTSYNFINで全部指定できるわけだが、もっとも - ; + ; (プローブの並列処理を調節する) + numprobes (プローブの並列処理を調節する) ホストグループに向けて送信されるプローブの総数を決めるオプションで、ポートスキャンやホスト発見に用いられる。デフォルトでは、Nmapは、ネットワークパフォーマンスに基づいて、常に変化する理想的な並列処理可能数を算出している。パケットが続けて破棄される場合は、Nmapは処理速度を落とし、送信するプローブの数を減らす。理想的なプローブ数は、ネットワークが示すパフォーマンスの高さに応じて、緩やかに増加する。これらのオプションは、この変数に対して上限と下限を設定する。デフォルトでは、理想的な並列処理可能数は、ネットワークの信頼性が低い場合は1まで下がり、最高の状態の場合は数百まで上がる場合もある。 @@ -807,10 +723,10 @@ URGACKPSHRSTSYNFINで全部指定できるわけだが、もっとも - , - , + , + , (プローブのタイムアウトを調節する) + time (プローブのタイムアウトを調節する) Nmapは、プローブを中止もしくは再送信するまで、プローブの応答を待機する時間をどのくらいにするかを決める実行タイムアウト値を保持している。 @@ -1097,7 +1013,7 @@ UDPの最大スキャン遅延時間は - (特定のインターフェースを使用する) + (特定のインターフェースを使用する) パケットを送受信する際に、どのインターフェースを利用するかをNmapに伝えるためのオプション。Nmapは、インターフェースを自動的に検知できるようになっているが、検知できない場合はその旨がユーザに通知される。 @@ -1135,8 +1051,8 @@ UDPの最大スキャン遅延時間は + - (送信パケットにランダムデータを付加する) + (送信パケットにランダムデータを付加する) 通常、Nmapはヘッダのみを含む最小限のパケットを送信する。従って、TCPパケットは通常40バイト、ICMPエコー要求パケットは28バイト程度の大きさしかない。このオプションは、Nmapが送信するほとんどのパケットに、指定したバイト数のランダムデータを付加するようにする。OS検出()パケットにはデータは付加されないが、ほとんどのping およびポートスキャンのパケットには付加される。これにより、処理速度は低下するが、スキャンを幾分でも目立たなくすることができる。 + - (IPのTTLフィールド値を設定する) + (IPのTTLフィールド値を設定する) 送信パケットのIPv4生存時間(TTL:Time-to-Live)フィールドを指定した値に設定する。 @@ -1181,8 +1099,7 @@ UDPの最大スキャン遅延時間は + @@ -1213,12 +1131,13 @@ UDPの最大スキャン遅延時間は )とファイル名やハイフンとの間のスペースは必須である。この注意を無視して、引数をのように指定したら、Nmapの下位互換機能により、それぞれG-Xscan.xmlという名前の標準フォーマットの出力ファイルが作成される。 + またNmapには、スキャン結果の冗長性を制御するオプションや、出力ファイルに上書きしないで追加書き込みするためのオプションも用意されている。これらのオプションについてはすべて以下で説明する。 Nmapの出力フォーマット - (通常出力) + (通常出力) 通常の出力が指定した名前のファイルに書き込まれるようにする。上で述べた通り、これはインタラクティブ出力と一部異なる。 @@ -1226,7 +1145,7 @@ UDPの最大スキャン遅延時間は (XML 出力) XML出力が指定した名前のファイルに書き込まれるようにする。Nmapには文書型定義(DTD)が組み込まれており、XMLパーサーはこれを用いて、NmapのXML出力を検証する。本来はプログラムによる使用を目的としたものだが、人間がNmapのXML出力を解釈するのにも役立つ。DTDには、フォーマットの文法要素が定義されており、これらの要素が取ることのできる属性や値が列挙されていることが多い。最新版は以下から常時入手できる: @@ -1240,7 +1159,7 @@ UDPの最大スキャン遅延時間は (ScRipT KIdd|3 oUTpuT) スクリプトキディ出力は、インタラクティブ出力に似ているが、異なる点は、「l33t HaXXorZ」(leet hacker)向けに後処理してあることだ。Nmapは以前より、一貫性のある大文字やスペルの使い方のせいで、この人たちに見下されてきた。ユーモアを解さない人々は、スクリプトキディの手助けをしているとして筆者に非難の言葉を浴びせる前に、まず気付くべきだ。このオプションが、彼らをからかうためのものだということを。 @@ -1248,7 +1167,7 @@ UDPの最大スキャン遅延時間は (Grep検索可能出力) この出力フォーマットを最後に取り上げたのは、廃止予定だからだ。XML出力フォーマットのほうがはるかに強力であり、熟練ユーザにとっての使い勝手もほぼ変わらない。XMLはパーサーの標準で、多数の優れたXMLパーサーが利用可能になっているのに対し、grep可能出力は筆者独自のスクリプトに過ぎない。XMLは拡張性が高く、Nmapの新機能がリリースされるたびに対応可能だが、grep可能出力にはこうした機能を追加する余地がないため、割愛せざるを得ないことも多い。 @@ -1266,7 +1185,7 @@ info、Version infoである。 - (全フォーマットに出力する) + (全フォーマットに出力する) 簡便のために、を指定すると、スキャン結果を通常、XML、grep可能の3つのフォーマットで一度に保存できるようにした。それぞれ、basename.nmap、basename.xml、basename.gnmapというファイルに保存される。たいていのプログラムと同じく、以下の例のようにファイル名の前にディレクトリパスを付けることもできる:~/nmaplogs/foocorp/(UNIX)、c:\hacking\sco(Windows) @@ -1290,7 +1209,7 @@ info、Version infoである。 - (デバッグレベルを上げる/設定する) + (デバッグレベルを上げる/設定する) @@ -1303,6 +1222,7 @@ rttvar: 14987 to: 100000。こうした行の内容が理解で + (送受信したパケットやデータを追跡する) @@ -1312,6 +1232,7 @@ rttvar: 14987 to: 100000。こうした行の内容が理解で + (インターフェースや経路の一覧を表示する) @@ -1336,17 +1257,19 @@ rttvar: 14987 to: 100000。こうした行の内容が理解で - (中断したスキャンを再開する) + (中断したスキャンを再開する) + 対象が広範囲にわたるNmapの実行には非常に長い時間がかかり、数日ほどに及ぶ場合もある。そのようなスキャンは、常に完了するまで続けて実行できるとは限らない。様々な制約によってNmapを就業時間内に実行できなくなったり、ネットワークがダウンしたり、Nmapが動作しているマシンが計画的あるいは予定外に再起動させられたり、Nmap自体がクラッシュしたりなどが起こる可能性があるからだ。その他いかなる理由であっても同様に、Nmapを実行している管理者は、ctrl-Cを押すことによって実行をキャンセルできる。このような場合、スキャン全体を最初から再開するのは望ましくないだろう。幸いにも、通常出力()やgrep可能出力()のログが残っていれば、ユーザは、実行を中断された際のターゲットに対するスキャンを再開するようNmapに命じることができる。これを行うには、 オプションを指定し、通常/grep可能の出力ファイルを引数として渡す。Nmapはその出力ファイルをパースして、前に指定されたのと同じものを使うので、それ以外の引数は指定できない。nmap --resumelogfilenameとして、Nmapを呼び出す。Nmapは、前回の実行で指定されたデータファイルに新たな結果を追加する。この再開オプションは、XML出力フォーマットをサポートしていない。2回の実行結果を結合して1つの妥当なXMLファイルにするのは困難であるためだ。 + - (XML出力変換のXSLスタイルシートを設定する) + (XML出力変換のXSLスタイルシートを設定する) Nmapには、XML出力を閲覧したりHTMLに変換したりするためのnmap.xslというXSLスタイルシートが同梱されている。XML出力には、xml-stylesheetディレクティブが組み込まれており、Nmapが最初にインストールした場所(もしくはWindows上の現在作業中のフォルダ)にあるnmap.xmlを参照する。最近のWebブラウザにNmapのXML出力を読み込むと、ブラウザはファイルシステムからnmap.xsl を読み出して、出力結果の処理に使用する。別のスタイルシートを使いたい場合は、このオプションの引数として指定する。引数はフルパス名かURLで指定する。よく用いられる例を以下に示す: @@ -1355,6 +1278,7 @@ rttvar: 14987 to: 100000。こうした行の内容が理解で + (XSLスタイルシート宣言をXMLから除外する) @@ -1397,13 +1321,14 @@ rttvar: 14987 to: 100000。こうした行の内容が理解で - (Nmapの特別データファイルの位置を指定する) + (Nmapの特別データファイルの位置を指定する) Nmapは、実行時に特別なデータを、nmap-service-probesnmap-servicesnmap-protocolsnmap-rpcnmap-mac-prefixesnmap-os-fingerprintsという名前のファイルに取得する。Nmapはまず、(ある場合は) オプションで指定したディレクトリ内で、これらのファイルを探す。ここで見つからなかったファイルは、「NMAPDIR」環境変数で指定したディレクトリから検索する。次に、実在する有効なUID(POSIXシステムの場合)やNmapの実行ファイル(Win32の場合)が格納されているディレクトリの~/.nmap を探し、その次に、組み込みディレクトリの/usr/local/share/nmap/usr/share/nmapを探す。それでもない場合は最後の手段として、Nmapはカレントディレクトリを検索する。 + (raw(生の)イーサネット層で送信する) @@ -1432,6 +1357,7 @@ rttvar: 14987 to: 100000。こうした行の内容が理解で + ; (バージョン番号を表示する) @@ -1484,6 +1410,7 @@ rttvar: 14987 to: 100000。こうした行の内容が理解で パケット追跡を有効にする / 無効にする + その他 @@ -1521,13 +1448,13 @@ rttvar: 14987 to: 100000。こうした行の内容が理解で 198.116のクラスBアドレス空間で、8ビットで表せる255のサブネットに属するホストのうち、前半(1-127)のIPアドレスを持つホストに対して、ホストの列挙とTCPスキャンを行う。このスキャンを行う目的は、対象システムでsshd、DNS、POP3d、IMAPd、4564番ポートが動作しているかどうかを調査することだ。これらのポートのなかで開いている(open)ことが判明したポートすべてに対してバージョン検出を使用して、何のアプリケーションが動作しているかを特定する。 - nmap -v -iR 100000 -P0 -p 80 + nmap -v -iR 100000 -Pn -p 80 - Nmapは100,000台のホストを無作為に選び、Webサーバ(80番ポート)のスキャンを行う。ホストの列挙は で無効にしてある。各ターゲットホスト上で1つのポートしか調査しないのに、どのホストが稼動中であるかを特定するためにプローブを送るのは無駄だからだ。 + Nmapは100,000台のホストを無作為に選び、Webサーバ(80番ポート)のスキャンを行う。ホストの列挙は で無効にしてある。各ターゲットホスト上で1つのポートしか調査しないのに、どのホストが稼動中であるかを特定するためにプローブを送るのは無駄だからだ。 - nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG + nmap -Pn -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20 4096個のIPをスキャンしてWebサーバを見つけ出し(pingなしで)、結果出力をgrep可能およびXMLフォーマットで保存する。 @@ -1541,9 +1468,11 @@ rttvar: 14987 to: 100000。こうした行の内容が理解で + バグ + Nmapも作者と同様に完全ではない。それでもNmapのほうは、ユーザによるバグの報告やパッチの作成のおかげで、よりよいものにしてゆくことができる。Nmapを使っていて、思い通りに動かない場合は、まずから入手できる最新のバージョンにアップグレードしてみる。問題が続くようなら、すでに発見・対処が行われた問題かどうかを調査して確かめる。エラーメッセージをGoogle検索したり、でNmap-devアーカイブを閲覧したりしてみる。このmanページも全体に目を通した方がよい。それでもどうにもならない場合は、バグレポートをdev@nmap.org宛てにメールで送ること。メールには、使用しているNmapのバージョンと、Nmapを実行しているOSの名前とバージョンなどの情報だけでなく、問題に関して分かったことは何でも書いていただきたい。問題の報告やNmapの使い方についての質問などは、dev@nmap.org宛てに送るほうが、筆者宛てに直接送るよりも返事がある可能性ははるかに高い。 またバグレポートより、バグを修正するためのコードパッチのほうが歓迎される。ユーザ自身のコード変更によるパッチファイルの作成方法についての基本的な注意事項は で参照できる。パッチは、nmap-dev宛てに送る(推奨)か、筆者Fyodorまで直接送っていただきたい。 @@ -1569,6 +1498,7 @@ rttvar: 14987 to: 100000。こうした行の内容が理解で 著作権と使用許諾 + Nmapセキュリティスキャナの著作権は、Insecure.Com LLCに帰属している(1996-2005)。また、Nmapは、Insecure.Com LLCの登録商標。このプログラムはフリーソフトウェアであり、Free Software Foundation(FSF)が発行するGNU一般公衆利用許諾契約書のバージョン2で定められている条件に従い、再配布、改変することが可能である。これは、特定の条件下でNmapを使用、改変、再配布する権利を保証するものである。Nmapの技術を独自仕様のソフトウェアに組み込むことを希望する場合は、喜んで別の形態のライセンスを販売する(その際は、sales@insecure.comに連絡)。多くのセキュリティスキャナのベンダーは、ホスト発見、ポートスキャン、OS検出、サービス/バージョンの検出などの、Nmap技術のライセンスを受けている。