8
Wireshark Packet 解解解解解解

共有会資料20100318_Packet解析

Embed Size (px)

Citation preview

Page 1: 共有会資料20100318_Packet解析

   Wireshark 

Packet解析のススメ

Page 2: 共有会資料20100318_Packet解析

Wiresharkって、なにするもの?• パケットを内容を見るものです• Dumpした内容を分かりやすく表示してくれます。 ( tcpdumpでとった dumpファイルをWiresharkで読み込むとか)

なぜ(どんなとき)見るの?なぜ(どんなとき)見るの? アプリケーションが吐くログ等では原因が特定できないようなとき

 → 何を受信したのか、もしくは、何を送信したのか「事実」が見れる。

   何か問題が起こった場合、原因特定の最終手段になることも。

Page 3: 共有会資料20100318_Packet解析

PacketDumpを読めるようになることに絞った

TCP/IP 基礎  (1/4)

データリンク層

ネットワーク層

トランスポート層

Packetの構造

HTTP等の上位レイヤー ( アプリケーション層 ) のプロトコルのヘッダとデータが入る

Page 4: 共有会資料20100318_Packet解析

PacketDumpを読めるようになることに絞った

TCP/IP 基礎  (2/4)TCPヘッダのフォーマット

TCP

ヘッ

Page 5: 共有会資料20100318_Packet解析

PacketDumpを読めるようになることに絞った

TCP/IP 基礎  (3/4) シーケンス番号   (前回送信したシーケンス番号+前回送信したデータ長) 確認応答番号   次に受信すべきシーケンス番号を示す   (受信したシーケンス番号+受信データ長) コントロールフラグ    6bit長   左から、 URG , ACK , PSH , RST , SYN , FIN

URG 緊急に処理すべきデータが含まれることを意味する

ACK 確認応答番号が有効であることを意味する → 相づちみたいなもの

PSH バッファリングせずに上位レイヤーにデータを渡せという意味

RST コネクションの強制切断

SYN コネクションの確立

FIN コネクションの切断

Page 6: 共有会資料20100318_Packet解析

PacketDumpを読めるようになることに絞った

TCP/IP 基礎  (4/4)TCPのコネクション管理

クライアント サーバ

SYN → コネクション確立要求

← SYN , ACK 応答、コネクション確立要求

ACK → 応答

PSH , ACK → データの送信

← ACK 応答

FIN → コネクション切断要求

← ACK 応答

← FIN コネクション切断要求

ACK → 応答

スリーウェイハンドシェイク

コネクションが確立する

データの送受信が行われる( 略してるので送信だけ)

コネクションの切断

Page 7: 共有会資料20100318_Packet解析

実際に読んでみましょう

  「ここでWiresharkの画面で説明」

Linux上でキャプチャする場合  # tshark -i eth0 -V -l tcp and port 80 -w file  # tcpdump -i eth0 -nX tcp and port 80 -w file

   →   Wiresharkで読み込める

Page 8: 共有会資料20100318_Packet解析

まとめ• 概念図などを見てもよくわからない仕組みも、 Dumpして解析して見てみると、結構仕組みが分かってくる(かも)

• Web系開発では使う機会は少ないかもしれませんが、原因特定の最終手段などに、是非ご利用ください。