Más contenido relacionado La actualidad más candente (20) Similar a CpawCTF 勉強会 Network (20) CpawCTF 勉強会 Network9. ネットワークプロトコル
■ 一つのプロトコルですべて解決しない
– 役割毎にプロトコルの種類(階層)が分かれている
– ぞれぞれの役割のプロトコルを使う
OSI参照モデル TCP/IP 役割
アプリケーション層
アプリケーション層
アプリケーションでのデータのやり取りの方
法
プレゼンテーション
層
セッション層
トランスポート層 トランスポート層
通信を行うアプリケーション間の通信、通信
の制御
ネットワーク層 インターネット層
複数のネットワークを相互接続した環境での
機器間の通信
データリンク層 ネットワーク
インターフェース層
実際のネットワークハードウェアが通信を実
現する物理層
2016/3/28 10
11. 各層の代表的なプロトコル
TCP/IP 役割 プロトコルの例
アプリケーション層
アプリケーションでのデータ
のやり取りの方法
HTTP, FTP, SMTP, POP, TELNET,
SSH, NTP,
トランスポート層
通信を行うプロセス間の通信、
通信の制御
TCP, UDP
インターネット層
複数のネットワークを相互接
続した環境での機器間の通信
IP, ICMP
ネットワーク
インターフェース層
実際のネットワークハード
ウェアが通信を実現する
Ethernet, IEEE802.11, PPPなど
2016/3/28 12
13. Protocol Data Unit
■ プロトコルが扱うデータ単位
■ ヘッダ部+データ部で構成されている
■ レイヤによって呼び方が変わる
– ネットワークインターフェス層 : フレーム
– インターネット層 : パケット
– トランスポート層 : セグメント
※赤枠はヘッダ部、それ以外はデータ部
■ 「データを送る単位」の意味として「パケット」と
呼ぶことが多い
2016/3/28 14
Ethernet header HTTPIP header TCP header
HTTPIP header TCP header
HTTPTCP header
22. IP (Internet Protocol)
■ インターネット層のプロトコル
■ インターネットでデータを伝送するのに使用
■ ネットワークを知る上では必ず理解
■ IPのヘッダフォーマット
2016/3/28 23
Version Length Type of Service Total Length
Identification Flags Fragment Offset
Time to Live Protocol Header Checksum
Source Address
Destination Address
Options
Data
0 3116
24. IP (Internet Protocol)
■ IPアドレス
– プライベートIPアドレス
■ 10.0.0.0/8, 172.16.0.0/16, 192.168.0.0/24
■ オンラインCTF → ファイルの中に答えがある
■ オフラインCTF → そのアドレスにアクセスできる可能性
– グローバルIPアドレス
■ 上記のアドレスとマルチキャスト、グローバルキャストを除いた
アドレス
■ オンラインCTF → アドレスにアクセスできる可能性
■ オフラインCTF → ファイルの中に答えがある可能性
– IPアドレスは答えの場所を探すヒントになる
2016/3/28 25
25. TCP
(Transimission Control Protocol)
■ トランスポート層のプロトコル
■ 役割
– どのアプリケーションに通信を送るか
– 通信相手と接続を確立して信頼性のある通信を実現
■ TCPヘッダフォーマット
2016/3/28 26
Source Port Destination Port
Sequence Number
Acknowledgment Number
header
length
Reserved
U
R
G
A
C
K
P
S
H
R
S
T
S
Y
N
F
I
N
Window Size
Checksum URG Pointer
Options
Data
0 3116
27. TCP
(Transimission Control Protocol)
■ ポート番号
– アプリケーションを識別する番号
– 0 - 1023 : Well Known Port
■ SSH 22
■ TELNET 23
■ DNS 53
■ HTTP 80
■ HTTPS 443
■ など
– エフェメラルポート
■ クライアント側が使うポート番号
2016/3/28 28
30. TCP
(Transimission Control Protocol)
■ コネクション確立後
– データの送受信が可能になる
– シーケンス番号、確認応答番号を用いて正常か確認
2016/3/28 31
seq = 1, ack = 1, len=389 byte
flag = PSH, ACK
Data = GET / HTTP/1.1
seq = 390, ack = 957, len=0 byte
flag = ACK
Client Server
seq = 1、ack =390, len=956 byte
flag = PSH, ACK
Data = HTTP/1.1 200 OK
seq = 1、ack =390, len=0 byte
flag = ACK
31. TCP
(Transimission Control Protocol)
■ 同じTCPコネクションのデータをまとめて表示
– Follow TCP Stream
– CTFにおいては重要な機能
2016/3/28 32
Ethernet IP TCP HTTP
Ethernet IP TCP HTTP
Ethernet IP TCP HTTP
Ethernet IP TCP HTTP