1月15日(金)1コマ目
今日、やったこと
- 確認テスト(TCP)
- HTTP
今日の確認テスト
3つのパケットの穴埋め問題です。
パケット1
解析すると、以下がわかります。
![]() |
| 図 パケット1 ① |
![]() |
| 図 パケット1 ② |
- イーサネットヘッダ
- IPヘッダ
- パケット長:0x5からIPヘッダは20バイト
- プロトコル番号:0x06から上位プロトコルはTCP
- 送信元IPアドレス:172.16.4.200
- 宛先IPアドレス:①.②.③.④
- TCPヘッダ
- 送信元ポート番号:⑤⑥
- 宛先ポート番号:80
- シーケンス番号:⑦⑧⑨⑩
- 確認応答番号:0
- ヘッダ長:0xaから40バイト
- コントロールフラグ:SYN=1
タイプ:0x0800から上位プロトコルはIP
以上から172.16.4.200(ポート番号⑤⑥)から①.②.③.④(ポート番号80)へのコネクション確立要求(SYN=1)のパケット。
172.16.4.200のシーケンス番号初期値は⑦⑧⑨⑩。
パケット2
解析すると、以下がわかります。
![]() |
| 図 パケット2 ① |
![]() |
| 図 パケット2 ② |
- イーサネットヘッダ
- 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
タイプ:0x0800から上位プロトコルはIP
以上から172.16.8.3(ポート番号80)から⑪.⑫.⑬.⑭(ポート番号36550)へのコネクション確立要求(SYN=1)+ACK=1のパケット。
172.16.8.3のシーケンス番号初期値は⑮⑯⑰⑱。
パケット3
解析すると、以下がわかります。
![]() |
| 図 パケット3 ① |
![]() |
| 図 パケット3 ② |
- イーサネットヘッダ
- 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
タイプ:0x0800から上位プロトコルはIP
以上から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データ部を解析します。








コメント