2012年と2013年に、私はScanning Open Ports in Windowsという記事をいくつか書きました。 A Quick Guide」と「Scanning Open Ports in Windows: この記事では、一連の小さなユーティリティを使用して、開いているポートを表示し、クライアントまたはサーバー側のアプリケーションのネットワーク接続の問題をトラブルシューティングする方法について説明しました。 この記事は現在でも適切なものですが、今回はその続きとして、NMAP を使用してオープン ポートをチェックする方法について説明します。
Nmap (http://nmap.org)
Nmap は、ネットワーク検出およびセキュリティ監査に使用する、フリーでオープン ソースのマルチプラットフォーム ネットワーク セキュリティ スキャナーです。 とりわけ、ネットワークインベントリの作成、サービスのアップグレードスケジュールの管理、ホストまたはサービスのアップタイムの監視、ホスト上のオープンポートやサービスのスキャンが可能です。
この投稿では、オープンポートをスキャンするための Nmap の使用方法に焦点を当てます。 Nmap は、調査中の問題の根本的な解決、ファイアウォール ルールの検証、またはルーティング テーブルが正しく構成されていることの検証に非常に役立ちます。
始めるには、nmap.org WebサイトからNmapをダウンロードしてインストールし、コマンド プロンプトを立ち上げます。
nmapまたはnmapと入力するとデフォルト スキャンが開始されます。 デフォルトのスキャンでは、1000の一般的なTCPポートを使用し、ホスト検出が有効になっています。
ホスト検出では、ホストがオンラインかどうかを確認するためのチェックが実行されます。
注意: nmap.scanme.org は、NMAP チームがツール機能のテストを可能にするために立ち上げたサーバーです。
返された情報は、PORT | STATE | SERVICEであることに気づくだろう。 コマンドを深く掘り下げる前に、異なる「状態」が何を意味するのかを知っておくことは重要だろう。 Nmapリファレンスガイドにかなり包括的な説明がありますが、ここで簡単にまとめておきます。
STATE | 説明 |
Open | ターゲットポートはTCP/UDP/SCTPリクエストに積極的に応答している状態です。 |
Filtered | ファイアウォールまたはパケットフィルタリングデバイスがポート状態の返送を妨害しています。 |
Unfiltered | ターゲットポートに到達可能ですが、Nmapはそれが開いているか閉じているかを判断できません。 |
Open/Filtered | Nmapはターゲットポートが開いているかフィルタリングされているかを判断することができません。 |
Closed/Filtered | Nmapはターゲットポートが閉じているかフィルタリングされているか判断できません。 |
次に、オープンポートのスキャンに使用できるコマンドを見ていきましょう。
Nmapのポートスキャンコマンド
「-open」パラメータ
以下のいずれのコマンドでも、Nmapコマンドに「-open」パラメータを指定して、Nmapに「オープン」状態のポートだけを表示させることができる。
nmap -open
単一のポートをスキャンする
nmap -p 80
このコマンドはターゲットホストに対するデフォルトスキャンを開始し、ポート80を検索する。
特定範囲のポートをスキャンする
nmap -p 1-200
このコマンドは、ターゲットホストに対してデフォルトスキャンを開始し、1~200 の範囲内のポートを検索するように指示します。
ポート範囲全体をスキャンする
nmap -p-
このコマンドは、ターゲットホストに対して、すべてのポート (1-65535) を探すためにスキャンを開始する。
上位 100 ポートのスキャン (高速スキャン)
nmap -F
このコマンドは、上位 100 一般 TCP ポートのみを検索するターゲットホストに対して高速スキャンを開始します。
Scan multiple TCP/UDP ports
nmap -p U:53,67-68,T:21-25,80,135
This command will start a scan against the target host looking only for specified UDP and TCP ports.
Scan for specific service names
nmap -p http,ssh,msrpc,microsoft-ds
The command is initiated ports for the target host searching with specified service names.This command is started a scan for the target host looking with specified service names.This command has been used in your host.
TCP SYN スキャン (デフォルト)
nmap -sS
このコマンドは、ターゲットホストの TCP SYN スキャンを開始します。 TCP SYNスキャンは、ターゲットホストにSYNパケットを送信し、応答を待つ。 ACKパケットを受信した場合、これはポートが開いていることを示す。 RSTパケットを受信した場合、これはポートが閉じていることを示す。 複数の送信後に応答がない場合、ポートはフィルタリングされていると考えられます (送信元と送信先の間のデバイスまたはアプリケーションがパケットをフィルタリングしています)。
TCP connect scan
nmap -sT
このコマンドによりターゲットホストに対して TCP 接続スキャンが開始されます。 TCPコネクトスキャンは、TCP SYNスキャンができない場合に実行される既定のスキャンである。 このタイプのスキャンは、基礎となるオペレーティングシステムが「connect」システムコールを使用してターゲットホスト/ポートに接続しようとすることを要求します。
UDP port scan
nmap -sU
このコマンドは、ターゲットホストに対して UDP ポートスキャンを開始させるものです。 UDPスキャンは、ターゲットポートにUDPパケットを送信する。 応答を受信した場合、そのポートはオープンとして分類される。
SCTP INIT scan
nmap -sY
このコマンドは、ターゲットホストに対して SCTP INIT スキャンを開始させます。 SCTP INITスキャンはTCP SYNスキャンと似ているが、SCTPプロトコルに特化したスキャンである。 INITチャンクがターゲットポートに送信される。 INIT-ACKチャンクを受信すると、そのポートはオープンとして分類される。 ABORTチャンクを受信した場合、そのポートはクローズとして分類される。 Nmap のインストール・パッケージには、Zenmap と呼ばれる Nmap 用のフロントエンド GUI が付属しており、コマンドラインではなくユーザー・インターフェースから Nmap を制御するために使用されます。 カスタマイズされたスキャンオプション、スキャンターゲット、Pingオプション、スクリプト、およびパフォーマンスオプションを含むプロファイルを設定することができます。 これを行うには、プロファイル > New Profile or Commandに進みます。
スキャンプロファイルのデフォルトリストは、プロファイル > Edit Selected Profileでそれぞれの説明とオプションを確認することができます。
スキャンが完了すると、結果は ‘Nmap Output’ タブに表示され、さらに詳細な内訳は Ports/Hosts, Topology, Host Details, および Scans タブに表示されます。
Ports/Hosts タブに移動すると、ターゲット ホストで見つかったすべてのオープン ポートの詳細なリストが表示されます。 これを行うには、ツール > [結果の比較] を実行します。 これは、2つのホストが同じオープンポートのリストを持っているかどうかを確認するのに便利です。
オープンポートをチェックするために使用している他のフリーまたはオープンソースツールをご存知ですか? もしあれば、ぜひ教えてください。
END
SEOの練習です。 ストーリーテリングのポッドキャストを聴くにはこちら
こちらもどうぞ。
- The top 20 free Network Monitoring and Analysis Tools for…
- The ultimate network security checklist
Get your free 30-day trial
Get immediate results.The innovative network security checklist
Get your free 30-day trial
Get immediate results. 30日間のトライアル初日の最初のスキャンで、どこに脆弱性があるのかを特定します。 すべての問題を解決するために必要なステップを踏みます。