投稿

10月, 2020の投稿を表示しています

10月30日(金)1コマ目

イメージ
今日、やったこと ICMPパケット解析(前回のつづき) 今日のホワイトボード 前回まで ICMPパケットのイーサネットヘッダ、IPヘッダを解析した。IPヘッダのプロトコル番号からIPの上位プロトコルはICMPであることが分かったため、ICMPヘッダを解析する。 ICMPとは Internet Control Message Protocolの略。IPの補助的な存在。 図 ICMP ICMPヘッダ解析 〇タイプ、コード ICMP自体はいろいろな機能を持っている。 ICMPヘッダのタイプ、コードでこのパケットはICMPのどの機能かを表している。 タイプが0x08なので、このパケットは「ICMPエコー要求」。 コードはタイプが0x03のときのみ利用。よって、このパケットでは未利用。 図 ICMPヘッダのタイプ、コード 〇(エコー要求なので)ID、シーケンス番号 ICMPは到達確認する宛先毎にIDを変えてエコー要求を送信する。 さらに、1発目のエコー要求パケットにはシーケンス番号を1、2発目のエコー要求パケットにはシーケンス番号を2、と変えて送信する。 エコー要求を受信したPCはエコー応答を返信する際、受信したID、シーケンス番号をそのまま返信する。 このIDとシーケンス番号で送信側はIDからどこに送った、シーケンス番号から何番目のエコー要求に対する応答かが分かるようになっている。 図 ICMPヘッダのID、シーケンス番号 〇エコーデータ ID、シーケンス番号のあとにはエコーデータが続く。 IPヘッダのパケット長(IPヘッダ以降の長さ)には60バイト、ヘッダ長(IPヘッダの長さ)には20バイトと記述されている。よって、IPヘッダのあとには40バイトのデータがあることになる。 ID、シーケンス番号のあとの32バイト(中身は0x61=>'a'、0x62=>'b'、・・)がエコーデータになる。エコーデータでこのパケットは終わり。 図 ICMPヘッダのエコーデータ

10月23日(金)1コマ目

イメージ
今日、やったこと ARPパケット解析(前回の復習) ICMPパケット解析(イーサネット、IPヘッダまで) 今日のホワイトボード [前回の復習]ARPパケット解析 以下のパケットを解析した。 図 解析したARPパケット① 図 解析したARPパケット② [前回の復習]ARPパケット解析結果 イーサネットヘッダ 〇宛先MACアドレス 宛先MACアドレスはff:ff:ff:ff:ff:ff。これはMACアドレス版ブロードキャストアドレス。 特定のPCを対象にするアドレスではなく、ネットワークに接続している全PCを対象にパケットを送信する場合は、宛先にブロードキャストアドレスを使う。 〇タイプ タイプが0x0806になっているため、上位プロトコルはARP。 図 [ARPパケット]イーサネットヘッダ ARPヘッダ 〇オペレーションコード オペレーションコードが0x0001になっているため、このパケットはARPリクエストのパケット。 〇送信元IPアドレス(探索IPアドレス) 調査対象のIPアドレスはARPヘッダの最後に書き込まれている。 図 [ARPパケット]ARPヘッダ① 図 [ARPパケット]ARPヘッダ② ICMPのパケット解析 以下のパケットを解析した。 図 解析したICMPパケット① 図 解析したICMPパケット② ICMPパケット 解析結果 イーサネットヘッダ、IPヘッダ 〇イーサネットヘッダのタイプ タイプが0x0800になっているため、上位プロトコルはIPv4。 〇IPヘッダのヘッダ長 IPヘッダはイーサネットヘッダ、ARPヘッダと異なり、可変長。よって、ヘッダ長を指定する必要があるため、「ヘッダ長」を書き込むエリアがある。 このパケットには5が書き込まれているが、ヘッダ長は5バイトではなく×4をした20バイト。 図 イーサネットヘッダ、IPヘッダ(前半) 図 IPヘッダ(後半)① 〇IPヘッダのプロトコル番号 プロトコル番号はIPの上位プロトコルを指定するためのエリア。 0x01なので、上位プロトコルはICMP。 図 IPヘッダ(後半)② 〇IPヘッダはどこまで? 宛先IPアドレスまででIPヘッダは20バイト。 ヘッダ長には20バイトになっていたため、このパケットのIPヘッダは宛先IPアドレスで終了。オプションはなし。 図 IPヘッダ(ヘッダ長) このあとICM...

10月16日(金)1コマ目

イメージ
今日、やったこと ARPパケットの解析 今日のホワイトボード ARPとは Address Resolution Protocolの略。IPアドレスをMACアドレスに変換するために使う。 IPがルーティングして決定した次の宛先はIPアドレスで指示される。 しかし、実際にパケットを運ぶイーサネットではPCの識別情報はMACアドレス。よって、IPアドレスをMACアドレスに変換する仕組みが必要。これを実現するのがARP。 図 ARP ARPの動き ARPテーブルチェック ARPテーブルとは、過去に調べたIPアドレスとMACアドレスの対応表。 ここに対象があれば、その情報(MACアドレス)を使う。 なければ、ARPリクエストパケットを送出し、ARPレスポンスを待つ。 ARPリクエストパケット ネットワーク上を流れるARPパケットをキャプチャし、解析。 図 ARPリクエストパケット① 図 ARPリクエストパケット② 解析結果は以下のとおり。 図 ARPリクエストパケット解析 イーサネットヘッダ 図 ARPリクエストパケット解析 ARPヘッダ① 図 ARPリクエストパケット解析 ARPヘッダ② 先頭はイーサネットヘッダ。イーサネットヘッダのヘッダフォーマットに従ってデータが並んでいる。 イーサネットヘッダの次はイーサネットヘッダのタイプでわかる。 今回はタイプに0x0806。よってARP。 ARPヘッダのフォーマットに従ってデータが並んでいる。 ARPヘッダ内のオペレーションコードには0x0001。これから、このパケットはARPリクエストだとわかる。 ARPリクエストで問い合わせているIPアドレスは探索IPアドレスの172.16.4.253。 ARPレスポンスパケット ネットワーク上を流れるARPパケットをキャプチャし、解析。 図 ARPレスポンスパケット① 図 ARPレスポンスパケット② 解析結果は以下のとおり。 図 ARPレスポンスパケット解析 イーサネットヘッダ 図 ARPレスポンスパケット解析 ARPヘッダ イーサネットヘッダのタイプが0x0806から次はARPヘッダだとわかる。 ARPヘッダ内のオペレーションコードには0x0001。これからこのパケットはARPレスポンスパケットだとわかる。調べたかったMACアドレスはARPヘッダの送信元MACアドレスからわかる。 図 A...