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

TOPに戻る
▼Network
盗聴
┣ 盗聴の方法と原理
┣ コンピュータニュ
┃ ースサイトの説明

┣ IPアドレスとMAC
┃ アドレス

┣ Address Resolution
┃ Protocol

┣ 盗聴者を特定する原理
┣ 盗聴者特定ツール
┗ 付録

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




■デジタル用語辞典:

▲このページの上へ

■ Address Resolution Protocol ■

前回はルータの役割について解説を行いました。
ルータは外部のネットワークに対してデータを送信する時に正
常なルートを決めてあげる役割を持っているのでした。
また、外部のネットワークにデータを送信する時にルータを経
由するのですが、その際、ルータに一旦受け入れられる為にMAC
アドレスが使用される事の解説も行いました。

つまり、MACアドレスは常に「近くにある」2台のコンピュー
タ間でのみ使用されるもので、IPアドレスは間にコンピュータ
が何台あろうとも、常に「送信元と送信先」を表すために使用
されるものである事を説明しました。

さて、外部のネットワークに対してデータを送る際に「データ
送る人」から「ルータ」に対して送信されるデータの中には宛
先MACアドレスが設定されています。

以下にその図を示します。


データ送る人       ルータ      データ受け取る人
IP:11.22.33.44    IP:11.22.33.01     IP:55.66.77.88
MAC:00-00-00-00-00-01 MAC:00-00-00-00-00-02 MAC:00-00-00-00-00-03
                      ̄            ̄
┌───┐       ┌───┐       ┌───┐ 
│   │       │   │       │   │私宛ての
└─┬─┘ データ   └──┬┘ データ   └───┘データです。
  ↓ 宛先IP:55.66.77.88↑ ↓ 宛先IP:55.66.77.88↑   
  │ 宛先MAC:     │ │ 宛先MAC:     │   
  │ 00-00-00-00-00-02 │ │ 00-00-00-00-00-03 │   
  │          ̄ │ │          ̄ │   
  └─→──→──→──┘ └─→──→──→──┘   


「データ送る人」は「ルータ」のMACアドレスを何故知ってい
るのでしょうか?

MACアドレスはIPアドレスのようにサーバーや管理者により設
定されるものではありません。
NIC(Network Interface Card)等のハードウェアに初めから固
定的に割りついているものなのです。

ではどのようにして近くにいるコンピュータのMACアドレスを
知る事ができるのでしょうか?

まず、宛先のMACアドレスを特定する為には、「ARP」(Address
Resolution Protocol)というプロトコルを使用します。

ARP(アープと読みます)とはIPアドレスからMACアドレスを求
める為のプロトコルで、アドレス解決プロトコルとも呼ばれて
います。

ARPというプロトコルを使用するとIPアドレスこれこれのコン
ピュータの人はMACアドレスを教えてください、と質問出来る
わけです。

以下にARP(Address Resolution Protocol)によってMACアドレ
スを問い合わせている図を示します。


データ送る人                   ルータ      
IP:11.22.33.44                IP:11.22.33.01    
MAC:00-00-00-00-00-01             MAC:00-00-00-00-00-02
┌───┐                   ┌───┐     
│   │    ARP              │   │     
└─┬─┘ IP:11.22.33.01の人は        └───┘     
  ↓   MACアドレス教えて            ↑       
  │   宛先MAC:FF-FF-FF-FF-FF-FF        │       
  └─→──→──→──→──→──→──→──→┘       


宛先MACアドレスにFF-FF-FF-FF-FF-FFが指定されています。
これはブロードキャストアドレスといって、全てのコンピュー
タに対してデータを送出する時にこのアドレスが指定されます。

つまりルータ以外にも、このネットワークに属しているコンピ
ュータは全てこの問い合わせを一旦受け付けます。

問い合わせを受けた全てのコンピュータは、その後「宛先IPア
ドレス」をチェックして、宛先IPアドレスに該当するコンピュ
ータだけが応答を返してあげます。

以下に応答を返している図を示します。


