分かりやす〜い
コンピュータ技術情報

TOPに戻る
▼Network
ポートスキャン
┣ 通信開始
┣ スリーウェイ・
┃ ハンドシェイク

┣ ポートNo.
┣ RST
┣ 実際に行ってみる
┣ SYNスキャン
┣ FINスキャン
┣ Nortonのログ
┗ 危険性

Copyright(C) 2001-2003.ugpop. All rights reserved.




■デジタル用語辞典:
■ RST ■

前回は1つのサーバー上で複数のサービスが稼動していた場合
を例にとり、スリーウェイハンドシェイクのデータがどのよう
にしてそれぞれのサービスに振り分けられるのか説明しました。

例えば、メールサービスとWEBサービスが2つ稼動していた
場合、スリーウェイハンドシェイクのデータは一旦OSで受け
取られ、OSがポートNoを参照してどちらのサービスにデー
タを渡すべきか判断するのでした。

今回はこの例で、もしWEBサービスが稼動していなかった時
にどのような動きをするのか説明します。

まず、スリーウェイハンドシェイクの流れを復習しましょう。

1.クライアントからサーバーへ準備の確認(SYN)
2.サーバーからクライアントへ応答&クライアントの準備の
  確認(ACK/SYN)
3.クライアントからサーバーへ応答(ACK)

では、次にWEBサービスが稼動していた場合にスリーウェイ
ハンドシェイクのデータが届いた図を見てみましょう。

┌──────────────────┐
│       サーバー       │
│┌───────┐┌───────┐│
││メールサービス││WEBサービス││
│└───────┘└───────┘│
│             ↑    │
│┌────────────┼───┐│
││   OS   ┌───┘   ││
││PortNo80はこっち│       ││
│└────────┼───────┘│
└─────────┼────────┘
          │
───→────→─┘
 SYNデータ
  Port No:80


OSによりデータが一旦受け取られ、OSはポートNoを参照
して、該当するWEBサービスにデータを振り分けるのでした。

次にWEBサービスが稼動していなかった場合の図を見てみま
しょう。           ̄ ̄ ̄ ̄ ̄

┌──────────────────┐
│       サーバー       │
│┌───────┐         │
││メールサービス│         │
│└───────┘         │
│                  │
│┌────────────────┐│
││   OS   ×       ││
││PortNo80だけど?↑       ││
│└────────┼───────┘│
└─────────┼────────┘
          │
───→────→─┘
 SYNデータ
  Port No:80

OSによりデータが一旦受け取られ、OSはポートNoが80
である事を認識するのですが、それに対応するサービスが稼動
していない為、OSが迷っています。

この時、何が行なわれるのかというと、OSは「このサービス
は動いてませんよ。」という意味の「RST」(リセット)と
いうデータを返してあげます。
以下にOSが「RST」を返している図を示します。

┌──────────────────┐
│       サーバー       │
│┌───────┐         │
││メールサービス│         │
│└───────┘         │
│                  │
│┌────────────────┐│
││   OS そんなサービス   ││
││        ↓動いてませんよ││
│└────────┼───────┘│
└─────────┼────────┘
          ↓
←────←────┘
 RST/ACKデータ

クライアントパソコンはサーバーから「RST」が返ってきた
ので、「このサービスは稼動していないのだな。」と判断しま
す。

つまり、サービスが稼動していないポートに対してSYNデー
タを送出してもスリーウェイ・ハンドシェイクに失敗するわけ
です。
逆に言うと、スリーウェイ・ハンドシェイクが成功した場合は
そのサービスが稼動していると判断できるわけです。

このスリーウェイ・ハンドシェイクをさまざまなポートNoに
対して行なえば、どのサービスが稼動しているかが分かるわけ
です。

そしてこの、どのサービスが稼動しているかを判断する行為の
事を、「ポートスキャン」といいます。


通常、ポートスキャンは複数のポートに対して行なわれ、どの
サービスが稼動しているかを調べる為に行なわれます。

例えば、ポートNo1〜100番までをポートスキャンしてみ
て、ポートNo20・21・80が稼動していたとします。

ポートNo20・21というのはFTP(File Transfer Protocol:
ファイルを転送するサービス)を表します。
また80はHTTP(Hyper Text Transfer Protocol:WEBペー
ジを表示するサービス)を表します。

この、ポートNoに対応するサービスはある程度決められてい
て、これらよく使われるポートNoの事を「well known port」
といいます。

well known portはポート0番〜1023番までの値として決
められており、IANA(Internet Assigned Numbers Authority)
という組織により管理されています。

IANAはインターネット上のさまざまな数値を管理する組織であ
り、下部組織として国際的なIPアドレスを管理するInterNIC
(International Network Information Center)や、日本のIPア
ドレスを管理するJPNIC(JaPan Network Information Center)
等が存在しています。

文字コード等もIANAの管理下にあります。

well known portの中でも良く知られている物について一部を
以下に示します。

┌───────┬─────┬─────────────────┐
│サービスの種類│ポートNo. │サービス内容           │
├───────┼─────┼─────────────────┤
│ftp-data   │20/tcp  │File Transfer Protocol      │
│       │     │ファイルを転送するサービス    │
│       │     │このポートはデータ送受信用    │
├───────┼─────┼─────────────────┤
│ftp      │21/tcp  │File Transfer Protocol      │
│       │     │ファイルを転送するサービス    │
│       │     │このポートは制御情報送受信用   │
├───────┼─────┼─────────────────┤
│telnet    │23/tcp  │TELecommunication Network     │
│       │     │遠隔地からのリモート操作を    │
│       │     │可能にするサービス        │
├───────┼─────┼─────────────────┤
│smtp     │25/tcp  │Simple Mail Transfer Protocol   │
│       │     │メールを転送するサービス     │
│       │     │                 │
├───────┼─────┼─────────────────┤
│http     │80/tcp  │Hyper Text Transfer Protocol   │
│       │     │World Wide Webホームページを   │
│       │     │閲覧するサービス         │
├───────┼─────┼─────────────────┤
│pop3     │110/tcp  │Post Office Protocol - Version 3 │
│       │     │メールを受け取る為のサービス   │
│       │     │                 │
├───────┼─────┼─────────────────┤
│nntp     │119/tcp  │Network News Transfer Protocol  │
│       │     │ネットワーク上のニュースを    │
│       │     │閲覧するサービス         │
├───────┼─────┼─────────────────┤
│ntp      │123/tcp  │Network Time Protocol       │
│       │     │ネットワーク上で標準時刻を    │
│       │     │取得するサービス         │
├───────┼─────┼─────────────────┤
│snmp     │161/tcp  │Simple Network Management Protocol│
│       │     │ネットワーク機器を管理するサービス│
│       │     │Request/Response用。       │
├───────┼─────┼─────────────────┤
│snmptrap   │162/tcp  │Simple Network Management Protocol│
│       │     │ネットワーク機器を管理するサービス│
│       │     │TRAP用。             │
└───────┴─────┴─────────────────┘

その他のポートNoについて興味のある方はこちらをご覧下さ
い。

IANAポートNo.一覧(英語)
>>> http://www.iana.org/assignments/port-numbers


次回はスリーウェイ・ハンドシェイクが成功するパターンと失
敗するパターンを実際に行ってみましょう。



▲このページの上へ

▲このページの上へ

←前に戻る    ▲このページの上へ    続きを読む→

▲このページの上へ