Nmap でのスキャン対象の指定

NmapNmapBeginner
今すぐ練習

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

はじめに

この実験では、無料でオープンソースのネットワークスキャナである Nmap でスキャン対象を指定する方法を学びます。この実験では、127.0.0.1 の IP アドレスを使用して localhost をスキャンすること、IP 範囲(たとえば、192.168.1.1 - 10)をスキャンすること、サブネット(たとえば、192.168.1.0/24)をスキャンすること、Xfce でターゲットリストを作成してそれをスキャンすること、特定の IP をスキャンから除外すること、および Xfce 端末で結果を検証することを含むさまざまなスキャンシナリオが扱われます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/host_discovery("Host Discovery Techniques") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") nmap/NmapGroup -.-> nmap/service_detection("Service Detection") subgraph Lab Skills nmap/port_scanning -.-> lab-530185{{"Nmap でのスキャン対象の指定"}} nmap/host_discovery -.-> lab-530185{{"Nmap でのスキャン対象の指定"}} nmap/target_specification -.-> lab-530185{{"Nmap でのスキャン対象の指定"}} nmap/service_detection -.-> lab-530185{{"Nmap でのスキャン対象の指定"}} end

nmap を使って 127.0.0.1 で localhost をスキャンする

このステップでは、localhost と呼ばれる自分自身のマシンを Nmap を使ってスキャンする方法を学びます。localhost をスキャンすることは、ネットワークセキュリティにおける基本的なステップであり、自分のマシン上で何が動いているか、そしてそれらが脆弱であるかどうかを理解するのに役立ちます。

始める前に、localhost と Nmap が何かについて簡単に説明しましょう:

  • localhost:これは、現在使用されているコンピュータを指すホスト名です。IP アドレス 127.0.0.1 を使用します。localhost をスキャンするとき、実質的に自分自身のマシンをスキャンしていることになります。
  • Nmap:これは、無料でオープンソースのネットワークスキャナです。パケットを送信して応答を分析することにより、コンピュータネットワーク上のホストとサービスを見つけるために使用されます。

Nmap を使って localhost をスキャンするには、次の手順に従います:

  1. Xfce 端末を開きます。端末は、Linux オペレーティングシステムと対話するためのゲートウェイです。

  2. 次のコマンドを入力して Enter キーを押します:

    nmap 127.0.0.1

    このコマンドは、localhost である IP アドレス 127.0.0.1 を Nmap にスキャンさせるように指示します。

  3. 出力を見てください。Nmap は、マシン上で動いているオープンポートとサービスのリストを表示します。出力は次のようになります:

    Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.000073s latency).
    Other addresses for localhost: ::1
    
    PORT     STATE SERVICE
    22/tcp   open  ssh
    80/tcp   open  http
    111/tcp  open  rpcbind
    631/tcp  open  ipp
    3306/tcp open  mysql
    
    Nmap done: 1 IP address (1 host up) scanned in 0.15 seconds

    出力は、マシン上のオープンポートとそれらのポートに関連付けられたサービスを示しています。たとえば、ポート 22 は通常 SSH で使用され、ポート 80 は HTTP で使用されます。STATE 列は、ポートがオープン、クローズ、またはフィルタリングされているかどうかを示します。

    :表示される特定のポートとサービスは、マシンの設定によって異なります。

nmap を使って 192.168.1.1-10 の IP 範囲をスキャンする

このステップでは、Nmap を使って IP アドレスの範囲をスキャンする方法を学びます。IP 範囲をスキャンすることは、ネットワークセグメント内のアクティブなホストを見つけるのに役立ちます。

進む前に、IP 範囲が何かを理解しましょう:

  • IP 範囲:IP 範囲は、連続した IP アドレスのセットです。たとえば、192.168.1.1-10 は、192.168.1.1 から 192.168.1.10 までの IP アドレスを表します(両端を含む)。

