0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

『サイバーセキュリティプログラミング第2版』の読書メモ (1)

0
Last updated at Posted at 2022-11-09

『サイバーセキュリティプログラミング第2版』の読書メモを少しずつ記していきたい。

3.1 UDP を用いたホスト発見ツール

ホスト発見に使用する仕組みについて。
fig.png
UDPパケットを送信先ホストの宛先ポートXに送信した際に、送信先でポートXが閉じていると ICMP パケットを送信してくる。

このとき ICMP ヘッダに設定されるコードとタイプの値は以下のように定義され、送信元に対して UDP のポートXが閉じていることを伝えてくれる。

CODE=3: Destination unreachable (宛先到達不能)
TYPE=3: Port unreachable (ポート到達不能)

もしも送信先ホストのポートXで UDP を受け付けるサービスが動作していると上記の ICMP パケットは送信されない。

…という仕組みを逆手にとり、送信先ホストの UDP パケットを送信して上記のようなコード・タイプの ICMP パケットが返ってくるかどうかを観察すれば、送信先が存在しているかを判定することができる。これがこの章で解説される「ホスト発見ツール」のポイントである。

ただし、ここで忘れてはならないのはサービスで使われないようなポートを選んでやることである。ウェルノウンポートのようなサービスでよく使われるポート番号を使ってしまうと送信先ホストが存在するのかどうか判定するのが困難となる。

サンプルコードでは "65212" という通常はシステムで動的かつ一時的にしか使用されないポート(エフェメラルポート)を使用している。(P62 の udp_sender 関数を参照のこと)

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?