Nmapを使用してTcpポートをスキャンする方法

ネットワーク上で実行されているサービスを正確に識別する重要な方法は、ポートスキャンを実行することです。 ポートスキャンを実行すると、コンピュータとネットワークの攻撃対象領域の正確な概要を知ることができます。 場合によっては、予期しないサービスが実行されていることに気付くことがあります。

伝送制御プロトコル(TCP)は、ネットワークを介したコンピューター間の接続を可能にする標準です。 TCPは、スリーウェイハンドシェイクを使用して接続を開き、タイムアウトするか接続が閉じられるまで開いたままになります。 これは、接続が常にデータを送信しているという意味ではありません。これは、両方の当事者が接続の詳細を保存し、すぐにデータの送受信を再開できることを意味します。

Nmapは、ポートスキャンを実行するための標準ツールです。 主にLinuxで実行するように設計されていますが、Windowsバージョンもあります。 グラフィカルインターフェイスも利用できますが、コマンドラインの使用法は依然として標準です。

Nmapの使用方法

LinuxマシンにNmapがインストールされているかどうかをテストするには、コマンド「nmap」を実行します。 ヘルプページが表示されたら、インストールされて実行できる状態になっています。コマンドが「見つかりませんでした」というエラーが表示された場合は、Nmapをインストールする必要があります。

ヘルプページは非常に密度が高く、混乱を招く可能性のある多くのオプションが表示されます。 TCPポートをスキャンするために必要な基本は比較的単純です。 必要な基本構造は「nmap [スキャンの種類] [オプション] {ターゲット仕様}」です。

TCPポートをスキャンするには、TCPまたはSYNの2つのスキャンタイプのいずれかを使用する必要があります。 TCPスキャンは、各ポートへの完全な接続を試み、3ウェイハンドシェイクを完了します。 SYNスキャンはプロトコルをわずかに乱用し、スリーウェイハンドシェイクの3番目のメッセージを送信することはありません。 デバイスが一度に多くの接続を開いたままにする必要がないため、SYN​​スキャンはシステムリソースへのストレスが少ないことがよくあります 接続が完全に確立されることはないため、TCPスキャンよりも高速に実行されますが、ルートが必要になります 権限。 TCPスキャンは「-sT」フラグで指定され、SYNスキャンは「-sS」で指定されます。

ヒント:スリーウェイハンドシェイクはTCP接続を初期化する方法であり、3つのメッセージが含まれます。 「SYN、SYN-ACK、およびACK」は、クライアントからサーバー、サーバーからクライアント、次にクライアントからサーバーに送信されます それぞれ。

スキャンオプションを指定する方法

オプションセクションは完全にオプションですが、一般的に役立つものがいくつかあります。 「-v」を使用して冗長性を上げることで、より詳細なスキャン結果を有効にできます。「-vvv」を使用すると、冗長性をさらに3番目のレベルまで上げることができます。 「-A」フラグを使用すると、オペレーティングシステムの検出、バージョンの検出、スクリプトスキャン、tracerouteを実行できますが、実行にはかなり時間がかかります。

一度にIPv4またはIPv6アドレスのいずれかをスキャンできます。IPv4がデフォルトです。IPv6アドレスをスキャンする場合は、「-6」フラグを使用する必要があります。 Nmapがクイックpingスキャンを実行して、どのホットが発生しているかを判断する場合があります。これがテストするホストをスキップしている場合は、「-Pn」フラグを使用して無効にすることができます。 広い範囲を指定すると、スキャンに時間がかかる場合があります。 「-T4」フラグはスキャンをより高速に実行し、何も見逃す可能性は低く、トラフィック出力が大幅に増加するため、低速のネットワークやデバイスを圧倒する可能性があります。

IPアドレスとポート範囲を指定する方法

デフォルトでは、Nmapは最も一般的に使用される上位1000個のポートをスキャンします。「-p」フラグを使用し、スペースなしで範囲を指定することにより、ポート範囲を手動で設定できます。 ポート範囲は、コンマ区切り値、ハイフン付き範囲、またはその2つの組み合わせで指定できます。 たとえば、フラグ「-p22」、「-p1-65535」、および「-p21-25,80,139,8080」は、ポート22、1〜65535のすべてのポート、およびポート21〜25、80、239をスキャンします。 それぞれ8080。 上位[number]の最も一般的なポートをスキャンする代わりに、「– top-ports [number]」フラグを指定することもできます。 すべてのポートを指定する場合は、省略形の「-p-」を使用できます。

ヒント:ポート番号の範囲は0〜65535ですが、技術的には0は使用できません。

最後に指定する必要があるのは、テストするデバイスのIPアドレスです。 これを行うには、スキャンするすべてのIPアドレスをリストするだけです。これらはスペースで区切る必要があり、個別に、ハイフンでつながれた範囲で、またはCIDR表記でリストできます。 たとえば、「191.168.0.1」はその単一のIPアドレスをスキャンし、「192.168.0.1-5」はその間の5つのIPアドレスをスキャンします。 102.168.0.1と192.168.0.5、最後に「192.168.0.1/24」は192.168.0.1と192.168.0.1の間のすべてのIPアドレスをスキャンします 192.168.0.255.

全体的なコマンドは、次の例のようになります。「nmap -sS -vvv -A -p-127.0.0.1」、「nmap -sS -v -p80,443,8080 192.168.0.1/24」、「nmap -sS –top-ports 10000 -6:: 1”

使用する引数をまとめて、コマンドを実行します。