データ送る人                   ルータ      
IP:11.22.33.44                IP:11.22.33.01    
MAC:00-00-00-00-00-01             MAC:00-00-00-00-00-02
┌───┐                   ┌───┐     
│   │                   │   │     
└───┘      私のMAC アドレスは    └─┬─┘     
  ↑        00-00-00-00-00-02       ↓       
  │               です      │       
  └─←──←──←──←──←──←──←──←┘       


ARP(Address Resolution Protocol)で行なわれる処理はたった
これだけです。
MACアドレスを知りたい人が全てのコンピュータに対して問い
合わせを行い、その応答を受けてMACアドレスを教えてもらう
のです。

上の例では「ルータ」に対してARPの問い合わせを行なってい
ますが、ルータだけにしか問い合わせしてはいけないという事
はありません。普通のコンピュータに対しても同じように問い
合わせを行なう事が出来ます。

ちょっとここでARPを実際に行なってみましょう。

まず、自分のコンピュータが現在知っているMACアドレスを表
示してみます。
WINDOWSユーザーの方はコマンドプロンプト上で、UNIXユーザ
ーの方はSHELL上で以下のコマンドを入力します。

arp -a

このコマンドの応答が、例えば以下のように表示されます。

Interface: xx.xx.xx.xx on Interface 0x2000003
Internet Address Physical Address Type
xx.xx.xx.xx xx-xx-xx-xx-xx-xx dynamic
xx.xx.xx.xx xx-xx-xx-xx-xx-xx dynamic

環境によりかなり表示のされ方は異なると思いますが、この様
にIPアドレスとMACアドレスの組が表示されるはずです。
(Internet Addressと書かれてある部分がIPアドレスの事で、
Physical Addressと書かれてある部分がMACアドレスの事です。)
ここに表示されたIPアドレスとMACアドレスの組が現在分かっ
ているMACアドレスです。

次に、適当なIPアドレスに対して、そのIPアドレスがネットワ
ーク上に存在しているか確認する為のコマンドを投入します。

ping xx.xx.xx.xx

xx.xx.xx.xxの部分はなるべく自分のコンピュータのIPアドレ
スに+1したり-1したりした値、近くにあるコンピュータのIPア
ドレスを指定した方が良いです。

指定したIPアドレスがネットワーク上に存在する場合、以下の
様に応答が帰るはずです。

Reply from xx.xx.xx.xx: bytes=32 time=1ms TTL=128

ただし、この応答も環境によりかなり変わるはずです。
とにかく、このIPアドレスは存在するという意味のメッセージ
が表示されれば良いです。
応答が返らない場合、他のIPアドレスで応答が返るまで試して
みてください。

PINGの結果、指定したIPアドレスが存在する事が分かったら、
再び先ほどと同じコマンドを投入します。

arp -a

このコマンドの応答は、以下の様になるはずです。

Interface: xx.xx.xx.xx on Interface 0x2000003
Internet Address Physical Address Type
xx.xx.xx.xx xx-xx-xx-xx-xx-xx dynamic
xx.xx.xx.xx xx-xx-xx-xx-xx-xx dynamic
xx.xx.xx.xx xx-xx-xx-xx-xx-xx dynamic
~~~~~~~~~~~

PINGコマンドで指定したIPアドレス


この様に、先ほど投入したarpコマンドより1つ多くIPアドレ
スとMACアドレスの組が表示されます。
これは、PINGコマンドを実行した時に、自動的にARP(Address
Resolution Protocol)の問い合わせが行なわれたからです。

PINGコマンドは指定したIPアドレスのコンピュータがネットワ
ーク上に存在するか確認する為のコマンドなのですが、この様
に、同時にARPを使用してアドレス解決も行なってくれるので
す。

以上でARP(Address Resolution Protocol)の解説は終わりです。

そうそう、この講座は「盗聴」という題名でした。
盗聴している人を特定しなければなりませんでしたね。

実は、盗聴を行なう人を特定するには、このARPを裏技の様に
利用してしまいます。

その裏技とは・・・。

続きは次回に行ないます。



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