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




コメント