投稿

10月, 2024の投稿を表示しています

10月21日(月)1コマ目

イメージ
今日、やったこと パケット解析(パケット1.5) 今日のホワイトボード パケット解析(パケット1.5) あらたにパケットの解析をしました。 イーサネットヘッダ ヘッダフォーマットに従って切り取ると下図のとおり。 図 イーサネットヘッダ タイプが0x0800より上位プロトコルはIP。 図 イーサネットヘッダ解析結果 IPヘッダ ヘッダフォーマットに従ってIPヘッダ部を切り取ると下図のとおり。 図 IPヘッダ ヘッダ長は20バイト。よって、オプションはなし。 図 IPヘッダ解析結果① プロトコル番号が0x11(10進数では17)より、上位プロトコルはUDP。 図 IPヘッダ解析結果② UDPヘッダ 図 UDPヘッダー 宛先ポート番号の0x0035(10進数では53)はDNSのウェルノウンポート。よって、上位プロトコルはDNS。 図 UDPヘッダ解析結果 DNSヘッダ DNSヘッダはヘッダセクションから始まる。 ヘッダセクション 図 DNSヘッダ ヘッダセクション フラグはRDビットが1より、フルサービスリゾルバへの問い合わせ。IPヘッダの宛先IPアドレスの172.16.4.5はフルサービスリゾルバ。 QDCountだけ1なので、ヘッダセクションのあとにQuestionセクションが1つ続く。 図 DNSヘッダ ヘッダセクション Questionセクション 図 DNSヘッダ Questionセクション ドメイン名、タイプからこのパケットは「www.yahoo.co.jpのIPアドレスを問い合わせ」。 図 DNSヘッダ Questionセクション解析結果 次回は 引き続きパケットの解析。  

10月15日(火)3コマ目

イメージ
今日、やったこと DNSパケット解析(その2)前回のつづき 今日のホワイトボード DNSパケットの解析(その2) 前回提示したパケットを解析。 イーサネットヘッダ なんてことはないかと。 タイプから上位プロトコルはIP。 図 イーサネットヘッダ 図 イーサネットヘッダ解析結果 IPヘッダ これも特にややこしいことはないかと。 ヘッダ長は20バイト。よって、オプションはなし。 図 IPヘッダ解析結果(前半) プロトコル番号から上位プロトコルはUDP。 図 IPヘッダ解析結果(後半) パケット中のIPヘッダは以下のとおり。 図 IPヘッダ UDPヘッダ 送信元ポート番号から上位プロトコルはDNS。 UDPの53番ポートはDNSのウェルノウンポート。 図 UDPヘッダ解析結果 パケット中のUDPヘッダは下図のとおり。 図 パケット中のUDPヘッダ [DNSヘッダ]ヘッダセクション DNSヘッダの先頭はヘッダセクション。 図 DNSヘッダのヘッダセクション フラグのQRビットが1から、このパケットはDNSサーバーからの応答だとわかる。 図 DNSヘッダのヘッダセクション解析結果 [DNSヘッダ]Questionセクション 問い合わせ内容。 問い合わせドメイン、タイプがAレコードから、ドメイン名www.google.co.jpのIPアドレスを問い合わせている。 図 DNSヘッダ Questionセクション解析結果 なお、パケットは以下のとおり。 図 DNSヘッダ Questionセクション [DNSヘッダ]Answerセクション DNSサーバーからの返信が書き込まれている。先頭のドメイン名がここのポイント。 図 DNSヘッダ Answerセクション ドメイン名は先頭2ビットが”11”よりドメイン名はこのパケットのどこかに書き込まれている。その位置はDNSヘッダの先頭から12バイト空いた13バイト目以降。 なお、DNSヘッダの先頭から13バイト目はQuestionセクションのドメイン名。 図 DNSヘッダ Answerセクションのドメイン名 解析結果 RDataがDNSサーバーからの応答。ここは可変長で、直前のRDLengthでRDataの長さを示している。 図 DNSヘッダ Answerセクション 後半 解析結果 次回は ひきつづき、パケット解析をしてもらいます。  ...

10月8日(火)3コマ目

