12月2日(木)2コマ目

今日、やったこと

HTTPパケット(パケット4)解析の解説

今日のホワイトボード 

HTTPパケット(パケット4)の解説をしました。

イーサネットヘッダ

とくにややこしいところはないと思います。

タイプが0x0800から上位プロトコルはIP。よって、イーサネットヘッダのあとにはIPヘッダが続きます。

図 イーサネットヘッダ

IPヘッダ

これも特に問題はないと思います。

プロトコル番号が0x06から上位プロトコルはTCP。よって、IPヘッダのあとにはTCPヘッダが続きます。

図 IPヘッダ


TCPヘッダ

宛先ポート番号が80。TCPの80番ポートはHTTPのサーバーが利用するポート。

よって、上位プロトコルはTCPで、クライアントからサーバーへのHTTPのパケットだとわかります。

図 TCPヘッダ


HTTPヘッダ

HTTPヘッダは文字データをASCIIで符号化したデータが格納されている。1バイトずつASCIIコード表に従って文字に戻せばいい。

データ間の区切りはCR(0x0d)、LF(0x0a)。

このパケットはクライアントからサーバー(TCPヘッダの宛先ポート番号80)宛てのパケット。

先頭はリクエストヘッダライン。続いてリクエストヘッダフィールドが続く。


リクエストヘッダライン

1バイトずつ文字に戻す。

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

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

図 HTTPヘッダ リクエストライン まとめ

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

HTTPのバージョンは1.1を指定。


リクエストヘッダフィールド

CR(0x0d)+LF(0x0a)区切りで複数のデータが連続している。

データは フィールド名:フィールド値 のフォーマット。

このパケットではHostとUser-Agentの2つのフィールド名に対するフィールド値がある。

図 HTTPヘッダ リクエストヘッダフィールド①

図 HTTPヘッダ リクエストヘッダフィールド②

図 HTTPヘッダ リクエストヘッダフィールド まとめ

次回は

HTTPパケット解析のテストをします。



このブログの人気の投稿

1月20日(木)2コマ目

11月11日(木)2コマ目

2月3日(木)2コマ目