How to Use Nmap: コマンドとチュートリアルガイド

Nmap はネットワークマッパーであり、市場で最も人気のある、無料のネットワーク発見ツールの1つとして出現した。 Nmap は、現在、ネットワーク管理者がネットワークをマッピングするために使用する中核ツールの 1 つです。 このプログラムは、ネットワーク上のライブホストの検出、ポートスキャンの実行、Ping のスイープ、OS の検出、およびバージョンの検出に使用できます。

最近の多くのサイバー攻撃により、Nmap が提供するネットワーク監査の種類に再び注目が集まっています。 たとえば、最近の Capital One のハッキングは、システム管理者が接続されたデバイスを監視していれば、もっと早く発見できたはずだとアナリストは指摘しています。 このガイドでは、Nmapとは何か、何ができるのか、そして、最も一般的なコマンドの使い方を説明します。

理想的には、Nmap は統合されたデータ セキュリティ プラットフォームの一部として使用されるべきです。 Nmap を使用してネットワークをマッピングしたら、Varonis の Datadvantage のようなプラットフォームを使用して、高度なアクセス制御を実装することができます。

  • Nmap の使用方法
  • Nmap チュートリアルと例
  • Nmap コマンド
  • Nmap FAQ

Nmapとは何ですか?

その中核は、IP パケットを使用してネットワークに接続されたすべてのデバイスを識別し、それらが実行しているサービスやオペレーティングシステムに関する情報を提供するネットワークスキャンツールです。

プログラムはコマンドラインインターフェース (GUI フロントエンドも利用可能) を通じて最もよく使われ、Linux や Free BSD、Gentoo など多くの異なる OS で利用できます。 その人気は、活発で熱狂的なユーザーサポートコミュニティによっても支えられています。

Nmap は企業規模のネットワーク向けに開発され、何千もの接続されたデバイスをスキャンすることができます。 しかし、近年、Nmap は小規模な企業で使用されることが多くなっています。 特に IoT の台頭により、これらの企業が使用するネットワークはより複雑になり、そのためセキュリティが難しくなっています。

つまり、Nmap は現在、Web サーバーと IoT デバイス間のトラフィックを監査するために多くの Web サイト監視ツールで使用されているのです。 また、MiraiのようなIoTボットネットの最近の出現は、UPnPプロトコル経由で接続されたデバイスを照会し、悪意のあるデバイスをハイライトする機能により、Nmapへの関心を刺激している。

Nmap は、実用的なレベルでは、ネットワークおよびネットワークに接続されたデバイスに関する詳細でリアルタイムの情報を提供するために使用されます。 まず、このプログラムは、ネットワーク上でアクティブなすべてのIPに関する詳細な情報を提供し、各IPをスキャンすることができます。 これにより、管理者は、ある IP が正当なサービスによって使用されているのか、それとも外部の攻撃者によって使用されているのかを確認できます。

2 番目に、Nmap はネットワーク全体に関する情報を提供します。 これは、ライブホストとオープンポートのリストを提供し、接続されているすべてのデバイスの OS を識別するために使用できる。 このため、ペンテストにおいて重要な役割を果たすだけでなく、継続的なシステム監視においても貴重なツールとなっている。 Nmap は、たとえば Metasploit フレームワークと一緒に使用して、ネットワークの脆弱性を調査し、修復することができます。

3 番目に、Nmap は、個人および企業の Web サイトを保護しようとするユーザーにとっても貴重なツールになっています。 Nmap を使用して自分の Web サーバーをスキャンすることは、特に自宅で Web サイトをホストしている場合、本質的にハッカーがサイトを攻撃するために使用するプロセスをシミュレートすることになります。 このように自分のサイトを「攻撃」することは、セキュリティの脆弱性を特定する強力な方法です。

Nmap の使用方法

Nmap は使いやすく、提供するツールのほとんどは他のプログラムでシステム管理者がよく使用しているものです。 Nmap の利点は、個別のネットワーク監視ツール間をスキップさせるのではなく、これらのツールの広い範囲を一つのプログラムに取り込んでいることである。

