FINスキャン
ポートスキャンの やり方だよ
FINパケットを送って応答を見るよ
スキャンしているのがバレにくい やり方だよ
簡単に書くよ
FINスキャン(読:フィンスキャン 英:FIN scan)とは
ポートスキャン
(いろんなポートに片っ端から接続してみて、開いているポートを調べること)の やり方のひとつ
であり
FINパケット
(FINフラグ(とACKフラグ)に1がセットされたパケット)を送ってみて応答があるか確認することで開いているポート(ネットワークとパソコンの間にあるドア)を探すやり方
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・FINパケット
・ポート
・ポートスキャン
について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
FINパケットは「切断するねー、バイバイ」な連絡に相当するデータです。
「3ウェイハンドシェイク」と呼ばれるやり方で通信していて、接続を切りたいときに相手に送ります。
きちんと説明すると長くなるので詳細には触れません。
興味がある方は、用語「FINパケット」の説明を ご覧ください。
ポートは「ネットワークからパソコンさんに お邪魔するときに通るドア」です。
※話を単純化するために「パソコン」と書きましたが、その他のコンピュータ類でも同じです。
パソコンさんには番号を振られたドアが たくさん付いています。
通信において、データを受け取るときは、ネットワークを通ってきたデータが、たくさんあるドアの どれかを通ってコンピュータに入ってきます。
データを送るときは、コンピュータの中にあるデータが、たくさんあるドアの どれかを通ってネットワークの世界に出ていきます。
コンピュータには たくさんのドアが付いています。
データの種類によって どのドアを通るか決まっている……こともあれば、決まっていないこともあります。
例えば、インターネットのデータは80番のドアとか443番のドアを通ると決まっています。
FTP(インターネットの線を使ってファイルをやり取りする仕組み)のデータは20番とか21番のドアを通ります。
ここでは便宜上、20番のドアを通ることにしておきましょう。
telnet(他のコンピュータを遠隔操作するときに使う仕組み)のやり取りは23番のドアを使うことになっています。
このように「○番のドアは××のデータが通るね」と用途が決まっているドアもあれば「△番のドアは使いたい人が好きに使いなよ」と用途が決まっていないドアもあります。
これらのドアがポートです。
コンピュータとネットワークの間にあるドアです。
ネットワークとコンピュータの間を行き来するデータが通ります。
ここまでの説明のポイントは
・ネットワークとコンピュータをつなぐドア(出入口)がポート
・ポートには番号が付いている
・コンピュータには、たくさんのポートがある
の3つです。
覚えておいてください。
また、これらのドアは必ず通れるとは限りません。
カギが かかっている場合があります。
例えば「俺はtelnetなんて使わないぜ!」な人がパソコンさんの23番ドアにカギをかけたとしましょう。
その場合、そのコンピュータに対してtelnetで接続しようとしても できません。
telnetでパソコンにお邪魔するときに使う23番ドアが通れないからです。
先ほど説明した
・ネットワークとコンピュータをつなぐドア(出入口)がポート
・ポートには番号が付いている
・コンピュータには、たくさんのポートがある
に加えて
・カギが かかっているポートは通れない
も覚えておいてください。
ポートスキャンは「このドアはカギが、かかってないかな~?」と、いろんなドアを片っ端からガチャガチャやってみる行為です。
具体的には、適当な番号を指定してドア(ポート)に接続してみます。
例えば、20番ドアを指定したとしましょう。
接続できれば、20番ドアにカギが かかっていないと分かります。
確か20番ドアはFTP用のドアでした。
ということは、FTP接続できそうですね。
接続できなければ、20番ドアにカギが かかっているっぽいと分かります。
FTP接続できなさそうだと判断できます。
あとは、これの繰り返しです。
片っ端から試すことで開いているポート(カギのかかっていないドア)を探すのがポートスキャンです。
以上を踏まえて、ポートスキャンの一種で
FINパケットを適当なポートに送りつけて応答があるか確認することで開いているポートを探す やり方
が「FINスキャン」です。
FINパケットを送り付ける行為がドアをガチャガチャやる行為に相当します。
例えば、ピヨ太君が80番ポートにFINパケットを送りつけたとしましょう。
80番ポートが開いていると何も返ってきません。
80番ポートが閉じていると「RSTパケット」と呼ばれるデータが返ってきます。
これでピヨ太君は80番ポートが開いているか分かりました。
応答がない→開いている
応答がある→開いていない
と判断できるからです。
あとは、これの繰り返しです。
片っ端からFINパケットを送ってみて応答があるかどうかでポートが開いているか確認するのがFINスキャンです。
FINスキャンのメリットは……って、詳しく書いて大丈夫なんですかね。
いろんなところで説明されているので大丈夫だとは思いますが、ちょっと心配です。
とりあえず、スキャンしているのがバレにくいのがメリットです。
あとの詳しいことは他のところで勉強してください。
FINスキャンをはじめ、ポートスキャンは悪いことに分類される行為です。
他人のコンピュータに対してやると不正行為と見なされかねません。
試してみたい人は自分のコンピュータに対して、やってくださいね。
一言でまとめるよ
まぁ「FINスキャン」って単語が出てきたら「FINパケット
(FINフラグ(とACKフラグ)に1がセットされたパケット)を送って応答を見ることで有効なポート
(ネットワークとパソコンの間にあるドア)を確認する、ポートスキャン
(いろんなポートに片っ端から接続してみて、開いているポートを調べること)のやり方なんだな~」と お考えください。
おまけ
■訳してみるよ
「FIN」は今回は「FINパケット」の略です。
「scan(スキャン)」の意味は「精査する」とか「走査する」とか「検査する」とかです。
何となく くっつけると
FINパケットを使って検査する
となります。
■検索してみる?






