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

ハーフオープンスキャン

pointこの用語のポイント

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

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

pointスキャンしているのがバレにくい やり方だよ

スポンサーリンク

簡単に書くよ

ハーフオープンスキャン(英:half-open scan)とは

「SYNスキャン」のこと。
用語の中身としては

ポートスキャン(いろんなポートに片っ端から接続してみて、開いているポートを調べること)の やり方のひとつ
であり

SYNパケット(SYNフラグに1がセットされたパケット)を送ってみて応答があるか確認することで開いているポート(ネットワークとパソコンの間にあるドア)を探すやり方
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として

SYNパケット
ポート
ポートスキャン
SYNスキャン


について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

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

ハーフオープンスキャン

ポートは「ネットワークからパソコンさんに お邪魔するときに通るドア」です。

ハーフオープンスキャン2

※話を単純化するために「パソコン」と書きましたが、その他のコンピュータ類でも同じです。

パソコンさんには番号を振られたドアが たくさん付いています。

ハーフオープンスキャン3

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

ハーフオープンスキャン4

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

ハーフオープンスキャン5

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

ハーフオープンスキャン6

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

ハーフオープンスキャン7

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

ハーフオープンスキャン8

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

ハーフオープンスキャン9

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

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

ハーフオープンスキャン10

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

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


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

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

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

ハーフオープンスキャン11

先ほど説明した

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


に加えて

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

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

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

ハーフオープンスキャン12

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

ハーフオープンスキャン13

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

ハーフオープンスキャン14

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

ハーフオープンスキャン15

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

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

ハーフオープンスキャン16

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

ハーフオープンスキャン17

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

ハーフオープンスキャン18

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

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

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

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

ハーフオープンスキャン19

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

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

話を戻します。

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

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

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

ハーフオープンスキャン20

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

以上を踏まえて

「SYNスキャン」の別の呼び名

が「ハーフオープンスキャン」です。

ハーフオープンスキャン21

推測ですが、接続を途中で止めるから「ハーフオープン(半分 開ける)」なのでしょう。
ちゃんと接続する場合を「フルオープン(全部 開ける)」と見なして、対比させているのだと思います。


image piyo2

一言でまとめるよ

まぁ「ハーフオープンスキャン」って単語が出てきたら「SYNパケット(SYNフラグに1がセットされたパケット)を送って応答を見ることで有効なポート(ネットワークとパソコンの間にあるドア)を確認する、ポートスキャン(いろんなポートに片っ端から接続してみて、開いているポートを調べること)のやり方なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像039
書籍画像018

おまけ

■訳してみるよ

「half(ハーフ)」の意味は「半分」とか「2分の1」とかです。
「open(オープン)」の意味は「開く」とか「開かれている」とか「始める」とかです。
「scan(スキャン)」の意味は「精査する」とか「走査する」とか「検査する」とかです。
何となく くっつけると

半分開いて検査する

となります。


■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
ソフトウェア開発現場の「失敗」集めてみた。 42の失敗事例で学ぶチーム開発のうまい進めかた
「技術書」の読書術 達人が教える選び方・読み方・情報発信&共有のコツとテクニック