FINフラグをオンにしたパケットを送り、その応答を見ることにより、ポートの状態を調べる手法です。
サーバー側の反応を見るという点ではTCPハーフスキャンと同じですがコネクションの確立要求は一切行いません。
いきなりFINフラグをオンにしたパケットを送り、その応答で、ポートがopenかcloseかを調べます。
FINフラグはTCPコネクションを切断するときに使います。
FINフラグがオンになったパケットを送り、相手からACKパケットを受信した段階で、FINフラグをオンにしたパケットを送信した側から相手に向かう通信路が切断されます。
そして、ACKパケットに続いて、FINフラグをオンにしたTCPヘッダを送信することによって、逆方向の通信路も切断されます。
このようにしてTCPコネクションが完全に切断されます。
TCPコネクションが存在しないのにFINフラグをオンにしたパケットを受け取ったサーバーは次のような反応をします。
ポートがopen状態の場合。
FINパケットを無視します。
ポートがclose状態の場合。
RSTフラグがオンになったパケットを送り、通信を強制終了させようとします。
整理するとFINパケットを送って返事がなければopen、RSTパケットが返ってくればcloseと判断できます。
TCP FINスキャンもサーバーに記録が残りにくいため、ステルススキャンのひとつということになっています。
TCP FINスキャンでも短時間に大量のFINパケットが送出されるので、単位時間当たりの受付パケット数を制限しておくことが有効な対策になります。
このページのトップへ