投稿

12月24日(火)3コマ目

イメージ
今日、やったこと パケット解析5(前回のつづき) HTTP 今日のホワイトボード HTTPのパケット リクエスト(クライアント->サーバー)、レスポンス(サーバー->クライアント)ともに以下のようになっている。 図 HTTPのパケット パケットのHTTP部は ヘッダー ボディ がある。 [重要]HTTPのやりとり リクエスト、レスポンスそれぞれのHTTPのヘッダ部、ボディ部には以下のデータがある。 図 HTTPのやりとり リクエスト(クライアント -> サーバー) ヘッダ部のリクエストラインに HTTPのコマンド(GET、POST、PUT、DELETE…) リクエストするページ HTTPのバージョン がある。 ボディ部に入力/選択データが含まれることもある。 レスポンス(サーバー -> クライアント) ヘッダ部のステータスラインに HTTPのバージョン ステータスコード がある。 ボディ部にリクエストされたWebページのHTMLがある。 [重要]Webフォームのパケット(クライアント -> サーバー) Webフォームの回答ボタン(submitボタン)をクリックするとクライアントからサーバーへ以下のように送信される。 図 Webフォームのパケット 送信先のサーバーとHTTPのコマンドは<form>タグのaction属性、method属性で指定。 Webフォームにて入力/選択されたデータはname属性とvalue属性のセットで送信される。 次回は HTMLに映ります。 おたすけサイトは「HTML入門」になります。

12月10日(火)3コマ目

今日、やったこと [確認テスト]パケット解析3 パケット解析5(前回のつづき) 今日のホワイトボード ほぼ確認テストで終わりました。 次回 パケット解析5の答え合わせ。 ぼちぼちHTMLに移ります。 

12月3日(火)3コマ目

イメージ
今日、やったこと パケット解析4 パケット解析5 今日のホワイトボード パケット解析4 前回TCPヘッダまでは解析済み。 TCPヘッダの宛先ポート番号が80より、上位プロトコルはHTTP。 さらに、クライアントからサーバーへのHTTPリクエストだとわかる。 [HTTPヘッダ]リクエストライン クライアント->サーバーのHTTPパケットのHTTP部の先頭はリクエストライン。 クライアントからのリクエスト内容が書かれている。 図 リクエストライン1 図 リクエストライン2 リクエストラインの内容は   GET /test/index.html HTTP/1.1 GET GETはHTTPのコマンドの1つ。クライアントがページをリクエストする際に使う。 /test/index.html GETコマンドでリクエストするページ名。 HTTP/1.1 クライアントが利用するHTTPのバージョン指定。 HTTPにはバージョンがいくつかある(0.9、1.0、1.1、2.0、3.0)。 [HTTPヘッダ]リクエストヘッダフィールド リクエストライン以降はリクエストヘッダフィールド。 リクエスト時に送信すべき情報がいろいろと書き込まれている。 図 リクエストヘッダフィールド1 図 リクエストヘッダフィールド2 Host: test.comm.yitjc.ac.jp リクエストするサーバー名の指定。 図 リクエストヘッダフィールド3 User-Agent: Mozilla/5.0 クライアントの種類、バージョン。 本当は上記以外にもいろいろな情報が書き込まれている。 まとめると HTTPヘッダ部には以下が書き込まれている。 図 HTTPヘッダ まとめ 次回は パケット解析テスト3をします。 パケット解析5の...

11月26日(火)3コマ目

イメージ
今日、やったこと [確認テスト]パケット解析2 パケット解析4 今日のホワイトボード パケット解析4 イーサネットヘッダ フォーマットに従ってパケットを切り取り。 図 イーサネットヘッダ パケット切り取り 解析結果は以下のとおり。 図 イーサネットヘッダ 解析結果 IPヘッダ フォーマットに従ってパケットを切り取り。 図 IPヘッダ パケット切り取り 解析結果は以下のとおり。 図 IPヘッダ 解析結果 TCPヘッダ フォーマットに従ってパケットを切り取り。 図 TCPヘッダ パケット切り取り 解析結果は以下のとおり。 図 TCPヘッダ 解析結果 次回は 確認テストの解説+パケット解析4のつづき。 

11月19日(火)3コマ目

