1月15日(金)1コマ目

今日、やったこと

  • 確認テスト(TCP)
  • HTTP

今日の確認テスト

3つのパケットの穴埋め問題です。

パケット1

解析すると、以下がわかります。

図 パケット1 ①

図 パケット1 ②


  • イーサネットヘッダ
  • タイプ:0x0800から上位プロトコルはIP

  • IPヘッダ
    • パケット長:0x5からIPヘッダは20バイト
    • プロトコル番号:0x06から上位プロトコルはTCP
    • 送信元IPアドレス:172.16.4.200
    • 宛先IPアドレス:①.②.③.④
  • TCPヘッダ
    • 送信元ポート番号:⑤⑥
    • 宛先ポート番号:80
    • シーケンス番号:⑦⑧⑨⑩
    • 確認応答番号:0
    • ヘッダ長:0xaから40バイト
    • コントロールフラグ:SYN=1

以上から172.16.4.200(ポート番号⑤⑥)から①.②.③.④(ポート番号80)へのコネクション確立要求(SYN=1)のパケット。

172.16.4.200のシーケンス番号初期値は⑦⑧⑨⑩。

パケット2

解析すると、以下がわかります。

図 パケット2 ①

図 パケット2 ②


  • イーサネットヘッダ
  • タイプ:0x0800から上位プロトコルはIP

  • IPヘッダ
    • パケット長:0x5からIPヘッダは20バイト
    • プロトコル番号:0x06から上位プロトコルはTCP
    • 送信元IPアドレス:172.16.8.3
    • 宛先IPアドレス:⑪.⑫.⑬.⑭
  • TCPヘッダ
    • 送信元ポート番号:0x0050(10進数では80)
    • 宛先ポート番号:0x8ec6(10進数では36550)
    • シーケンス番号:⑮⑯⑰⑱
    • 確認応答番号:⑲⑳㉑㉒
    • ヘッダ長:0xaから40バイト
    • コントロールフラグ:ACK=1、SYN=1

以上から172.16.8.3(ポート番号80)から⑪.⑫.⑬.⑭(ポート番号36550)へのコネクション確立要求(SYN=1)+ACK=1のパケット。

172.16.8.3のシーケンス番号初期値は⑮⑯⑰⑱。

パケット3

解析すると、以下がわかります。

図 パケット3 ①

図 パケット3 ②


  • イーサネットヘッダ
  • タイプ:0x0800から上位プロトコルはIP

  • IPヘッダ
    • パケット長:0x5からIPヘッダは20バイト
    • プロトコル番号:0x06から上位プロトコルはTCP
    • 送信元IPアドレス:172.16.4.200
    • 宛先IPアドレス:172.16.8.3
  • TCPヘッダ
    • 送信元ポート番号:0x8ec6(10進数では36550)
    • 宛先ポート番号:0x0050(10進数では80)
    • シーケンス番号:0xbe9d3a0a
    • 確認応答番号:0x90fb9dca
    • ヘッダ長:0x8から32バイト
    • コントロールフラグ:ACK=1

以上から172.16.4.200(ポート番号36550)から172.16.8.3(ポート番号80)へのACK=1のパケット。

シーケンス番号は0xbe9d3a0a、確認応答番号は0x90fb9dca。

以上からこの3つのパケットは172.16.4.200(36550)から172.16.8.3(80)へのコネクション確立のパケットと推測できる。

空欄は以下のように推測できる。

①~④

パケット1の宛先IPアドレス。

パケット2の送信元IPアドレス、パケット3の宛先IPアドレスと同じ。

よって、172.16.8.3になる

①:0xac、②:0x10、③:0x08、④:0x03

⑤、⑥

パケット1の送信元ポート番号。

パケット2の宛先ポート番号、パケット3の送信元ポート番号と同じ。

よって、36550になる。

⑤:0x8e、⑥:0xc6

⑦~⑩

パケット1のシーケンス番号。

パケット2の確認応答番号-1、パケット3のシーケンス番号-1と同じ。

よって、0xbe9d3a0a-1の0xbe9d3a09になる。

⑦:0xbe、⑧:0x9d、⑨:0x3a、⑩:0x09

⑪~⑭

パケット2の宛先IPアドレス。

パケット1の送信元IPアドレス、パケット3の送信元IPアドレスと同じ。

よって、172.16.4.200になる。

⑪:0xac、⑫:0x10、⑬:0x04、⑭:0xc8

⑮~⑱

パケット2のシーケンス番号。

パケット3の確認応答番号-1と同じ。

よって、0x90fb9dca-1の0x90fb9dc9になる。

⑮:0x90、⑯:0xfb、⑰:0x9d、⑱:0xc9

⑲~㉒

パケット2の確認応答番号。

パケット1のシーケンス番号+1、パケット3のシーケンス番号と同じ。

よって、0xbe9d3a0aになる。

⑲:0xbe、⑳:0x9d、㉑:0x3a、㉒:0x0a


今日のホワイトボード

Webページを見る

WebページはHTMLで書かれたHTMLファイルをWebブラウザが表示している。

HTMLファイルはサーバーにあり、WebブラウザはクライアントPC(スマホとかも)で 実行されている。

クライアントとサーバー間のやり取りはHTTPで決められた手順で行われている。

図 Webページを見る


HTTPのパケット

イーサネットヘッダ、IPヘッダ、TCPヘッダは今までとおり。

TCPヘッダのあとにHTTPのデータが続く。

今までのxxヘッダはビット単位でフォーマットが決まっていたが、HTTPデータは文字列データと区切り(CR+LF)で構成されている。

図 HTTPのパケット


次回はHTTPデータ部を解析します。

コメント

このブログの人気の投稿

2月5日(金)1コマ目

12月18日(金)2コマ目

1月22日(金)1コマ目