Nmap を使用するには、コマンドラインインターフェースに慣れる必要がある。 ほとんどの上級ユーザーは、一般的なタスクを自動化するスクリプトを書くことができるが、これは基本的なネットワーク監視には必要ない。

How To Install Nmap

Nmapのインストール方法は簡単だが、オペレーティングシステムによって異なる。 Windows、Mac、および Linux 版のプログラムは、ここからダウンロードできます。

  • Windowsの場合、Nmap にはカスタムインストーラー (namp<version>setup.exe) が付属しています。 このインストーラをダウンロードして実行すると、システム上でNmapが自動的に設定されます。
  • Macでは、Nmapには専用のインストーラも付属しています。 Nmap-<version>mpkg ファイルを実行すると、このインストーラが起動します。 macOS の最近のバージョンでは、Nmap が「未確認の開発者」であるという警告が表示されることがありますが、この警告は無視できます。
  • Linuxユーザーは、Nmap をソースからコンパイルするか、選択したパッケージ マネージャーを使用するかのいずれかです。 例えば、apt を使用する場合、Nmap -version を実行して Nmap がインストールされているかどうかを確認し、sudo apt-get install Nmap でインストールできる。

Nmap Tutorial and Examples

Nmap をインストールしたら、その使い方を学ぶ最善の方法は、いくつかの基礎的ネットワークスキャンを実行することである。

How To Run a Ping Scan

Nmap の最も基本的な機能の 1 つは、ネットワーク上のアクティブなホストを識別することである。 Nmapは、pingスキャンを使用してこれを行なう。

Ping スキャンを実行するには、次のコマンドを実行する。

# nmap -sp 192.100.1.1/24

このコマンドは、ネットワーク上のホストのリストと割り当てられた IP アドレスの総数を返す。 このリストで、説明できないホストまたは IP アドレスを見つけたら、さらにコマンドを実行して (以下を参照)、さらに調べることができます。

How To Run A Host Scan

ネットワークをスキャンするさらに強力な方法は、Nmap を使用してホストスキャンを実行する方法です。 pingスキャンとは異なり、ホストスキャンは、ネットワークに接続されているすべてのホストにARP要求パケットを積極的に送信する。

ホストスキャンを実行するには、次のコマンドを使用する。

# nmap -sp <target IP range>

これにより、すべてのホストに関する情報、そのレイテンシ、MACアドレス、およびこのアドレスに関連するあらゆる説明が返される。

このリストに何か異常がある場合、次のコマンドを使用して、特定のホストに対して DNS クエリを実行することができます:

# namp -sL <IP address>

スキャンされた IP に関連付けられた名前のリストが返されます。 この記述は、IP が実際には何のためにあるのかという情報を提供します。

How To Use Nmap in Kali Linux

Kali Linux で Nmap を使用することは、他の Linux でプログラムを実行するのと同じ方法で行うことができます。 これには、高度な GUI および結果ビューア (Zenmap)、柔軟なデータ転送、リダイレクト、およびデバッグ ツール (Ncat)、スキャン結果を比較するユーティリティ (Ndiff)、およびパケット生成と応答解析ツール (Nping) が含まれます。

Nmap Commands

Nmap のほとんどの共通機能は 1 つのコマンドで実行でき、プログラムでは、共通タスクを自動化するために使用できる多くの「ショートカット」コマンドも使用しています。

#

ポートスキャン

