認証情報なしディスカバリーで収集された Nmap コマンドおよびデータ
Nmap は、データを収集するときにフェーズで実行され、アプリケーションとデバイスを探索する 2 つのパターンで、制御された一連の安全なコマンドを実行します。
ホストディスカバリーから Nmap が返すデータ
- オペレーティングシステムのファミリー:オペレーティングシステムのファミリーが、サポートされている 6 つのサーバーオペレーティングシステムのファミリーのいずれかである場合、適切なサーバークラスに関連付けられたホスト CI を使用してホスト CI が作成または更新されます。Nmap によって返されたオペレーティングシステムのファミリーが、サポートされているサーバーオペレーティングシステムのいずれかでない場合は、ベースハードウェア [cmdb_ci_hardware] クラスを使用してホスト CI が作成または更新されます。
- MAC アドレス:スキャンされたホストが、Nmap コマンドを実行する Windows MID サーバーホストと同じサブネットに配置されている場合、Nmap はリモートホストの MAC アドレスを返します。
ホストディスカバリーで Nmap によって実行されるコマンド
| コマンド | 説明 |
|---|---|
| -PS | TCP SYN オプションは、ホストがオンラインかどうかを決定します。このオプションは、空の生 TCP パケットに SYN フラグを設定して、スキャンリスト上の指定されたすべてのポートに送信します。そのポートがクローズであることを示す SYN/ACK TCP パケットが返された場合、および RST が返された場合、そのホストがオンラインであることを Nmap がレポートします。Nmap ホストマシンは、SYN/ACK 応答が予期せぬ結果となっているため、ACK ではなく RST を使用して nascent 接続を遮断します。複数のポートプローブが指定されている場合は、並列送信されます。 要件:
|
| -PA | パケットフィルタリングデバイスを検出します。このオプションは、指定されたポートのリストを使用する TCP ACK ホストのディスカバリーです。リストが定義されていない場合は、デフォルトのポート 80 が使用されます。 Nmap は、空の生 TCP パケットに ACK フラグを設定して送信します。このアクションは、確立された TCP 接続を介してデータを確認し、リモートホストが RST パケットで応答するようにします。リモートホストが RST パケットを使用して応答する場合、Nmap はホストがオンラインであることを認識します。ACK ping プローブは、ステートレスのパケットフィルタリング、ネットワークエンティティ (ファイアウォール、ルーター、ホストルーティングテーブル / ファイアウォールソフトウェアなど) によって、TCP SYN パケットの過去のパケットフィルタリングを取得することができます。ステートフルのファイアウォールは予期しないパケットをドロップするので、ACK パケットがドロップされ、これにより SYN TCP プローブが通過する可能性が高くなります。 要件:
注: 同じスキャンの試行で、Ping SYN (-PS) と Ping ACK (-PA) の両方のパケットタイプを一緒に設定できます。 |
| -O | ベンダー名、基礎となる OS、OS 生成、およびルーターやスイッチなどのデバイスタイプを提供するリモートホストに対して OS 検出を有効にします。 Nmap は TCP/IP スタックフィンガープリントを使用して、ホストで実行されている OS ファミリーを判断します。Nmap は一連の TCP および UPD パケットをホストに送信し、応答を調べます。応答をテストした後、Nmap はその結果を nmap-os-db データベースと比較し、一致するものがあれば OS の詳細を出力します。Nmap が OS を推測できず、少なくとも 1 つのオープンなポートと 1 つのクローズポートが見つかった場合、nmap.org に送信するためのフィンガープリントと URL が生成されます。 OS 検出では、Nmap スクリプトエンジン (NSE) からのスクリプトは使用されません。OS 検出は、アプリケーション / サービスバージョン検出後に実行され、OS 検出の精度を向上させることができます。ただし、2 つのスキャンタイプの結果は、矛盾している可能性があります。OS 検出は TCP トランスポートレイヤーで実行され、アプリケーション / サービスバージョン検出は TCP スタックの上位レベルで実行されます。 要件:
|
| -p | スキャンするポートのリスト。 |
| -T4 | Nmap アグレッシブタイミングテンプレート。 |
| -v | 冗長詳細を有効にします。通常、このコマンドは、標準出力のビューアーに進捗状況を示すために使用されます。ただし、これにより、Nmap スクリプトエンジン (NSE) スクリプトから詳細を提供することができます。 |
| -Pn | デフォルトの ping を無効にします。このコマンドは、最初の Nmap ホストディスカバリースキャンフェーズをスキップし、すべてのホストをオンラインであるものとして扱います。デフォルトのディスカバリープローブによって実行される一連のポートがオープンポートを見つけられない場合でも、ポートスキャンを実行するにはこのコマンドを使用します。 |
| -r | ランダム表示を使用せずにポートを連続スキャンします。 |
| --reason | Nmap が特定の状態のポートを分類する理由について説明します。 |
| --system-dns | DNS ネームサーバーではなく、逆引き DNS ルックアップ用にオペレーティングシステムの DNS リゾルバーを使用します。このオプションは、一度に 1 つの IP アドレスしか解決できず、複数の rDNS 要求が並行して実行されるため、DNS サーバーを使用する場合よりも遅くなります。ただし、返される値は、ホスト CI の作成に使用される MID サーバーによって返される値と一致します。 |
| -X - | stdout を XML ファイルにリダイレクトします。 |
| 2> <file-path> | Nmap が stderr に書き込んだエラーメッセージを指定されたファイルにリダイレクトします。 |
アプリケーションディスカバリー中に Nmap によって返されるデータ
- ポートステータス:
- オープン:アプリケーションはポート上で TCP (または UDP) パケットをアクティブに受け入れています。
- オープン|フィルタリング済み:Nmap は、ポートがオープンまたはフィルタリングされているかどうかを判断できません。Nmap の UDP、IP プロトコル、FIN、NULL および Xmas スキャンを使用している場合、オープンポートが応答を返さないことがあります。
- サービス名:サービスポート上で TCP (または UDP) パケットをアクティブに受け入れるサービスの名前です。
- サービス製品:Nmap によって識別され、オープンポートで実行されているアプリケーションの名前です。
- 追加のサービス情報:Nmap によって返され、ディスカバリーがアプリケーションの識別に使用できる追加情報です。
アプリケーションディスカバリー中に Nmap によって実行されるコマンド
MID サーバーは、リモートホストの 1 つの IP アドレスを Nmap コマンドとスキャンする 1 つのポートに渡します。Nmap は、ポートをアクティブにリッスンするアプリケーションを識別し、新しい CI を作成するか既存の CI を更新するかを判断します。このホストは、Nmap により稼働状態であるとレポートされているはずです。
- サービス製品
- サービス名
- その他のサービス情報
- スキャンされたポートのステータス注:サービス製品とサービス名の値を NULL にすることはできません。サービス名の末尾に疑問符を付けることはできません。Nmap は、スキャンされたポートをリッスンするアプリケーションで、推測するサービス名に疑問符を追加します。Nmap がその静的 nmap-services レジストリーファイルからアプリケーション名を取得できない場合、インスタンスはアプリケーション CI を作成または更新しません。
| コマンド | 説明 |
|---|---|
| -sS | TCP SYN (ステルス) ポートスキャン。これはデフォルトのスキャンオプションであり、TCP 接続を完了しません。スキャンでは、オープン、クローズ、またはフィルタリング済み のポートを区別できます。 TCP SYN スキャンは、接続が確立される前に要求を中止する半オープンリセットを実装します。SYN/ACK が返された場合、ポートはオープンになっています (アプリケーションはリッスン中です)。RST が返されると、ポートはクローズになります。複数回の再送信後に応答が受信されない場合、ポートは「フィルタリング済み」とマークされます。また、ポートは、ICMP 到達不能エラー (タイプ 3、コード 1、2、3、9、10、13) を受信した場合も、フィルタリング済みとマークされます。 要件:
|
| -sV | オープンポートをプローブして、サービスプロトコル、アプリケーション名、バージョン番号、ホスト名、デバイスタイプ、OS ファミリー、および SSH プロトコルバージョンなどのその他の詳細を判別します。 Nmap が応答を受信する場合、データベースと一致させることはできません。nmap.org に送信するためのフィンガープリントと URL が出力されます。ポート上でアクティブにリッスンしている可能性があるアプリケーションサービスの名前を判別するために、静的 nmap-services レジストリーファイル内のポート番号を検索します。Nmap によって返されるサービス名には、Nmap がその ID を推測する必要があることを示す疑問符が追加されます。オープンポートで実行されているアプリケーションで Nmap が推測する際、インスタンスはアプリケーション CI を作成または更新しません。 注: このコマンドは、生のパケット権限を必要としません。 |
| --datadir | アプリケーション / バージョンディスカバリー中に実行される Nmap スクリプトの安全なセットが含まれているディレクトリーへのパスです。 |
| -p | スキャンする単一ポートです。 |
| -T4 | Nmap アグレッシブタイミングテンプレート。 |
| -v | 冗長詳細を有効にします。通常、このコマンドは、標準出力のビューアーに進捗状況を示すために使用されます。ただし、これにより、Nmap スクリプトエンジン (NSE) スクリプトから詳細を提供することができます。 |
| -Pn | デフォルトの ping を無効にします。このコマンドは、最初の Nmap ホストディスカバリースキャンフェーズをスキップし、すべてのホストをオンラインであるものとして扱います。デフォルトのディスカバリープローブによって実行される一連のポートがオープンポートを見つけられない場合でも、ポートスキャンを実行するにはこのコマンドを使用します。 |
| -r | ランダム表示を使用せずにポートを連続スキャンします。 |
| --reason | Nmap が特定の状態のポートを分類する理由について説明します。 |
| --system-dns | DNS ネームサーバーではなく、逆引き DNS ルックアップ用にオペレーティングシステムの DNS リゾルバーを使用します。このオプションは、一度に 1 つの IP アドレスしか解決できず、複数の rDNS 要求が並行して実行されるため、DNS サーバーを使用する場合よりも遅くなります。ただし、返される値は、ホスト CI の作成に使用される MID サーバーによって返される値と一致します。 |
| -X - | stdout を XML ファイルにリダイレクトします。 |
| 2> <file-path> | Nmap が stderr に書き込んだエラーメッセージを指定されたファイルにリダイレクトします。 |