Nmap を使って IP 範囲 192.168.1.1-10 をスキャンするには、次の手順に従います:

  1. Xfce 端末を開きます。

  2. 次のコマンドを入力して Enter キーを押します:

    nmap 192.168.1.1-10

    このコマンドは、Nmap に 192.168.1.1 から 192.168.1.10 までのすべての IP アドレスをスキャンさせるように指示します。

  3. 出力を見てください。Nmap は、指定された範囲内の各 IP アドレスに対するスキャンレポートを表示します。出力は次のようになります:

    Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:05 UTC
    Nmap scan report for 192.168.1.1
    Host is up (0.00020s latency).
    Not shown: 999 closed ports
    PORT   STATE SERVICE
    22/tcp open  ssh
    
    Nmap scan report for 192.168.1.2
    Host is up (0.00018s latency).
    Not shown: 999 closed ports
    PORT   STATE SERVICE
    80/tcp open  http
    
    Nmap scan report for 192.168.1.3
    Host is down
    
    Nmap scan report for 192.168.1.4
    Host is down
    
    Nmap scan report for 192.168.1.5
    Host is down
    
    Nmap scan report for 192.168.1.6
    Host is down
    
    Nmap scan report for 192.168.1.7
    Host is down
    
    Nmap scan report for 192.168.1.8
    Host is down
    
    Nmap scan report for 192.168.1.9
    Host is down
    
    Nmap scan report for 192.168.1.10
    Host is down
    
    Nmap done: 10 IP addresses (2 hosts up) scanned in 2.50 seconds

    出力は、範囲内の各 IP アドレスの状態を示しています。ホストがアップしている場合、Nmap はそのホスト上で動いているオープンポートとサービスを表示します。ホストがダウンしている場合、Nmap はそのホストが応答していないことを示します。

    :表示される特定の IP アドレス、ポート、およびサービスは、ネットワーク設定によって異なります。また、一部のホストは Nmap スキャンをブロックするように設定されている場合があるため、実際はアップしていてもダウンしているように表示されることがあります。

nmap を使って 192.168.1.0/24 のサブネットをスキャンする

このステップでは、Nmap を使ってサブネット全体をスキャンする方法を学びます。サブネットをスキャンすることは、ネットワーク管理者やセキュリティ担当者にとって、ネットワーク内のすべてのアクティブなホストを見つけるための一般的なタスクです。

始める前に、サブネットと CIDR 表記が何かを明確にしましょう:

  • サブネット:サブネットは、IP ネットワークの論理的なサブディビジョンです。これにより、より大きなネットワークをより小さく、管理しやすいセグメントに分割できます。
  • CIDR 表記:CIDR(クラスレスドメインルーティング)表記は、IP アドレスとその関連するルーティングプレフィックスを表すコンパクトな方法です。例 192.168.1.0/24 では、192.168.1.0 がネットワークアドレスで、/24 がサブネットマスクを示します。/24 のサブネットマスクは、IP アドレスの最初の 24 ビットがネットワークアドレスに使用され、残りの 8 ビットがホストアドレスに使用されることを意味します。これにより、合計 256(2^8)個のアドレスがあり、192.168.1.0 がネットワークアドレスで、192.168.1.255 がブロードキャストアドレスです。利用可能なホストアドレスは 192.168.1.1 から 192.168.1.254 までです。

Nmap を使ってサブネット 192.168.1.0/24 をスキャンするには、次の手順に従います:

  1. Xfce 端末を開きます。

  2. 次のコマンドを入力して Enter キーを押します:

    nmap 192.168.1.0/24

    このコマンドは、Nmap に 192.168.1.0/24 のサブネット内のすべての IP アドレスをスキャンさせるように指示します。これには、192.168.1.0 から 192.168.1.255 までの IP アドレスが含まれます。

  3. 出力を見てください。Nmap は、サブネット内の各 IP アドレスに対するスキャンレポートを表示します。出力は次のようになります:

    Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
    Nmap scan report for 192.168.1.1
    Host is up (0.00020s latency).
    Not shown: 999 closed ports
    PORT   STATE SERVICE
    22/tcp open  ssh
    
    Nmap scan report for 192.168.1.2
    Host is up (0.00018s latency).
    Not shown: 999 closed ports
    PORT   STATE SERVICE
    80/tcp open  http
    
    Nmap scan report for 192.168.1.100
    Host is up (0.00030s latency).
    Not shown: 999 closed ports
    PORT   STATE SERVICE
    21/tcp open  ftp
    
    Nmap scan report for 192.168.1.254
    Host is down
    
    Nmap done: 256 IP addresses (3 hosts up) scanned in 15.20 seconds

    出力は、サブネット内の各 IP アドレスの状態を示しています。ホストがアップしている場合、Nmap はそのホスト上で動いているオープンポートとサービスを表示します。ホストがダウンしている場合、Nmap はそのホストが応答していないことを示します。

    :サブネット全体をスキャンするには、サブネットのサイズとネットワーク状況に応じてかなりの時間がかかる場合があります。表示される特定の IP アドレス、ポート、およびサービスは、ネットワーク設定によって異なります。また、一部のホストは Nmap スキャンをブロックするように設定されている場合があるため、実際はアップしていてもダウンしているように表示されることがあります。

