投稿

12月19日(火)3コマ目

イメージ
今日、やったこと HTTPパケット解析解説 今日のホワイトボード HTTPヘッダは 文字列データ。1つ1つの文字列データの間に区切りのCR(0x0d)+LF(0x0a)がある。 図 HTTPヘッダは文字列データ パケット7 解析結果 この授業での重要なポイントは先頭のリクエストラインと最後のメッセージボディ部。 〇リクエストライン HTTPヘッダは以下のリクエストラインから始まる。   POST /formtest/showall.php HTTP/1.1 リクエストラインの各項目は下表のとおり。 POST サーバーにHTTPのPOSTコマンドでリクエスト /formtest/showall.php リクエストするURL HTTP/1.1 サーバーとのやり取りに使うHTTPのバージョン これは、クライアント側のHTMLの<form>タグに  method=post  action=http://172.16.8.10/formtest/showall.php と書かれているため、サーバーにPOSTコマンドで/formtest/showall.phpをリクエストする。 HTTPのバージョンは利用するWebブラウザ等で決まる。 〇メッセージボディ部 メッセージボディにはWebページで選択・入力した内容がある。 〇重要ポイント POSTコマンドでサーバーへリクエストする際は、入力・選択内容はメッセージボディー部にセットされる。 図 パケット7  HTTPヘッダ解析結果 パケット6 解析結果 〇リクエストライン HTTPヘッダは以下のリクエストラインから始まる。   GE T /formtest/showall.php HTTP/1.1?q1=hokkaido&q2=kishu&q3=both  HTTP/1.1 リクエストラ...

12月5日(火)3コマ目

イメージ
今日、やったこと [パケット解析]HTTPのパケット7 今日のホワイトボード [パケット解析]HTTPのパケット7 先頭のイーサネットヘッダからIPヘッダ、TCPヘッダの重要項目は以下のとおり。 図 イーサネットヘッダからTCPヘッダまで 次回は このパケットの解説をします。  

11月28日(火)3コマ目

イメージ
今日、やったこと [確認テスト]パケット解析確認テスト2 パケット解析(HTTPリクエスト) 今日のホワイトボード パケット解析(HTTPリクエスト) 今回はクライアントからWebサーバーへリクエストする際のパケット。 このパケットにはWebページで選択・入力された内容が一緒にサーバーへ送信される。 図 パケット送信の背景 次回は 今日のテストの解説とHTTPリクエストのパケット解析のつづき。  

11月21日(火)3コマ目

イメージ
今日、やったこと [確認テスト解説]パケット解析その1 HTTPのパケット解析 今日のホワイトボード [確認テスト解説]パケット解析その1  前回実施したテストの解説をしました。 パケットはクライアント192.168.10.11からDNSサーバー8.8.8.8へのドメイン名「www.pref.yamanashi.jp」のIPアドレスの問い合わせでした。 各問の正解です。 問1~問3 問2の「受信側はイーサネットの上位プロトコルはなにを見て判断する?」ですが、ほしい答えは  xxヘッダのxx(項目名)がxxxになっていることから、上位プロトコルはIPと推測できる です。項目名だけだとイーサネットヘッダ以外にも同名の項目があるかもしれません。 あと、私の日本語読解力では理解できない回答もちょこちょこありました。すいませんが、×にしました。 図 問1~問3 問4~問6 問4はIPヘッダのパケット長です。 問6は問2と同じように回答してほしいです。 図 問4~問6 問7~問8 問7はUDPヘッダのパケット長です。 問8は問2,問6とおなじ。 図 問7~問8 問9~問12 問9、問10 DNSヘッダのヘッダセクション内の項目名xxCountの値。 問11 DNSサーバーへの問い合わせ内容はQuestionセクションに書き込まれている。項目名「タイプ」(Aレコード)の項目名「ドメイン名」を問い合わせている。 問12 DNSサーバーからクライアントへの回答はAnswerセクションにある。このパケットにはAnswerセクションがない。 図 問9~問12 パケット解析(HTTP) 各ヘッダの解析結果です。 イーサネットヘッダ 図 イーサネットヘッダ解析結果 項目名「タイプ」が0x0800より、上位プロトコルはIPと推測できる。 IPヘッダ 図 IPヘッダ解析結果 項目名「プロトコル番号」が0x06より上位プロトコルはTCPと推測できる。 TCPヘッダ 図 TCPヘッダ解析結果 項目名「送信元ポート番号」は80。TCPの80番ポートはHTTPのウェルノウンポート。 上位プロトコルはHTTPと推測できる。 さらに、送信元ポート番号がHTTPのウェルノウンポートになっているため、このパケットはWebサーバーからの返信であると推測できる。 HTTPヘッダ HTTPヘッダはASCIIコ...

