読み方 : フィンパケット
FINパケット【finish packet】FIN packet/TCP FINパケット
概要

TCP(Transmission Control Protocol)はトランスポート層のプロトコルの一つで、データを送受信する前に両者間でコネクションを確立する。通信中は信頼性の高い双方向のデータ転送が行われ、終了時には所定の手順を経てコネクションを解消する。
通信の終了を希望する側がFINパケットを送信すると、受信した側はACKパケットで応答する。その後、受信側も自身の送信処理が完了した段階でFINパケットを送り、最初の送信側がACKで応答することで接続が閉じられる。この一連の手順は「4ウェイハンドシェイク」と呼ばれる。FINパケットは「これ以上送信するデータはない」ことを示すに留まるため、片方向の送信のみが終了した半閉鎖(Half Close)の状態が生じることがある。この間、反対方向のデータ受信は継続される。
TCPには接続を即座に破棄する「RSTパケット」も存在する。RSTパケットはRSTフラグが「1」に設定されたTCPパケットで、異常な接続や不要なコネクションを強制的にリセットする。ハンドシェイクを経て双方が終了を確認し合うFINパケットとは区別される。
コネクションが確立されていない相手に対していきなりFINパケットを一方的に送りつけ、その応答の有無でポートの開閉状態を調べる手法を「FINスキャン」という。ポートが閉じている場合はRSTパケットが返り、開いている場合は応答が返らないというオペレーティングシステム(OS)の挙動の違いを利用するものである。通常の接続シーケンスを踏まないため、簡易なファイアウォールをすり抜けやすいとされ、偵察段階で行われるポートスキャンの一手法として位置づけられる。
(2026.6.14更新)