2022 年 8 月 26 日更新
はじめに
Nmap は、最も古く、最も柔軟なネットワーク ツールの 1 つです。ネットワーク管理者は、Nmap を使用して、さまざまな条件下でネットワークを検出、分析、およびマップします。セキュリティとトラブルシューティングの観点から、機能豊富なコマンドライン ツールは不可欠です。
この記事では、Nmap とは何かを説明し、Linux の 17 の基本的なコマンドを紹介します。

Nmap とは?
Nmap (いいえ ネットワーク マップ per) は、ネットワークおよびセキュリティ監査用のオープンソース Linux ツールです。このツールは、ネットワーク管理者がさまざまなシステム上のホストとサービスを明らかにするのに役立ちます。
Nmap は、ローカルとリモートの両方で機能します。一般的な用途には、開いているポートのスキャン、ネットワークの脆弱性の発見、ネットワーク マッピング、およびメンテナンスが含まれます。このツールは、セキュリティとネットワークの両方の観点から価値があります。
Nmap コマンド
nmap
コマンドには、目の前の状況に応じて、多くのオプションとユース ケースが付属しています。以下は、最も一般的で便利な nmap
の一部です。 Linux のコマンドと例 .
注: Network Mapper をお持ちでない場合は、Ubuntu 18.04 に NMAP をインストールする方法に関するガイドに従ってソフトウェアをインストールできます。
1.開いているポートをスキャンする Nmap コマンド
ホストをスキャンするとき、Nmap コマンドはサーバー名、IPV4 アドレス、または IPV6 アドレスを使用できます。基本的な Nmap コマンドは、指定されたホストに関する情報を生成します。
nmap subdomain.server.com
上記のように、フラグがない場合、Nmap は指定されたホストで開いているサービスとポートを明らかにします。
nmap 192.168.0.1
Nmap は、開いているサービスとポートを IP アドレスとドメイン名で明らかにすることができます。
nmap -F 192.168.0.1
スキャンをすばやく実行する必要がある場合は、-F
を使用できます 国旗。 -F
フラグは nmap-services のポートを一覧表示します ファイル。 -F
「高速スキャン」フラグは、それほど多くのポートをスキャンしません。完全ではありません。
2.複数のホストをスキャン
Nmap は、一度に 1 つのホストをスキャンするのではなく、一度に複数の場所をスキャンできます。これは、より広範なネットワーク インフラストラクチャに役立ちます。調査する必要がある場所の数に応じて、一度に多数の場所をスキャンする方法がいくつかあります。
複数のドメインまたは複数の IP アドレスを続けて追加して、複数のホストを同時にスキャンします。
nmap 192.168.0.1 192.168.0.2 192.168.0.3
*
を使用 サブネット全体を一度にスキャンするためのワイルドカード。
nmap 192.168.0.*
IP アドレス全体を入力するのではなく、アドレスの末尾が異なる場合はカンマで区切ります。
nmap 192.168.0.1,2,3
ハイフンを使用して IP アドレスの範囲をスキャンします。
nmap 192.168.0.1-4
3.検索からのホストの除外
ネットワークをスキャンするとき、単一のホストを除外しながら、グループ全体 (サブネット全体など) を選択したい場合があります。
nmap 192.168.0.* --exclude 192.168.0.2
-exclude
を使用して、検索から特定のホストを除外できます。
nmap 192.168.0.* --excludefile /file.txt
-exclude
を使用して、ホストのリストを検索から除外することもできます フラグと特定のファイルへのリンク。これは、複数のホストを検索から除外する最も簡単な方法です。
4.スキャンして OS 情報を調べる
一般的な情報に加えて、Nmap は、オペレーティング システムの検出、スクリプトのスキャン、traceroute、およびバージョンの検出も提供できます。 Nmap はオペレーティング システムやバージョンなどを特定するために最善を尽くしますが、常に完全に正確であるとは限りません。
-A
を追加します Nmap コマンドにフラグを付けて、マップされているホストのオペレーティング システム情報を検出できるようにします。
nmap -A 192.168.0.1
-A
フラグは、他の Nmap コマンドと組み合わせて使用できます。
-O
の使用 Nmap コマンドで flag を指定すると、マップされたホストのオペレーティング システムの詳細情報が表示されます。 -O
flag は OS 検出を有効にします。
nmap -O 192.168.0.1
追加のタグには -osscan-limit
が含まれます と -osscan-guess
.
-osscan-limit
コマンドは、簡単なオペレーティング システムのターゲットのみを推測します。 -osscan-guess
コマンドは、オペレーティング システムの推測に関してより積極的になります。繰り返しになりますが、オペレーティング システムは特定の特徴に基づいて検出されます。情報が正確であるとは限りません。
5.スキャンしてファイアウォール設定を検出
ファイアウォール設定の検出は、侵入テストや脆弱性スキャン中に役立ちます。特定のホスト全体のファイアウォール設定を検出するためにいくつかの関数を使用できますが、-sA
フラグが最も一般的です。
nmap -sA 192.168.0.1
-sA
の使用 flag は、ホストでファイアウォールがアクティブかどうかを知らせます。これは、ACK スキャンを使用して情報を受け取ります。
注: 侵入テストの種類と方法論、および侵入テスト ソフトウェアの詳細については、ガイドをご覧ください。
6.サービス バージョンに関する情報を検索
開いているポートからサービスとバージョン情報を検出する必要がある場合があります。これは、トラブルシューティング、脆弱性のスキャン、更新が必要なサービスの特定に役立ちます。
nmap -sV 192.168.0.1
これにより、指定されたホスト全体のサービスに関する必要な情報が得られます。
--version-intensity
を使用できます 0
からのレベル 9
まで この検索の強度レベルを決定します。 --version-trace
も使用できます スキャンで通常期待する結果が得られない場合に、スキャンのより詳細な情報を表示します。
7.ポートをスキャン
ポート スキャンは、Nmap が提供する基本的なユーティリティの 1 つであるため、このコマンドをカスタマイズする方法がいくつかあります。
-p
で フラグの後にポートを指定すると、ホスト上の特定のポートに関する情報をスキャンできます。
nmap -p 443 192.168.0.1
ポート自体の前にポートの種類を追加することで、特定の種類の接続に関する情報をスキャンできます。
nmap -p T:8888,443 192.168.0.1
-p
で複数のポートをスキャンできます コンマで区切ってフラグを立てます。
nmap -p 80,443 192.168.0.1
-p
で複数のポートをスキャンすることもできます ハイフンで範囲をマークしてフラグを立てます。
nmap -p 80-443 192.168.0.1
ポートをランダムではなく順番にスキャンするには、フラグ -r
を追加します コマンドに。コマンド --top-ports
を使用することもできます その数まで、最も一般的なポートを見つけるための番号が続きます。
8.ステルス モードでスキャンを完了する
ステルス スキャンを完了する必要がある場合は、次の Nmap コマンドを使用します:
nmap -sS 192.168.0.1
-sS
の使用 flag は、TCP SYN を使用してステルス スキャンを開始します。 -sS
flag は、他のタイプの Nmap コマンドと組み合わせて使用できます。ただし、このタイプのスキャンは低速であり、他のオプションほど積極的ではない場合があります。
9.ホスト名を特定する
Nmap を介してホスト検出を実装する方法はいくつかあります。最も一般的なのは -sL
経由です .例:
nmap -sL 192.168.0.1
-sL
flag は、指定されたホストのホスト名を検索し、それぞれの DNS クエリを完了します。さらに、-n
-R
オプションは DNS 解決をスキップするために使用できます。 フラグを使用して、常に DNS を解決できます。 -Pn
flag は、ホストがオンラインであるかのように処理するのではなく、ホストの検出を完全にスキップします。
10.ファイルからスキャン
スキャンする必要があるアドレスの長いリストがある場合は、コマンド ラインから直接ファイルをインポートできます。
nmap -iL /file.txt
これにより、指定された IP アドレスのスキャンが生成されます。これらの IP アドレスをスキャンするだけでなく、他のコマンドやフラグを追加することもできます。これは、頻繁に参照する必要がある一連のホストがある場合に役立ちます。
11. Verbose で詳細情報を取得
詳細な出力は、通常、コマンドに関するより多くの情報を提供します。この出力が不要な場合もあります。ただし、特にトリッキーな状況をデバッグしている場合や、より多くの情報が必要な場合は、指定されたコマンドを冗長モードに設定できます。
nmap -v 192.168.0.1
-v
フラグは、完了したスキャンに関する追加情報を提供します。より多くの情報を提供するために、ほとんどのコマンドに追加できます。 -v
なし フラグの場合、Nmap は通常、利用可能な重要な情報のみを返します。
12. IPv6 アドレスをスキャン
IPv6 はより一般的になりつつあり、ドメインや古い IP アドレスをサポートするのと同様に、Nmap は IPv6 をサポートしています。 IPv6 は、利用可能なすべての Nmap コマンドで動作します。ただし、IPv6 アドレスが参照されていることを Nmap に伝えるには、フラグが必要です。
nmap -6 ::ffff:c0a8:1
-6
を使用 IPv6 でより複雑な Nmap 機能を実行するための他のフラグ付きオプション。
13.スキャンしてアクティブなサーバーを確認
Nmap の最も単純な機能の 1 つは、アクティブなマシンに ping を実行する機能です。 -sP
コマンドは、マシンの位置を特定したり、マシンが応答していることを確認したり、ネットワーク上で予期しないマシンを識別したりします。
nmap -sP 192.168.0.0/24
-sP
コマンドは、アクティブで使用可能なマシンのリストを作成します。
14.ホスト インターフェイス、ルート、およびパケットを見つける
デバッグするホスト インターフェイス、印刷インターフェイス、およびルートを見つけることが必要になる場合があります。
これを行うには、--iflist
を使用します コマンド:
nmap --iflist
--iflist
コマンドは、関連するインターフェースとルートのリストを生成します。
nmap --packet-trace
同様に、--packet-trace
送受信されたパケットを表示し、デバッグに同様の値を提供します。
15.積極的なスキャンとタイミング
より積極的にスキャンする必要がある場合や、クイック スキャンを実行したい場合があります。これは、タイミング メカニズムを使用して制御できます。 Nmap では、タイミングがスキャンの速度と深さの両方を制御します。
nmap -T5 192.168.0.1
積極的なスキャンはより高速になりますが、より混乱を招き、不正確になる可能性もあります。 T1
などの他のオプションがあります 、T2
、T3
、および T4
スキャンします。ほとんどのスキャンでは、T3
と T4
タイミングは十分です。
16.助けを求める
Nmap または指定されたコマンドのいずれかについて質問がある場合は、タグを使用してコンテキストベースの情報を取得できます。
nmap -h
-h
タグは、利用可能なフラグに関する情報を含む、Nmap コマンドのヘルプ画面を表示します。
17.スキャン中におとりを作成
Nmap は、ファイアウォールを欺くことを目的としたおとりの作成にも使用できます。おとりは悪意のある目的で使用される可能性がありますが、通常はデバッグに使用されます。
nmap -D 192.168.0.1,192.168.0.2,...
-D
を使用する場合 コマンドの後に、おとりアドレスのリストを続けることができます。これらのおとりアドレスは、実際に行われているスキャンをわかりにくくするために、ネットワークをスキャンしているようにも見えます。
同様に、--spoof-mac
などのコマンドを使用することもできます コマンド -S
と同様に、Nmap MAC アドレスをスプーフィングする 送信元アドレスを偽装する。
結論
適切な Nmap コマンドを使用すると、ポート、ルート、およびファイアウォールに関する情報をすばやく見つけることができます。
Nmap には、システム管理者が調べるための設定とフラグがいくつかあります。クローク モードで実行できることに加えて、おとりを開始し、潜在的な脆弱性を積極的かつ迅速にスキャンします。