イメージ
今日、やったこと DNSパケットの解析(前回のつづき) DNSパケットの解析(その2) 今日のホワイトボード DNSパケットの解析(前回のつづき) 前回はイーサネットヘッダ、IPヘッダ、UDPヘッダまで解析した。 UDPヘッダの宛先ポート番号53から上位プロトコルはDNSだとわかる。 今日はDNSヘッダを解析。 [DNSヘッダ]ヘッダセクション  DNSヘッダはヘッダセクションから始まる。 パケット解析すると以下のとおり。 図 DNSヘッダのヘッダセクション ヘッダセクションの各項目は以下のとおり。 トランザクションID DNSクライアントがDNSサーバーからのレスポンスを区別するために利用。 図 ヘッダセクションのトランザクションID フラグ このパケットの問い合わせ内容を表す。 図 ヘッダセクションのフラグ xxCount ヘッダセクション以降のQuestionセクション、Answerセクション、Authorityセクション、Additionalセクションの数。これらのセクションは可変長なので受信側はこのデータでこのあとのセクション数を確認する。 図 ヘッダセクションのxxCount このパケットはヘッダセクションのあと、Questionセクションが1つある。 [DNSヘッダ]Questionセクション QuestionセクションはDNSサーバーに問い合わせるドメイン名から始まる。 図 Questionセクション 各項目は以下のとおり。 ドメイン名 ドメイン名は 1バイトのラベル長とラベル長で指定された長さのラベルデータ の組み合わせ。 ラベルデータには問い合わせたいホスト名(文字列データ)のASCIIコード(1文字=1バイト)。 数値化された文字をASCIIコード表に従って文字に変換すると以下のとおり。 図 Questionセクションのドメイン名 タイプ 問い合わせ内容。DNSは名前解決(ホスト名->IPアドレス)だけではなく、他にもいろいろと問い合わせができる。 図 Questionセクションのタイプ まとめると このパケットはDNSサーバー(フルサービスリゾルバ)へwww.google.co.jpの名前解決のパケット。 図 このパケットは 次回は 今日、配布したパケットその2の解析をします。

10月1日(火)3コマ目

イメージ
今日、やったこと Webアクセスのながれ DNS DNSパケット解析 今日のホワイトボード Webアクセスのながれ ホームページを見るには ①WebブラウザでURL入力(または検索、リンククリック) ②URL中のホスト名をDNSでIPアドレスに変換(名前解決) ③DNSサーバが教えてくれたWebサーバーのIPアドレスにリクエスト送信 ④ホームページのデータ(HTML)を受信 ⑤受信したホームページのデータを表示  のように、主に DNS HTTP の2つのプロトコルを利用している。 図 Webアクセスのながれ ということで、この授業ではDNS、HTTPの2つのプロトコルを扱う。 DNSパケット解析 実際にDNSサーバーとやりとりされたパケットを解析する。 パケットの先頭にはイーサネットヘッダがあることだけわかっている。 イーサネットヘッダ解析 イーサネットヘッダのフォーマットに従って、切り取っていくと以下のとおり。 図 イーサネットヘッダ 各項目は以下のようになっていた。 図 イーサネットヘッダの中身 「タイプ」からイーサネットの上位プロトコルはIPだとわかる。 よって、パケットのイーサネットヘッダ以降にはIPヘッダが続く。 IPヘッダ解析 先頭の項目はIPのバージョン。 現在、IPにはv4とv6の2バージョンが利用されている。このパケットはバージョン4。 IPヘッダのフォーマットに従ってパケットを切り取っていくと以下のとおり。 図 IPヘッダ IPヘッダの各項目は以下のようになっていた。 図 IPヘッダの中身① IPヘッダはオプションの有無で可変長。よって、受信側は「パケット長」でIPヘッダの長さを確認する。このパケットのIPヘッダは20バイト。 図 IPヘッダの中身② 識別番号、フラグ、フラグメントオフセットはデータを複数パケットに分割して送信する際に活躍するデータ。 プロトコル番号から上位プロトコルはUDPだとわかる。 よって、IPヘッダのあとにはUDPヘッダが続く。 図 IPヘッダの中身③ 「宛先IPアドレス」を見てルーターやPCのIPはルーティングを行う。 UDPヘッダ解析 UDPヘッダは固定長。内容もシンプル。 UDPヘッダのフォーマットに従って切り取っていくと以下のとおり。 図 UDPヘッダ UDPヘッダの各項目は以下のようになっていた。 図 ...