1月28日(水)1コマ目

今日、やったこと

  • HTTPパケット①(リクエストパケット)解析
  • HTTPパケット②(レスポンスパケット)解析

今日のホワイトボード

HTTPパケット①(リクエストパケット)解析

前回配布したGETコマンドでWebページをリクエスト、そのレスポンスのパケットを解析。

イーサネットヘッダ

先頭から、

  • 宛先MACアドレス
  • 送信元MACアドレス
  • タイプ

の順に並んでいる。

図 イーサネットヘッダ

3つの項目は以下のとおり。

図 イーサネットヘッダの内容

タイプより、上位プロトコルはIPv4だとわかる。


IPヘッダ

IPヘッダーのフォーマットに従って切り取り。

図 IPヘッダ

各項目は以下のとおり。

図 IPヘッダの内容

プロトコル番号より、上位プロトコルはTCPだとわかる。


TCPヘッダ 

TCPヘッダーのフォーマットに従って切り取り。

図 TCPヘッダ

各項目は以下のとおり。

図 TCPヘッダの内容

宛先ポート番号の80はHTTPのウェルノウンポート。よって、上位プロトコルはHTTP。


HTTPヘッダ

HTTPヘッダはビット単位でフォーマットが決まっているわけでなく、文字列データ+区切り[CR(0x0d)、LF(0x0a)]の連続。

1バイトずつ、ASCIIコード表を見ながら、文字に変換する。

〇リクエストライン

このパケットはクライアント=>Webサーバー。

よって、HTTPヘッダの先頭はリクエストライン。

図 HTTPヘッダのリクエストライン

GETコマンドで、/text/index.htmlをリクエストしている。

図 リクエストラインの内容の意味


〇ヘッダ部

リクエストラインのあともヘッダ部が続く。

解析すると以下のとおり。

図 HTTPヘッダのヘッダ部①

図 HTTPヘッダのヘッダ部②

ヘッダ部は

 パラメータ名: 設定値

のフォーマット。

各パラメータにはそれぞれ意味がある。

パケットのデータ意味
Host: test.comm.yitjc.ac.jp パラメータHostはリクエストするサーバー名
User-Agent: Mozzila/5.0 パラメータUser-Agentはクライアントのブラウザ情報。
Mozzilaはブラウザ名、/5.0はバージョン。

図 ヘッダ部のパラメータ


HTTPパケット②(レスポンスパケット)解析

今までのパケットとは異なり、かなり長いので、以下を解析してください。

図 HTTPパケット②の解析箇所


次回は

HTTPパケット②(レスポンスパケット)解析のつづき+解説。


このブログの人気の投稿

2月25日(水)1コマ目

2月18日(水)1コマ目

2月4日(水)1コマ目