Nmap

nmapとは



nmap(Network Mapper)は、Gordon Lyon氏によって開発された、広く知られるセキュリティスキャナです。ネットワーク上の機器やサービスを調査し、その構成を「地図」のように把握することからこの名前が付けられました。ポートスキャンに加え、動作しているサービスの種類やバージョン、OSとそのバージョンを特定する高度な機能を持っています。

nmapは、セキュリティ専門家だけでなく、システム管理者やネットワークエンジニアにも利用されており、その多機能性と柔軟性から、非常に人気のあるツールとなっています。LinuxQuestion.org主催のネットワークアプリケーション部門のベストアプリケーション賞を5年以上連続で受賞するなど、業界からの評価も非常に高いです。

nmapの歴史



nmapの誕生は、作者であるGordon Lyon氏(当時はFyodorという名前を使用)が、自身が求めていたポートスキャナが見つからなかったことから、自ら開発を始めたことに端を発します。1997年、Fyodor氏は初期のnmapをソースコード付きでPhrackという雑誌に投稿し、その存在が広く知られることとなりました。

初期のnmapは、TCP SYNスキャン、TCP FINスキャンなど、複数のポートスキャン方法をサポートしていました。その後、OS検出機能が追加され、TCP/IPスタックの差異を利用してOSとバージョンを特定するという、当時としては画期的な手法が導入されました。これは、従来のようなサービスバナーに頼るのではなく、より正確なOSの特定を可能にしました。

さらに、nmapはLuaスクリプト言語で記述されたスクリプトを実行できる「Nmap Scripting Engine(NSE)」を搭載しました。これにより、ユーザーはスキャン動作をカスタマイズし、より柔軟な調査が可能になりました。

nmapの主な機能



nmapは、以下のスキャン機能を中心に、多岐にわたる機能を備えています。

TCPスキャン



TCP connect()スキャン: TCPのconnect()システムコールを利用し、実際に接続を試みることでポートの状態を判断します。root権限などを必要としないため手軽に利用できますが、ログが残る可能性があります。
TCP SYNスキャン: TCPの3ウェイハンドシェイクを途中で中断することで、より効率的なスキャンを行います。ログも残りにくく、速度も速いです。
TCP FINスキャン、TCP Nullスキャン、TCP Xmasスキャン: 特定のTCPフラグを立てたパケットを送信し、その応答からポートの状態を判断します。ステルス性が高い反面、一部のシステムでは利用できません。
TCP ACKスキャン: ACKフラグのみを立てたパケットを送信し、ファイアウォールの挙動を調べます。
TCPウィンドウスキャン: OSの実装の違いを利用して、ポートの状態を判断します。
TCP Maimonスキャン: FIN/ACKパケットに対する応答の違いを利用してポートを判断します。
カスタムTCPスキャン: TCPフラグを自由に設定し、カスタマイズされたスキャンを行います。

UDPスキャン



UDP write() / UDP recvfrom()スキャン: UDPパケットを送信し、応答からポートの状態を判断します。TCPに比べると判断が難しいですが、一部のサービスはUDPを使用します。

ICMPスキャン



ICMP echoスキャン: pingによる死活確認を行います。ネットワーク内のホストを探索する際に役立ちます。

SCTPスキャン



SCTPスキャン: SCTPプロトコルにおけるポートスキャンを行います。

その他機能



スキャン速度の自動調整: 相手サーバーの応答状況に応じてスキャン速度を調整し、効率的なスキャンを実現します。
TCP/IP stack fingerprinting: TCP/IPスタックの差異を利用してOSとバージョンを特定します。
Nmap Scripting Engine (NSE): Luaスクリプトによる柔軟なスキャンを可能にします。

nmapの活用



nmapは、以下のような用途で活用されています。

セキュリティ監査: ネットワークの脆弱性を評価し、セキュリティ対策を強化するために利用されます。
ネットワーク管理: ネットワークに接続されている機器やサービスを把握し、管理を効率化します。
トラブルシューティング: ネットワークの障害の原因を特定し、解決策を見つけるために利用されます。
ペネトレーションテスト: 攻撃者の視点からシステムを評価し、脆弱性を発見します。

nmapは、単なるポートスキャナを超えた多機能なセキュリティツールであり、その柔軟性と強力な機能は、セキュリティ分野において不可欠な存在となっています。

関連情報



Netcat: TCP/IP接続のための汎用ツール。
ping: ネットワーク接続のテストツール。
sshnuke: SSHサービスに対する攻撃ツール(攻撃対象への使用は厳禁)。

外部リンク



nmap公式サイト
nmap初期公開版
* Matrix nmap - YouTube

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。