Xfce で targets.txt を作成し、nmap -iL targets.txt でスキャンする

このステップでは、ターゲットリストファイルを作成し、それを Nmap と一緒に使って複数のホストをスキャンする方法を学びます。予め定義された IP アドレスやホスト名のリストをスキャンしたい場合に便利です。

以下は、targets.txt ファイルを作成して Nmap と一緒に使う方法です:

  1. Xfce 端末を開きます。

  2. nano エディタを使って targets.txt ファイルを作成します。次のコマンドを入力して Enter キーを押します:

    nano ~/project/targets.txt

    このコマンドは nano テキストエディタを開き、~/project ディレクトリ内の targets.txt ファイルを作成および編集できるようにします。

  3. スキャンしたい IP アドレスを targets.txt ファイルに 1 行に 1 つずつ追加します。たとえば、次の IP アドレスを追加します:

    127.0.0.1
    192.168.1.1
    192.168.1.2

    :LabEx VM から到達可能な任意の IP アドレスを使用できます。

  4. targets.txt ファイルを保存するには、Ctrl+X を押してから、保存を確認するために Y を押し、その後 Enter キーを押してファイルを保存します。

  5. 次に、Nmap を使って targets.txt ファイルにリストされている IP アドレスをスキャンします。次のコマンドを入力して Enter キーを押します:

    nmap -iL ~/project/targets.txt

    -iL オプションは、Nmap に指定されたファイルからターゲットリストを読み取るように指示します。この場合、~/project/targets.txt ファイルから IP アドレスを読み取ります。

  6. 出力を見てください。Nmap は、targets.txt ファイル内の各 IP アドレスに対するスキャンレポートを表示します。出力は次のようになります:

    Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:15 UTC
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.0000070s latency).
    Not shown: 999 closed ports
    PORT   STATE SERVICE
    22/tcp open  ssh
    
    Nmap scan report for 192.168.1.1
    Host is up (0.00020s latency).
    Not shown: 999 closed ports
    PORT   STATE SERVICE
    22/tcp open  ssh
    
    Nmap scan report for 192.168.1.2
    Host is up (0.00018s latency).
    Not shown: 999 closed ports
    PORT   STATE SERVICE
    80/tcp open  http
    
    Nmap done: 3 IP addresses (3 hosts up) scanned in 2.50 seconds

    出力は、targets.txt ファイル内の各 IP アドレスの状態を示しています。ホストがアップしている場合、Nmap はそのホスト上で動いているオープンポートとサービスを表示します。

nmap 192.168.1.0/24 --exclude 192.168.1.5 で IP を除外する

このステップでは、Nmap スキャンから特定の IP アドレスを除外する方法を学びます。サブネットをスキャンしたいが、特定のホスト(たとえば、スキャンの許可がないネットワークデバイスやサーバー)をスキップする必要がある場合に便利です。

