Shikata Ga Nai

Private? There is no such things.

Nmapで開いているポートを特定する方法についてかいてみた

Hello there, ('ω')ノ

 

まずは、Nmapに存在する6つのポートのステータスから。

 

open:

 ポートが機能していて、サービスを実行またはアクセスしていることで。

 このポートで使用中のプロトコルとサービスに従って行われた接続を受け入れて。

 

closed:

 閉じたポートはどのサービスからもアクセスされておらず、サービスは実行されず。

 よって、これらのポートでは外部からの接続は成功しなくて。

 

Filtered:

 応答が受信されなかったポートに関連付けられて。

 中間のネットワーク保護デバイスが原因である可能性があって。

 

unfiltered:

 開いているか閉じているかを判別できなかったポートに関連付けられて。

 ACKスキャンはポートをフィルタリングされていない状態にラベル付けして。

 SYNやFINなどのスキャンは、このような問題の解決に役立って。

 

Open | filtered:

 Nmapは、ポートからの応答がないときに、このタイプのポートを分類します。

 UDP、IPプロトコル、FIN、NULL、Xmasスキャンが関連付けられて。

 

closed | filtered:

 開いているか閉じているかを判別できなかったポートに関連付けられて。

 アイドルスキャンのみがこのステータスを使用して。

 これらのスキャンタイプは、生のパケットの作成と送信にアクセスできるので。

 管理者にのみ許可されて。

 

ーーーーーーーーーー

 

-sS(TCP SYNスキャン):

 TCPは接続前に3ウェイハンドシェイクが必要でハーフオープンスキャンと呼ばれ。

 リモートポートがTCP ACKで応答するTCP SYNパケットを生成して。

 SYN / ACKパケットを送信する代わりに、RSTフラグを送信して。

 ハンドシェイクを破棄し、接続を防止して。

 SYNパケットがACKまたはSYNパケットを応答として受信するとポートが考慮され。

  例:nmap –v –sS 192.168.1.137

 

-sT(TCP接続スキャン):

 ユーザがrawパケットを送信するために必要な権限を持っていない場合や。

 SYNスキャンがオプションでない場合、TCP接続スキャンが使用されて。

 3ウェイハンドシェイクを実行しポートが開いていると見なすための接続を作成し。

  例:nmap –v –sT 192.168.1.137

 

-sU(UDPスキャン):

 53や61などの既知のポートにパケットを送信し、すべてのポートで実行できて。

 パケットを有名なポートに送信し、汎用UDPパケットを残りのポートに送信して。

 スキャンされたポートがICMP到達不能エラーだと、ポートは閉じられていて。

 ただ、ポートからの応答がない場合はオープンフィルター済みとしてマークされ。

 ポートがサービスを実行して開いているかどうかを確認するために実行できて。

 

-sY(SCTP INITスキャン):

 SCTP INITスキャンについては、前回説明した通りで。

 このスキャンを実行するには、実行中のSCTPモジュールが必要で。

 

-sN; -sF; -sX(TCP NULL、FIN、およびXmasスキャン):

 FIN、PSH、URGなどの異なるフラグを使用してパケットを作成すできて。

 フラグが設定されていない場合は、ヌルスキャンと呼ばれて。

 FINフラグが設定されている場合は、FINスキャンと呼ばれて。

 3つすべてのフラグが設定されている場合はXmasスキャンと呼ばれて。

  例:nmap –v –sN 192.168.1.137

 

-sA(TCP ACKスキャン):

 TCP ACKスキャンについては、前回説明した通りで。

 

-sW(TCPウィンドウスキャン):

 受信したRSTパケットのTCPウィンドウフィールドの値によって機能して。

 たいてい、閉じたポートのRSTパケットに対してゼロのウィンドウがあって。

 開いているポートに対して正の値があって。

 RSTパケットが受信されると、ポートが閉じられたものとしてリストされて。

 

--scanflags(カスタムTCPスキャン):

 TCPにフラグ(URG、SYN、ACK、FIN、PSH、URG、RSTなど)を設定できて。

 

-sO(IPプロトコルスキャン):

 TCP、UDP、ICMP、IGMPなどのスキャンが実行されるプロトコルを定義できて。

 したがって、プローブ用に特定のパケットが作成されて。

 

-b <FTPリレーホスト>(FTPバウンススキャン):

 1つのFTPホストに接続してから引数の別のFTPホストにファイルをリレーできて。

 

Best regards, (^^ゞ