偵察手法3
ARP(アープ)コマンドについて学んでいきましょう。
ARP(Address Resolution Protocol:アドレス解決プロトコル)とは、IPアドレスからMACアドレスを取得するためのプロトコルです。
プロトコルは、決まりごと・ルールのように解釈してください。
- ARPコマンド
- ARPテーブル
第16講
引き続き、「パケットトレーサ」というアプリを使って、コマンドの動きを確認していきます。前回同様、こちらのネットワーク環境でお話を進めていきます。
PC「192.168.11.2」から、デフォルトゲートウェイとなるルーター、そして各3台のマシンには、既に第15講で行った pingコマンド で接続確認をしています。
ただし、今回はPC「192.168.11.5」だけは pingコマンド で通信を確認していません。
pingコマンドを実行して、準備完了。
コマンドプロンプトで、以下のコマンドを入力してみます。
> arp -a
arp の後ろに半角スペースが入ります
このコマンドを実行すると、ARPテーブルの内容が表示されます。ARPテーブルとは、自分が知っているIPアドレスとMACアドレスの一覧表です。
表示された結果を見てみましょう。こちらがARPテーブルです。
キャプチャ内の「Physical Address」がMACアドレスのことを指していて、こちらはパケットトレーサ上での表示です。実際のコマンドプロンプトでは、MACアドレスは2桁ずつ区切られた表示されます。
【MACアドレス例】00:10:11:27:1e:01
PC「192.168.11.5」 は、まだ接続確認をしていないため、ARPテーブルに載りません。
pingコマンドを使わなくても、ネットワークの中では小さなやりとりが発生するので、気づいたら 192.168.11.5 との相互接続をしていることもあります
それでは、pingコマンドでPC「192.168.11.5」に挨拶をしてみましょう。
再度、ARPコマンドで一覧表を表示します。
これで無事にPC「192.168.11.2」のマシンが、PC「192.168.11.5」のIPアドレスに紐づいているMACアドレスを認識することができました。
あくまでARPコマンドというのは、自分が知っているものだけ表示されます。
接続されているすべてのパソコンやネットワーク機器が、ARPコマンドで一発表示されるわけではないのでご注意ください。
自宅なら接続されている機器を数えられるけど、会社とかはどれだけのPCが接続しているかわからないので、IPアドレスを1から順番に pingコマンド で調べていくのも大変だよね?
ARPコマンドは、単純に学習したものだけを表示するコマンドだから、ネットワーク空間にどれだけのパソコンやネットワーク機器が接続されているかを確認するのは、また別の機会に説明するね
まず、自分の操作している端末が何を知っているか? を確認するためのコマンドが、ARPコマンドということを抑えておいて
それはOKだけど、これは何をしているの?
ARPが必要な理由は、ネットワーク通信の仕組みにあります。
- データを送信する際、最初に指定するのはIPアドレスです
- しかし、実際のデータ転送にはMACアドレスが必要です。IPアドレスだけでは最後のゴール地点までは届きません。イメージとして、IPアドレスからマンションの所在地はわかったけど、部屋番号がわからないといった関係性です
- ARPを使うことで、IPアドレスに対応しているMACアドレスを取得できます。住所「192.168.11.5」は「00:0d:bd:90:72:1b」さんだ! といった具合です
- これにより、正確なデータ転送がネットワーク端末同士で可能になります。
ARPは、IPアドレスという「住所」から、実際にデータを受け取る「人(機器)」を特定するようなものなの。ここがネットワークのわかりづらいところでもあるんだ。講座を重ねていくうちにネットワークの全体像が見えていくので、いまはボヤっとで構わないよ。私も最初は理解できなかったらね
通信できない機器のMACアドレスが表示されない場合、その機器に問題がある可能性があります。また、不正なMACアドレスが表示される場合、ネットワーク上にセキュリティ上の問題がある可能性があります。
このコマンドを知るメリットは、正規のMACアドレスとIPアドレスが紐づいているかどうかを確認するためでもあるんだよ
前回、ARPスプーフィングっていうのをさらっと学習したかと思うけど、もし脅威アクターが、ルーターのIPアドレスに紐づいているMACアドレスを、悪さをするためのMACアドレスに書き換えてしまったらどうかな…
なるほど! 私たちの端末は、すべて脅威アクターのマシンに通信が向かってしまうのか!
セキュリティ対策を万全にして、ARPスプーフィングの被害に遭わないことを祈るだけだけど、日頃から自分のMACアドレスや、ルーターのMACアドレスをしっかりとチェックしておく必要があるよね。それを確認するためのARPコマンドでもあるんだよ
まあでも強力なパスワード並みに難しいよね。覚えておくのは…
覚える必要は全くなくて、どこかのテキストドキュメントにメモしておくぐらいで大丈夫だよ。まあでも脅威アクターが狙ってくるのはルーターなんだよね…
第16講のまとめ
コマンドプロンプトからARPテーブルを見に行くことで、いつも使っているルーターのMACアドレスを確認することがわかりました。
MACアドレスは覚えづらいアドレスでもありますが、特に家庭用ルーターなどのMACアドレスはしっかりと覚えておくことが重要です。
MACアドレスは、その端末を確実に識別してくれるアドレスなので、自分のパソコンのMACアドレスや家庭用ルーターのMACアドレスなどはしっかりと確認しておくと安全ですね