192.168.1.0/24 のサブネットスキャンから IP アドレス 192.168.1.5 を除外するには、次の手順に従います:

  1. Xfce 端末を開きます。

  2. 次のコマンドを入力して Enter キーを押します:

    nmap 192.168.1.0/24 --exclude 192.168.1.5

    --exclude オプションは、Nmap に指定された IP アドレスをスキャンから除外するように指示します。この場合、192.168.1.0/24 のサブネットスキャンから 192.168.1.5 を除外します。

  3. 出力を見てください。Nmap は、サブネット内の各 IP アドレスに対するスキャンレポートを表示しますが、192.168.1.5 を除いています。出力は次のようになります:

    Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:20 UTC
    Nmap scan report for 192.168.1.1
    Host is up (0.00020s latency).
    Not shown: 999 closed ports
    PORT   STATE SERVICE
    22/tcp open  ssh
    
    Nmap scan report for 192.168.1.2
    Host is up (0.00018s latency).
    Not shown: 999 closed ports
    PORT   STATE SERVICE
    80/tcp open  http
    
    Nmap scan report for 192.168.1.100
    Host is up (0.00030s latency).
    Not shown: 999 closed ports
    PORT   STATE SERVICE
    21/tcp open  ftp
    
    Nmap scan report for 192.168.1.254
    Host is down
    
    Nmap done: 255 IP addresses (3 hosts up) scanned in 15.00 seconds

    :出力は、192.168.1.5 が除外されたため、Nmap が 255 個の IP アドレスをスキャンしたことを示しています。表示される特定の IP アドレス、ポート、およびサービスは、ネットワーク設定によって異なります。また、一部のホストは Nmap スキャンをブロックするように設定されている場合があるため、実際はアップしていてもダウンしているように表示されることがあります。

Xfce 端末で結果を確認する

このステップでは、前のステップで実行した Nmap スキャンの結果を確認します。これには、コマンドの出力を見直し、スキャンが予想通り実行されたことを確認する作業が含まれます。

  1. localhost のスキャンの Nmap 出力を見直す

localhost をスキャンするために使用したコマンドを思い出してください:

nmap 127.0.0.1

出力には、ホスト 127.0.0.1(localhost)がアップであり、開いているポートを一覧表示する必要があります。一般的な開いているポートは 22 番ポート(SSH)です。

  1. IP 範囲のスキャンの Nmap 出力を見直す

IP 範囲をスキャンするために使用したコマンドを思い出してください:

nmap 192.168.1.1-10

出力には、192.168.1.1 から 192.168.1.10 の範囲内の各 IP アドレスの状態が表示されます。どのホストがアップであり、それらのホスト上の開いているポートを一覧表示します。ネットワーク設定によっては、一部のホストがダウンまたはフィルタリングされている場合があることに注意してください。

  1. サブネットのスキャンの Nmap 出力を見直す

サブネットをスキャンするために使用したコマンドを思い出してください:

nmap 192.168.1.0/24

出力には、192.168.1.0/24 サブネット内の各 IP アドレスの状態が表示されます。このスキャンには 256 個の IP アドレスをスキャンするため、完了には少し時間がかかる場合があります。出力には、どのホストがアップであり、それらのホスト上の開いているポートを一覧表示します。

  1. ターゲットリストを使ったスキャンの Nmap 出力を見直す

targets.txt ファイルを使ってスキャンするために使用したコマンドを思い出してください:

nmap -iL ~/project/targets.txt

出力には、~/project/targets.txt ファイルにリストされている各 IP アドレスの状態が表示されます。ファイルに追加した各 IP アドレスのスキャン結果が出力に含まれていることを確認してください。

  1. IP アドレスを除外するための Nmap 出力を見直す

IP アドレスを除外するために使用したコマンドを思い出してください:

nmap 192.168.1.0/24 --exclude 192.168.1.5

出力には、192.168.1.0/24 サブネット内の各 IP アドレスの状態が表示されますが、192.168.1.5 を除いています。出力に 192.168.1.5 に関するスキャンレポートがないことを確認してください。

各 Nmap コマンドの出力を見直すことで、スキャンが正しく実行され、結果が予想通りであることを確認できます。これは、ネットワークを理解し、潜在的なセキュリティ脆弱性を特定するのに役立つため、すべてのネットワークスキャン活動において重要なステップです。

まとめ

この実験では、Nmap でスキャンするためのターゲットを指定する方法を学びました。まず、nmap 127.0.0.1 コマンドを使って localhost をスキャンし、自分自身のマシン上の実行中のサービスと潜在的な脆弱性を特定する方法を学びました。また、nmap 192.168.1.1-10 を使って IP 範囲を、nmap 192.168.1.0/24 を使ってサブネットをスキャンし、Xfce で targets.txt ファイルを作成して nmap -iL targets.txt を使って複数のターゲットをスキャンする方法も学びました。さらに、nmap 192.168.1.0/24 --exclude 192.168.1.5 を使ってサブネットスキャンから特定の IP を除外し、Xfce 端末で結果を確認する方法も学びました。