11月17日(金)3コマ目

イメージ
今日、やったこと パケット解析1.6の解説 [確認テスト]パケット解析テスト1 今日のホワイトボード  パケット解析1.6の解説 DNSヘッダの特にドメイン名の書き方について解説をしました。 このパケットのDNSヘッダには Quesionセクション 1こ Answerセクション 2こ があります。 Questionセクションのドメイン名 これはデータサイズ、データの連続です。ASCIIコードに従ってもとの文字に戻します。 パケットにはwww yahoo co jpと書かれていました。 Answerセクション1つ目のRDATA このAnswerセクションのタイプはCNAMEです。よってRDATAには問い合わせドメイン(www.yahoo.co.jp)の別名を回答しています。 Questionセクションと同じように1バイトのデータサイズとデータサイズ分のデータが連続しています。が、1か所だけサイズが0xc0になっています。これはここに書き込むデータはこのパケット内の別の個所を参照してくださいという意味です。 下図のようにDNSヘッダ先頭から26バイト目以降がここのデータになります。 図 Questionセクションのドメイン名(左側)と1つ目のAnswerセクションのRDATA(右側) Answerセクション2つ目のドメイン名 データサイズが0xc0になっているため、ここのデータはこのパケット中の指定個所を参照します。 下図のようにDNSヘッダ先頭から46バイト目以降がここのデータになります。 図 2つ目のAnswerセクションのドメイン名(左側)と1つ目のAnswerセクションのRDATA(右側) パケット解析確認テスト1 多分、次回解説します。 次回は テストの解説をします。 HTTPのパケット解析をします。

11月16日(木)3コマ目

今日、やったこと パケット解析(DNSパケット) 今日のホワイトボード とくに何も書いてません。 が、今日解析していただいた「パケット1.6」のDNSヘッダ部のAnswerセクションにちょっと難解な箇所がありました。明日(11月17日)のテスト前に解説をします。 次回は 予告通りパケット解析のテストをします。 

10月30日(月)3コマ目

イメージ
今日、やったこと パケット解析(DNS)前回のつづき パケット解析(HTTP) 今日のホワイトボード パケット解析(DNS)前回は 前回はイーサネットヘッダからUDPヘッダまでを解析しました。 UDPヘッダの送信元ポート番号(53)から上位プロトコルはDNSだとわかっています。 [DNSヘッダ]ヘッダセクション フラグから権威なしサーバーからの回答だとわかります。 また、ヘッダセクション以降の各セクション数は下表のようになります。 セクション セクション数 Questionセクション 1 Answerセクション 1 Authorityセクション 4 Additionalセクション 8 図 DNSヘッダ ヘッダセクション 解析結果 [DNSヘッダ]Questionセクション 前回のパケットを同じように解析すればOK。 図 DNSヘッダ Questionセクション 解析結果 [DNSヘッダ]Answerセクション 前半のフォーマットはQuestionセクションと同じ。 ただ、ドメイン名はパケット長を短くするため、すでにパケット内にドメイン名が記述済みならその位置を示す情報が格納されている。 〇ドメイン名 ドメイン名の先頭2ビットが”11”なので、残りの6+8ビットにはドメイン名が記述されている位置情報になる。 位置情報が"12"から、DNSヘッダの先頭から12バイト分のあとにドメイン名が記述されている。 ちなみにDNSヘッダの先頭から12バイト分はヘッダセクション。よって、Questionセクションのドメイン名を参照すればいい。 〇RDLength RDLengthは後ろに続くRDataの長さを示す。 RDataは可変長。 〇RData このAnswerセクションの一番のポイントになるデータ。サーバーからの回答。 図 DNSヘッダ Answerセクション 解析結果 本来はこの後Authorityセクションが4つ、Additionalセクションが8こ続くが省略。 パ...