[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

SYNスキャン

pointこの用語のポイント

pointポートスキャンのやり方のひとつだよ

pointSYNパケットを送って、応答を見るよ

pointスキャンの痕跡を残さないやり方だよ

スポンサーリンク

簡単に書くよ

SYNスキャンとは

ポートスキャンのやり方のひとつ
であり

SYNパケットを送ってみて応答があるか確認することで開いているポートを探すやり方
です。

image piyo

詳しく書くよ

順番に見ていきましょう。
まずは「SYNパケット」と「ポート」あとは「ポートスキャン」について説明します。
「そんなの説明されなくても知ってるよ!」な人は、適当に読み飛ばしてください。

SYNパケットは「こっちから何か送っても、いいかなー?」な質問に相当するデータです。
3ウェイハンドシェイク」と呼ばれるやり方で通信をしていて、接続したいときに相手に送ります。
きちんと説明すると長くなるので、詳細には触れません。
興味がある方は用語「SYNパケット」の説明を、ご覧ください。

SYNスキャン

ポートは「ネットワークからパソコンさんにお邪魔するときに通るドア」です。
パソコンさんには、番号の振られたドアが、たくさん付いています。

SYNスキャン2

通信において何かを受信する際には、ネットワークを通ってきたデータが、たくさんあるドアのどれかを通ってコンピュータに入ってきます。

SYNスキャン3

逆に送信する際には、たくさんあるドアのどれかを通って、データがネットワークの世界に出ていきます。

SYNスキャン4

コンピュータには、たくさんのドアが付いています。
そして、データの種類によって、どのドアを通るか決まっている……こともあれば、決まっていないこともあります。

例えば、インターネットのデータは80番のドアを通ると決まっています。

SYNスキャン5

FTP(インターネットの線を使ってファイル送受信する仕組み)のデータは20番とか21番のドアを通ります。
ここでは便宜上、20番のドアを通ることにしておきましょう。

SYNスキャン6

telnet(他のコンピュータを遠隔操作するときに使う仕組み)のやり取りは23番のドアを使うことになっています。

SYNスキャン7

このように「○番のドアは、××のデータが通るね」と用途が決まっているドアもあれば「△番のドアは、使いたい人が好きに使いなよ」と用途が決まっていないドアもあります。

これらのドアがポートです。
コンピュータとネットワークの間にあるドアで、ネットワークとコンピュータの間を行き来するデータが通ります。

ここまでの説明のポイントは

・ネットワークとコンピュータをつなぐドア(出入口)がポート
・ポートには番号が付いている
・コンピュータには、たくさんのポートがある


の3つです。
覚えておいてください。

また、これらのドアは、必ず通れるとは限りません。
カギがかかっている場合が、あります。

例えば「俺はtelnetなんて使わないぜ!」な人がパソコンさんの23番ドアにカギをかけたとしましょう。
その場合、そのコンピュータに対してtelnetで接続しようとしても、できません。
telnetでパソコンにお邪魔するときに使う23番ドアが通れないからです。

SYNスキャン8

先ほど説明した

・ネットワークとコンピュータをつなぐドア(出入口)がポート
・ポートには番号が付いている
・コンピュータには、たくさんのポートがある


に加えて

・カギがかかっているポートは通れない

も覚えておいてください。

以上がポートの説明です。

ポートスキャンは「このドアはカギが、かかってないかな~?」と、いろんなドアを片っ端からガチャガチャやってみる行為です。

SYNスキャン9

具体的には、適当な番号を指定してドア(ポート)に接続してみます。
例えば、20番ドアを指定したとしましょう。

SYNスキャン10

接続できれば、20番ドアにカギがかかっていないと分かります。
確か20番ドアはFTP用のドアでした。
ということは、FTP接続できそうですね。

SYNスキャン11

接続できなければ、20番ドアにカギがかかっているっぽいと分かります。
FTP接続できなさそうだと判断できます。

SYNスキャン12

あとは、これの繰り返しです。
片っ端から試すことで、カギのかかっていないドア(開いているポート)を探すのが、ポートスキャンです。

以上を踏まえて、ポートスキャンの一種で「SYNパケットを適当なポートに送りつけて、応答を確認することで開いているポートを探すやり方」が「SYNスキャン」です。
SYNパケットを送り付ける行為が、ドアをガチャガチャやる行為に相当します。

SYNスキャン13

例えば、ピヨ太君が80番ポートにSYNパケットを送りつけたとしましょう。

SYNスキャン14

80番ポートが開いていると「SYN+ACKパケット」と呼ばれるデータが返ってきます。

SYNスキャン15

SYN+ACKパケットは「いいよー」な返事に相当するデータと「こっちからも送って、いいかなー?」な質問に相当するデータが合体したデータです。

SYN+ACKパケットが返ってくればポートは開いています。
何も返ってこなかったり違うのが返ってきたら閉じています。

これでピヨ太君は、80番ポートが開いているか分かりました。
目的達成です。

次にピヨ太君は「RSTパケット」と呼ばれているパケットを送ります。

SYNスキャン16

RSTパケットは「お断りの連絡パケット」です。
「あ~、やっぱ接続しなくていいや。さっきのは、なしで!」と連絡したことになります。

少し話がそれますが、なんでRSTパケットを送るかというと、痕跡を残さないためです。
ピヨ太君は最終的に接続するのを断りました。
結果として、接続されていません。
だから、相手コンピュータの「自分に接続した人の記録」に残らないのです。

話を戻します。

ピヨ太君は、(痕跡を残さないで)80番ポートが開いているかを確認できました。
あとは、これの繰り返しです。

片っ端からSYNパケットを送ってみて、応答の有無や内容でポートが開いているか確認するのがSYNスキャンです。

SYNスキャンのメリットは……って、詳しく書いていって大丈夫なんですかね。
いろんなところで説明されているので大丈夫だとは思いますが、ちょっと心配です。
とりあえず、スキャンの痕跡を残さないで済むのがメリットです。
あとの詳しいことは他のところで勉強してください。

SYNスキャンをはじめ、ポートスキャンは悪いことに分類される行為です。
他人のコンピュータに対してやると、不正行為と見なされかねません。
試してみたい人は自分のコンピュータに対して、やってくださいね。

image piyo2

一言でまとめるよ

まぁ「SYNスキャン」って単語が出てきたら「SYNパケットを送って応答を見ることで有効なポートを確認するポートスキャンのやり方なんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク