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パケット②(レスポンスパケット)解析のつづき+解説。











