Nmap 使用法チュートリアル グラフィック チュートリアル (超詳細)

ここに画像の説明を挿入

kali コマンド ラインでnmapコマンドを直接使用し、 「ターミナル」を開き、nmapと入力して Enter キーを押すと、 nmapが使用可能であることを証明するnmapのバージョンが表示されます

ここに画像の説明を挿入

Nmapには、「ポートスキャン」「ホスト検出」「サービス識別」「システム識別」の4つの基本機能があります。


1.ポートスキャン

ホストの「開いているポート」をスキャンし、nmap の背後にあるホスト IP を直接たどります (デフォルトで 1000 ポートがスキャンされます)。

nmap 192.168.31.180

ここに画像の説明を挿入
上の図からわかるように、1.58 秒で 1000 個のポートをスキャンし、そのうち 991 個が閉じられており、結果にリストされている 9 個のポートは開いているポートです。

1. ポートを指定する

「指定されたポート」をスキャンし-pパラメーターを。単一のポート、複数のポート、またはポートの範囲をスキャンできます

nmap 192.168.31.180 -p 80
nmap 192.168.31.180 -p 1-80
nmap 192.168.31.180 -p 80,3389,22,21
nmap 192.168.31.180 -p 1-65535
nmap 192.168.31.180 -p-		# -p- 等价于 -p 1-65535

ここに画像の説明を挿入

2. スキャン方法を指定する

Kali の「wireshark」を使用して、さまざまなスキャン方法のリクエスト情報を分析し、これらの方法の違いを判断します。

kali の左上隅をクリックし、wiresharkと入力して [開く] をクリックし、パケット キャプチャ用のネットワーク カードを選択します (I am eth0 here )。

ここに画像の説明を挿入

フィルタ基準を入力したらip.addr == 192.168.31.180 and tcp.port == 80、矢印をクリックして適用します。

ここに画像の説明を挿入
このフィルター条件は、フィルター IP アドレスが 192.168.31.180 で、ポートが TCP ポート 80 であることを意味します。

フィルタ条件を設定した後、コマンド ラインで scan コマンドを実行し、「wireshark」で要求パケットを表示します。


2.1 TCP フル接続スキャン

-sTパラメータを使用して、TCP フル接続スキャンを実行します。

「フル接続スキャン」は、完全なスリーウェイ ハンドシェイクを使用してリンクを確立し、リンクが確立された場合はポートが開いていると判断し、リンクが確立されていない場合はポートが閉じていると判断します。

nmap 192.168.31.180 -p 80 -sT

1) ポートが開いている場合、完全なスリーウェイ ハンドシェイクが実行され、接続が正常に確立されます. スキャン結果の STATE フィールドは open と表示されます.

ここに画像の説明を挿入

2) ポートが閉じている場合、ハンドシェイクが 1 回しか実行できず、接続を確立できないため、スキャン結果の STATE フィールドはclosedと表示されます。

ここに画像の説明を挿入

2.2 SYNセミリンクスキャニング

-sSSYN セミリンク スキャンのパラメータを使用します。

「セミリンクスキャニング」はハンドシェイクを2回行うだけで、相手は確認応答フレーム(ACK=1)を返すことでポートが開いていると判断し、それ以外はポートが閉じていると判断します。

nmap 192.168.31.180 -p 80 -sS

1) ポートが開いている場合、2 つのハンドシェイクが実行され、スキャン結果の STATE フィールドはopenです。

ここに画像の説明を挿入

2) ポートが閉じている場合、ハンドシェイクは 1 回だけで、スキャン結果の STATE フィールドはclosedです。

ここに画像の説明を挿入

2.3 ステルススキャン

ステルス スキャン。Linux システムにのみ適用されます。

「Secret Scan」は、TCP FINパケットまたはXmas treeパケットまたはNullパケットを対象ホストのポートに送信し、RST応答パケットを受信した場合はポートが閉じていると判断し、それ以外の場合はポートが開いていると判断します。ブロック (オープン/フィルタリング)

nmap 127.0.0.1 -p 80 -sF	# Fin扫描
nmap 127.0.0.1 -p 80 -sN	# Null扫描(所有flags都为0的TCP包)
nmap 127.0.0.1 -p 80 -sX	# Xmas扫描(flags的FIN、URG、PUSH都为1的包)

2. ホスト検出

ネットワーク セグメントでオンラインになっているホストをスキャンします。-sPパラメーター。ポートはスキャンせず、 「サバイバル ホスト」のみをスキャンします。

要するにPingのスキャンで、Pingが成功して応答パケットがあれば、ホストがオンラインであると判断します。

nmap -sP 192.168.31.0/24

ここに画像の説明を挿入
上の図からわかるように、このネットワーク セグメント内の 256 個の IP を 2 秒間でスキャンし、3 つのホストが生き残っており、効率は非常に良好です。


3. サービス識別

ポートをスキャンすると、デフォルトでポートに対応するサービスが表示されますが、サービスのバージョンは表示されません。

特定の「サービス バージョン」を識別するには、-sVパラメータ。

nmap 192.168.31.180 -p 80 -sV

ここに画像の説明を挿入
スキャン結果の VERSION フィールドには、サービスの詳細なバージョンが表示されます。

4. システム識別

「オペレーティング システムのバージョン」を識別するには-Oパラメータ。

nmap 192.168.31.180 -p 80 -O

ここに画像の説明を挿入
ヒント:

  1. Nmap によってスキャンされたシステム バージョンは、完全に正確ではなく、参考用です。
  2. 特定のバージョンを識別できない場合、Nmap は、上の図に示すように、可能性のあるオペレーティング システムを確率の形式で一覧表示します。

5.スキャン結果のエクスポート

Nmap のスキャン結果は、テキスト形式や XML 形式などのファイルに保存できます。

1) スキャン結果を「テキスト形式」でエクスポートし、結果をそのまま保存します。

nmap 192.168.31.180 -p 80 -oN result.txt

ここに画像の説明を挿入

2) スキャン結果を「xml 形式」にエクスポートすると、結果の保存形式が変わります。

nmap 192.168.31.180 -p 80 -oX result.xml

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/wangyuxiang946/article/details/127710186