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ヘッダのエコーデータ