イメージ
今日、やったこと パケット解析3 今日のホワイトボード 前回の「パケット解析3」のつづき。前回はイーサネットヘッダ、IPヘッダまでを解析。 IPヘッダのプロトコル番号0x06から上位プロトコルはTCP。よって、今日はTCPヘッダから。 TCPヘッダ TCPヘッダ部をフォーマットに従って切り取ると以下のようになる。 図 TCPヘッダ 各項目を解析すると以下のとおり。 図 TCPヘッダ解析結果1 TCPヘッダはIPヘッダと同じように可変長。受信側はヘッダ長でTCPヘッダの長さを調べる。 このパケットのTCPヘッダのヘッダ長は20バイト。オプションはなし。 また、宛先ポート番号80から上位プロトコルはHTTPだとわかる。 図 TCPヘッダ解析結果2 コントロールフラグには、受信側はこのパケットのデータ(TCPヘッダよりあと)を上位プロトコル(HTTP)にすぐ渡す指定がある。 コネクション確立時のパケットならもっと見るべきものがあるが、今回はこの程度でOK。 HTTPヘッダ このパケットはクライアントからサーバーへのリクエストパケット。 よって、HTTPヘッダの先頭はリクエストライン。 リクエストライン パケットは以下のとおり。 図 HTTPヘッダ リクエストライン 解析する(ASCIIコードに従って文字に戻す)と以下のとおり。 図 HTTPヘッダ リクエストライン 解析結果 このあとリクエストヘッダフィールドがつづく。 リクエストヘッダフィールド パケットは以下のとおり。 図 HTTPヘッダ リクエストヘッダフィールド 解析する(ASCIIコードに従って文字に戻す)と以下のとおり。 図 HTTPヘッダ リクエストヘッダフィールド 解析結果 一般ヘッダフィールド パケットは以下のとおり。 図 HTTPヘッダ 一般ヘッダフィールド 解析する(ASCIIコードに従って文字に戻す)と以下のとおり。 図 HTTPヘッダ 一般ヘッダフィールド 解析結果 本当はこのあとにもまだまだ続くが、今回はここまで。 次回は パケット解析のテスト第2弾を実施。 ひきつづきパケット解析。  

11月12日(火)3コマ目

イメージ
今日、やったこと [確認テスト]パケット解析1 パケット解析3 今日のホワイトボード パケット解析3 今日はイーサネットヘッダ、IPヘッダまで。 イーサネットヘッダ フォーマットに従って切り取ると以下のとおり。 図 イーサネットヘッダ 切り取り 解析結果は以下のとおり。 図 イーサネットヘッダ 解析結果 タイプが0x0800から上位プロトコルはIPv4とわかる。 IPヘッダ フォーマットに従って切り取ると以下のとおり。 図 IPヘッダ 切り取り 解析結果は以下のとおり。 図 IPヘッダ 解析結果1 プロトコル番号が0x06から上位プロトコルはTCPだとわかる。 後半は以下のとおり。 図 IPヘッダ 解析結果2 次回は 本日実施の確認テストの解説と今日配布したパケット3の解析のつづき。

11月8日(金)1コマ目

イメージ
今日、やったこと パケット解析 今日のホワイトボード パケット解析(パケット1.6) 解析結果をあげておきます。 イーサネットヘッダ フォーマットに従ってパケットを切り取ると以下のとおり。 図 パケット切り取り(イーサネットヘッダ) 解析すると以下のとおり。 図 パケット解析結果(イーサネットヘッダ) タイプからイーサネットの上位プロトコルはIPv4。 IPヘッダ フォーマットに従ってパケットを切り取ると以下のとおり。 図 パケット切り取り(IPヘッダ) 解析すると以下のとおり。 まずは前半。 図 パケット解析結果(IPヘッダ 前半) つづいて後半。 図 パケット解析結果(IPヘッダ 後半) プロトコル番号から上位プロトコルはUDP。 UDPヘッダ フォーマットに従ってパケットを切り取ると以下のとおり。 図 パケット切り取り(UDPヘッダ) 解析すると以下のとおり。 図 パケット解析結果(UDPヘッダ) 送信元ポート番号から上位プロトコルはDNS。 DNSヘッダ DNSヘッダは必須のヘッダセクションのあと、任意数のxxxセクションがつづく。 ヘッダセクション フォーマットに従ってパケットを切り取ると以下のとおり。 図 パケット切り取り(DNSヘッダ ヘッダセクション) ヘッダセクションを解析すると以下のとおり。 図 パケット解析結果(DNSヘッダ ヘッダセクション) このパケットは問い合わせに対する応答であることがわかる。 またヘッダセクションのあと、 Questionセクションが1つ Answerセクションが2つ がつづく。 Questionセクション フォーマットに従ってパケットを切り取ると以下のとおり。 まずは前半のドメイン名。 図 パケット切り取り(DNSヘッダ Questionセクション) つづいて後半のタイプ、クラス。 図 パケット切り取り(DNSヘッダ Questionセクション) 解析結果は以下のとおり。 図 パケット解析結果(DNSヘッダ Questionセクション) Answerセクション1 2つあるAnswerセクションの1つ目の前半(ドメイン名~TTL)。 フォーマットに従ってパケットを切り取ると以下のとおり。 図 パケット切り取り結果(DNSヘッダ Answerセクション1) ドメイン名が圧縮されている。DNSヘッダの先頭から12バイト+1...