その他のオプション
本節では、他の節のどこにも適合しないオプションで、重要な(およびそれほど重要でない)ものについて述べる。
-
-6
(IPv6スキャンを有効にする) Nmapは2002年より、その最もよく使われる機能に対してIPv6のサポートを提供している。特に、pingスキャン(TCPのみ)、connect()スキャン、バージョン検出などはすべてIPv6に対応している。コマンド構文は、
-6
オプションを追加する以外は従来通りである。もちろん、ホスト名ではなくてアドレスを指定する場合は、IPv6の構文を使う必要がある。ただし、アドレス表示は3ffe:7501:4819:2000:210:f3ff:fe03:14d0
のようになるので、ホスト名を使う方がよい。出力も従来とほぼ同じであり、「興味のあるポート」行のアドレスがIPv6方式になっているのが唯一のIPv6の証拠である。IPv6は必ずしも世界を席巻しているわけではないが、一部(通常はアジア)の国々ではかなり普及しており、最近のOSのほとんどでサポートされている。NmapをIPv6で使用するためには、スキャンのソースとターゲットの両方をIPv6対応に設定する必要がある。自分のISP(他の多くのISPと同様の)からIPv6アドレスを割り当てられていない場合は、様々な場所で入手可能なフリーのトンネルブローカーがNmapとうまく連携して機能する。優れたトンネルブローカーの1つに、BT Exact社が以下で運営しているものがある。 Hurricane Electric社が以下で提供しているものも使ったことがある:
http://ipv6tb.he.net/
。「6to4 tunnels」という人気のフリーソフトもある。-
-A
(アグレッシブ・スキャンオプション) このオプションは、Additional(付加的)、Advanced(高度)、Aggressive(アグレッシブ)なオプションを有効にする。だが、このうちのどれを表すのかはまだ明確には決めていない。現在はこのオプションを指定すると、OS検出(
-O
)とバージョンスキャン(-sV
)を実行できる。今後、さらに多くの機能が追加されるだろう。ポイントは、ユーザが数多くのフラグをまとめて覚えなくても済むように、複数のスキャンオプションを包括的にまとめて実行できるようにすることである。このオプションが有効にするのは機能のみで、同じくそうしたいと思われるタイミングオプション(例えば-T4
)や冗長オプション(-v
)などは、有効にならない。-
--datadir
(Nmapの特別データファイルの位置を指定する)<directoryname>
Nmapは、実行時に特別なデータを、
nmap-service-probes
、nmap-services
、nmap-protocols
、nmap-rpc
、nmap-mac-prefixes
、nmap-os-fingerprints
という名前のファイルに取得する。Nmapはまず、(ある場合は)--datadir
オプションで指定したディレクトリ内で、これらのファイルを探す。ここで見つからなかったファイルは、「NMAPDIR」環境変数で指定したディレクトリから検索する。次に、実在する有効なUID(POSIXシステムの場合)やNmapの実行ファイル(Win32の場合)が格納されているディレクトリの~/.nmap
を探し、その次に、組み込みディレクトリの/usr/local/share/nmap
や/usr/share/nmap
を探す。それでもない場合は最後の手段として、Nmapはカレントディレクトリを検索する。-
--send-eth
(raw(生の)イーサネット層で送信する) Nmapが、上層のIP(ネットワーク)層ではなくて、rawイーサネット(データリンク)層でパケットを送信するようにする。デフォルトでは通常、Nmapは動作しているプラットフォームに最適の層を選ぶようになっている。raw ソケット (IP層)は一般に、UNIXマシンには最適であるが、マイクロソフト社がraw ソケットに対応する機能を無効にしているため、Windows OSにはイーサネットフレームが必要になる。Nmapは、他に選択肢がない(非イーサネット接続などの)場合は、このオプションがあるにもかかわらずUNIX上ではいまだにraw IPパケットを使用する。
-
--send-ip
(raw IPレベルで送信する) Nmapがパケットを送信するのに、下位のイーサネットフレームではなくて、raw IPソケットを介して送るようにする。これは、上で述べた
--send-eth
を補完するオプションである。-
--privileged
(ユーザが十分な権限を持つことを想定する) Nmapが、通常はUNIXシステム上のroot権限を必要とする操作を行うのに十分な特権を持つことを想定する。こうした操作には、生ソケットの送信やパケット盗聴などがある。デフォルトでは、Nmapはこのような操作が要求された場合でも、geteuid()がゼロでなければ実行を中止するようになっている。
--privileged
は、Linuxカーネル機能や、権限のないユーザが生パケットスキャンを実行できるように設定可能な同様のシステムとともに用いると便利である。注意点は、このオプションフラグを、特権を必要とするオプション(SYNスキャンやOS検出など)より前に指定することだ。--privileged
オプションに相当する別の方法には、「NMAP_PRIVILEGED」変数の設定がある。-
-V
;--version
(バージョン番号を表示する) Nmapのバージョン番号を書き出して終了する。
-
-h
;--help
(ヘルプのサマリーページを表示する) 最も一般的なコマンドフラグについての短いヘルプ画面を表示する。Nmapを引数なしで実行しても同様の結果が得られる。