Nmapを使用してポートスキャンを実行するには、いくつかの方法がある。 これらのスキャン方法の主な違いは、TCPまたはUDPポートを対象とするかどうか、およびTCP接続を実行するかどうかである。

  • これらのスキャンのうち最も基本的なものは、sS TCP SYNスキャンであり、ほとんどのユーザーはこれで必要な情報をすべて得ることができる。 この種のスキャンの主な代替案は、TCP Connectスキャンで、各ホストに積極的に問い合わせを行い、応答を要求する。
  • UDPスキャンは、TCPコネクトスキャンと同様に機能するが、UDPパケットを使用してDNS、SNMP、DHCPの各ポートをスキャンする。 これらはハッカーが最も頻繁に標的とするポートであるため、この種のスキャンは、脆弱性をチェックするのに有効なツールである。 SS7およびSIGTRANである。
  • また、TOP NULLスキャンは、非常に巧妙なスキャン手法である。 これは、TCPシステムの抜け穴を利用して、ポートに直接問い合わせることなくポートの状態を明らかにできるため、ファイアウォールで保護されている場所でも状態を確認することができる。 前述のように、次のコマンドを使用してホストスキャンを実行できる。
    # nmap -sp <target IP range>

    OS Scanning

    OSスキャンは、Nmapの最も強力な機能の1つである。 この種のスキャンを使用する場合、Nmapは特定のポートにTCPおよびUDPパケットを送信し、その応答を分析する。 OSスキャンを実行するには、次のコマンドを使用する:

    nmap -O <target IP>

    Scan The Most Popular Ports

    ホームサーバーでNmapを実行している場合、このコマンドは非常に有用である。 これは、ホストの最も「よく使われる」ポートのいくつかを自動的にスキャンするものである。 このコマンドは、

    nmap --top-ports 20 192.168.1.106

    の「20」の部分をスキャンするポート数に置き換えると、Nmapはその数のポートをすばやくスキャンすることができる。 最も一般的なポートの状態を詳細に示す簡潔な出力が返されるので、不必要に開いているポートがあるかどうかをすぐに確認できる。

    ファイルへの出力

    Nmapスキャンの結果をファイルに出力したい場合は、コマンドにそのための拡張子を追加できる。 テキストファイルに出力するには、コマンドに:

    -oN output.txt

    を、XMLに出力するには:

    -oX output.xml

    を追加するだけでよい。

    DNS 名前解決を無効にする

    最後に、-n パラメータを使用して DNS 逆解決を無効にすると、Nmap スキャンを高速化することができる。 これは、大規模なネットワークをスキャンする場合に非常に有効である。 たとえば、上記の基本的な ping スキャンで DNS 解決を無効にするには、-n:

    # nmap -sp -n 192.100.1.1/24

    Nmap FAQ

    上記のコマンドで Nmap の基本機能のほとんどを網羅することができる。 しかし、まだいくつかの質問があるかもしれないので、最も一般的なものを見ていこう。

    Q: Nmap の代替には何があるか?

    Nmap の代替はいくつかあるが、そのほとんどは、平均的なシステム管理者が頻繁に必要とする特定の、ニッチな機能の提供に焦点を当てている。 たとえば、MASSCAN は Nmap よりもはるかに高速だが、詳細な情報は得られない。 しかし実際には、特に、NetCat (ネットワーク トラフィックの管理と制御に使用可能) や ZenMap (Nmap の GUI を提供) といった同様に人気のあるツールと一緒に使用する場合、Nmap は一般ユーザーが必要とするすべての機能と速度を提供してくれます。 IP パケットを使用して、ネットワーク上でアクティブなホストと IP を識別し、これらのパケットを分析して、各ホストと IP、およびそれらが実行しているオペレーティング システムに関する情報を提供します。

    Q: Nmap は合法ですか?

    はい、適切に使用すれば、システムのセキュリティ脆弱性を迅速に発見できるため、ハッカーからネットワークを保護する上で Nmap は有用です。 この分野の法律は複雑で、地域によって異なります。 Nmap を使用して外部ポートをスキャンすると、ISP によって禁止される可能性があるため、このプログラムを広く使用する前に、その法的影響を調査しておく必要があります。 Nmap を使用して頻繁にネットワーク監査を行うことで、ハッカーの格好の餌食になることを避けることができ、同時に、自分のネットワークに関する知識を向上させることができます。 さらに、Nmap は、Varonis が提供するような、より完全な機能を備えたデータ セキュリティ プラットフォームを補完する機能を提供し、これらのツールと共に使用することで、サイバーセキュリティを劇的に向上させることができます。

コメントを残す

メールアドレスが公開されることはありません。