Nmap で特定のホストをスキャンする

NmapNmapBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験(Lab)では、強力なネットワークスキャンツールである Nmap を使用して、特定のホストをスキャンする方法を学びます。この実験(Lab)では、IP アドレスとホスト名による単一ホストのスキャンについて説明します。

まず、IP アドレス 192.168.1.10 をスキャンし、次にホスト名 scanme.nmap.org をスキャンします。さらに、-R フラグを使用して IP アドレスを解決し、-v フラグで詳細度を上げ、スキャン結果を specific.txt という名前のファイルに保存する方法を学びます。最後に、Xfce ターミナルで保存された結果を確認します。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/basic_syntax("Basic Command Syntax") nmap/NmapGroup -.-> nmap/save_output("Save Output to File") nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") nmap/NmapGroup -.-> nmap/verbosity("Verbosity Levels") nmap/NmapGroup -.-> nmap/syn_scan("SYN Scan") nmap/NmapGroup -.-> nmap/service_detection("Service Detection") subgraph Lab Skills nmap/basic_syntax -.-> lab-547111{{"Nmap で特定のホストをスキャンする"}} nmap/save_output -.-> lab-547111{{"Nmap で特定のホストをスキャンする"}} nmap/port_scanning -.-> lab-547111{{"Nmap で特定のホストをスキャンする"}} nmap/target_specification -.-> lab-547111{{"Nmap で特定のホストをスキャンする"}} nmap/verbosity -.-> lab-547111{{"Nmap で特定のホストをスキャンする"}} nmap/syn_scan -.-> lab-547111{{"Nmap で特定のホストをスキャンする"}} nmap/service_detection -.-> lab-547111{{"Nmap で特定のホストをスキャンする"}} end

Nmap で単一ホスト 192.168.1.10 をスキャンする

このステップでは、Nmap を使用して単一ホストの基本的なスキャンを実行します。Nmap は、パケットを送信し、応答を分析することにより、コンピューターネットワーク上のホストとサービスを検出するために使用される強力なネットワークスキャンツールです。これは、ネットワーク管理者およびセキュリティ専門家にとって基本的なスキルです。

まず、Nmap コマンドの基本的な構文を理解しましょう。

nmap [options] target

ここで:

  • nmap は、Nmap ツールを起動するコマンドです。
  • [options] は、スキャンの動作を変更するさまざまなフラグです(例:スキャンの種類、詳細レベルなどを指定します)。
  • target は、スキャンするマシンの IP アドレスまたはホスト名です。

このステップでは、ターゲットは IP アドレス 192.168.1.10 です。このホストで実行されているオープンポートとサービスを特定するために、簡単なスキャンを実行します。

Xfce ターミナルを開きます。~/project ディレクトリにいることを確認してください。

次に、次のコマンドを実行します。

nmap 192.168.1.10

このコマンドは、ターゲット IP アドレス 192.168.1.10 のスキャンを開始します。Nmap は、ターゲットマシンでどのポートが開いているかを判別しようとします。

次のような出力が表示されるはずです(正確な出力は、ターゲットマシンの構成によって異なります)。

Starting Nmap 7.92 ( https://nmap.org ) at 2023-10-27 10:00 UTC
Nmap scan report for 192.168.1.10
Host is up (0.00020s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

Nmap done: 1 IP address (1 host up) scanned in 2.21 seconds

この出力は、ポート 22 (SSH)、80 (HTTP)、および 443 (HTTPS) がターゲットマシンで開いていることを示しています。Nmap はまた、997 個のポートが閉じられており、出力に表示されていないことを示しています。

Nmap でホスト名 scanme.nmap.org をスキャンする

前のステップでは、IP アドレスを使用して単一ホストをスキャンしました。このステップでは、ホスト名を使用してホストをスキャンします。これは、ターゲットの IP アドレスがわからないが、そのドメイン名がわかっている場合に役立ちます。Nmap は、スキャンを実行する前に、ホスト名を対応する IP アドレスに自動的に解決します。

scanme.nmap.org は、Nmap プロジェクトによってテストおよび教育目的で提供されている専用ホストです。このホストをスキャンすることは安全かつ合法です。

Xfce ターミナルを開きます。~/project ディレクトリにいることを確認してください。

次に、次のコマンドを実行します。

nmap scanme.nmap.org

このコマンドは、ターゲットホスト名 scanme.nmap.org のスキャンを開始します。Nmap は最初にホスト名を IP アドレスに解決し、次にスキャンを実行します。

次のような出力が表示されるはずです。

Starting Nmap 7.92 ( https://nmap.org ) at 2023-10-27 10:05 UTC
Nmap scan report for scanme.nmap.org (45.33.32.156)
Host is up (0.072s latency).
Other addresses for scanme.nmap.org (not scanned): 2600:3c01::a02f:d731
Not shown: 994 closed ports
PORT      STATE    SERVICE
22/tcp    open     ssh
25/tcp    filtered smtp
80/tcp    open     http
135/tcp   filtered msrpc
139/tcp   filtered netbios-ssn
445/tcp   filtered microsoft-ds

Nmap done: 1 IP address (1 host up) scanned in 10.84 seconds

この出力は、scanme.nmap.org の Nmap スキャンレポートを示しています。解決された IP アドレス (45.33.32.156)、オープンポート (22 および 80)、およびフィルタリングされたポート (25、135、139、および 445) が表示されます。フィルタリングされたポートは、ネットワークフィルタリングにより、Nmap がポートが開いているか閉じているかを判断できなかったことを意味します。

Nmap -R 192.168.1.10 で IP アドレスを解決する

このステップでは、Nmap で -R オプションを使用して、IP アドレス 192.168.1.10 に対して逆引き DNS (reverse DNS) 解決を実行します。逆引き DNS 解決は、指定された IP アドレスに関連付けられたホスト名を見つけようとします。これは、特定の IP アドレスの目的または所有者を特定するのに役立ちます。

Xfce ターミナルを開きます。~/project ディレクトリにいることを確認してください。

次に、次のコマンドを実行します。

nmap -R 192.168.1.10

-R オプションは、Nmap にターゲット IP アドレスに対して常に逆引き DNS 解決を実行するように指示します。

次のような出力が表示されるはずです(正確な出力は、IP アドレスの逆引き DNS レコードが存在するかどうか、およびネットワーク構成によって異なります)。

Starting Nmap 7.92 ( https://nmap.org ) at 2023-10-27 10:10 UTC
Nmap scan report for 192.168.1.10
Host is up (0.00020s latency).
rDNS record for 192.168.1.10: myhost.localdomain (This is just an example, the actual output depends on your network)
Not shown: 997 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

Nmap done: 1 IP address (1 host up) scanned in 2.21 seconds

この例では、Nmap は IP アドレス 192.168.1.10 をホスト名 myhost.localdomain に解決できました。逆引き DNS レコードが見つからない場合、Nmap は通常、ホスト名なしで IP アドレスのみを表示します。

注:-R オプションは、Nmap が各 IP アドレスに対して DNS クエリを実行する必要があるため、スキャン時間を増やす可能性があります。

Nmap -v scanme.nmap.org で詳細度 (verbosity) を上げる

このステップでは、-v オプションを使用して Nmap スキャンに詳細度を追加します。詳細度を上げると、Nmap がスキャン中に表示する情報量が増え、スキャンプロセスと結果に関する詳細が提供されます。これは、トラブルシューティングや Nmap の動作を理解するのに役立ちます。

Xfce ターミナルを開きます。~/project ディレクトリにいることを確認してください。

次に、次のコマンドを実行します。

nmap -v scanme.nmap.org

-v オプションは、Nmap に詳細度レベルを上げるように指示します。-vv を使用すると、さらに詳細な情報を得られます。

次のような出力が表示されるはずです(正確な出力は、ターゲットマシンの構成とネットワークの状態によって異なります)。

Starting Nmap 7.92 ( https://nmap.org ) at 2023-10-27 10:15 UTC
Initiating Ping Scan at 10:15
Scanning scanme.nmap.org (45.33.32.156) [2 ports]
Completed Ping Scan at 10:15, 0.08s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 10:15
Completed Parallel DNS resolution of 1 host. at 10:15, 0.01s elapsed
Initiating SYN Stealth Scan at 10:15
Scanning scanme.nmap.org (45.33.32.156) [1000 ports]
Discovered open port 22/tcp on 45.33.32.156
Discovered open port 80/tcp on 45.33.32.156
Completed SYN Stealth Scan at 10:15, 4.69s elapsed (1000 total ports)
Nmap scan report for scanme.nmap.org (45.33.32.156)
Host is up (0.072s latency).
Other addresses for scanme.nmap.org (not scanned): 2600:3c01::a02f:d731
Not shown: 994 closed ports
PORT      STATE    SERVICE
22/tcp    open     ssh
25/tcp    filtered smtp
80/tcp    open     http
135/tcp   filtered msrpc
139/tcp   filtered netbios-ssn
445/tcp   filtered microsoft-ds

Nmap done: 1 IP address (1 host up) scanned in 4.79 seconds

さまざまなスキャンフェーズの開始時刻と終了時刻、スキャンされるポート、および検出されたオープンポートなど、表示される追加情報に注目してください。この詳細な出力は、Nmap スキャンの進行状況と結果を理解するのに非常に役立ちます。

Nmap -oN specific.txt scanme.nmap.org でスキャン結果を保存する

このステップでは、-oN オプションを使用して Nmap スキャン結果をファイルに保存する方法を学びます。これは、調査結果を文書化したり、後で結果を分析したり、他の人と共有したりするのに役立ちます。-oN オプションは、結果を「通常 (normal)」の人間が読める形式で保存します。

Xfce ターミナルを開きます。~/project ディレクトリにいることを確認してください。

次に、次のコマンドを実行します。

nmap -oN specific.txt scanme.nmap.org

-oN specific.txt オプションは、Nmap にスキャン結果を normal 形式で specific.txt という名前のファイルに保存するように指示します。ファイルは現在のディレクトリ (~/project) に作成されます。

スキャンが完了したら、cat コマンドを使用してファイルの内容を表示できます。

cat specific.txt

scanme.nmap.org の Nmap スキャンレポートがターミナルに出力されるはずです。これは、スキャン中に画面に表示されたのと同じ情報ですが、ファイルに保存されています。

specific.txt の内容は次のようになります。

## Nmap 7.92 scan initiated Fri Oct 27 10:20:00 2023
Nmap scan report for scanme.nmap.org (45.33.32.156)
Host is up (0.072s latency).
Other addresses for scanme.nmap.org (not scanned): 2600:3c01::a02f:d731
Not shown: 994 closed ports
PORT      STATE    SERVICE
22/tcp    open     ssh
25/tcp    filtered smtp
80/tcp    open     http
135/tcp   filtered msrpc
139/tcp   filtered netbios-ssn
445/tcp   filtered microsoft-ds

## Nmap done at Fri Oct 27 10:20:10 2023 -- 1 IP address (1 host up) scanned in 10.00 seconds

Xfce ターミナルで結果を確認する

前のステップでは、さまざまな Nmap スキャンを実行し、結果を specific.txt という名前のファイルに保存しました。このステップでは、Xfce ターミナルを使用してこのファイルの内容を確認します。これにより、スキャン結果を分析し、ターゲットシステム上の潜在的な脆弱性またはオープンポートを特定できます。

Xfce ターミナルを開きます。~/project ディレクトリにいることを確認してください。

specific.txt ファイルの内容を表示するには、cat コマンドを使用できます。

cat specific.txt

このコマンドは、ファイルの内容全体をターミナルに表示します。

または、less コマンドを使用して、ファイルをページごとに表示することもできます。

less specific.txt

このコマンドを使用すると、矢印キーまたは Page Up キーと Page Down キーを使用してファイルをスクロールできます。less を終了するには、q を押します。

nano テキストエディタを使用してファイルを開いて確認することもできます。

nano specific.txt

このコマンドは、nano エディタでファイルを開き、ファイルをスクロールしたり、必要に応じて変更を加えたりすることができます。nano を終了するには、Ctrl+X を押し、変更を加えていない場合は N、変更を保存する場合は Y を押し、最後に Enter を押します。

スキャン結果を確認することで、オープンポート、実行中のサービス、およびターゲットシステムに関するその他の情報を特定できます。この情報は、システムのセキュリティ体制を評価し、潜在的な脆弱性を特定するために使用できます。たとえば、ポート 22 (SSH) が開いている場合は、SSH の構成を調査して、安全であることを確認する必要があります。ポート 80 (HTTP) または 443 (HTTPS) が開いている場合は、Web サーバーの構成と、システム上で実行されている Web アプリケーションを調べることをお勧めします。

これで Nmap の実験 (LabEx) は終わりです。基本的な Nmap スキャンを実行する方法、ホスト名を解決する方法、詳細度 (verbosity) を上げる方法、および後で確認するためにスキャン結果をファイルに保存する方法を学びました。

まとめ

この実験 (LabEx) では、Nmap を使用して特定のホストをスキャンする方法を学びました。まず、IP アドレス 192.168.1.10 を使用して単一のホストをスキャンし、オープンポートとサービスを特定しました。基本的な Nmap の構文 nmap [options] target を紹介しました。

次に、ホスト名 scanme.nmap.org を使用してホストをスキャンしました。提供されたコンテンツでは省略されていますが、その後のステップでは、IP アドレスの解決、詳細度 (verbosity) の向上、およびスキャン結果のファイルへの保存について説明する可能性があります。