共有会資料20100318_Packet解析

3,184 views
3,082 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,184
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

共有会資料20100318_Packet解析

  1. 1.     Wireshark   Packet 解析のススメ
  2. 2. Wireshark って、なにするもの? <ul><li>パケットを内容を見るものです </li></ul><ul><li>Dump した内容を分かりやすく表示してくれます。 </li></ul><ul><li> ( tcpdump でとった dump ファイルを Wireshark で読み込むとか) </li></ul>なぜ(どんなとき)見るの? <ul><li>アプリケーションが吐くログ等では原因が特定できないようなとき </li></ul><ul><li> -> 何を受信したのか、もしくは、何を送信したのか 「事実」 が見れる。 </li></ul><ul><li>   何か問題が起こった場合、原因特定の最終手段になることも。 </li></ul>
  3. 3. PacketDump を読めるようになることに絞った TCP/IP 基礎  (1/4) データリンク層 ネットワーク層 トランスポート層 Packet の構造 HTTP 等の上位レイヤー ( アプリケーション層 ) の プロトコルのヘッダとデータが入る
  4. 4. PacketDump を読めるようになることに絞った TCP/IP 基礎  (2/4) TCP ヘッダのフォーマット TCP ヘッダ
  5. 5. PacketDump を読めるようになることに絞った TCP/IP 基礎  (3/4) <ul><li>シーケンス番号 </li></ul><ul><li>   (前回送信したシーケンス番号+前回送信したデータ長) </li></ul><ul><li>確認応答番号 </li></ul><ul><li>   次に受信すべきシーケンス番号を示す </li></ul><ul><li>   (受信したシーケンス番号+受信データ長) </li></ul><ul><li>コントロールフラグ </li></ul><ul><li>    6bit 長 </li></ul><ul><li>   左から、 URG , ACK , PSH , RST , SYN , FIN </li></ul>URG 緊急に処理すべきデータが含まれることを意味する ACK 確認応答番号が有効であることを意味する -> 相づちみたいなもの PSH バッファリングせずに上位レイヤーにデータを渡せという意味 RST コネクションの強制切断 SYN コネクションの確立 FIN コネクションの切断
  6. 6. PacketDump を読めるようになることに絞った TCP/IP 基礎  (4/4) TCP のコネクション管理 スリーウェイ ハンドシェイク コネクションが確立する データの送受信が行われる ( 略してるので送信だけ) コネクションの切断 クライアント サーバ SYN -> コネクション確立要求 ← SYN , ACK 応答、コネクション確立要求 ACK -> 応答 PSH , ACK -> データの送信 ← ACK 応答 FIN -> コネクション切断要求 ← ACK 応答 ← FIN コネクション切断要求 ACK -> 応答
  7. 7. <ul><li>実際に読んでみましょう </li></ul><ul><li>  「ここで Wireshark の画面で説明」 </li></ul><ul><li>Linux 上でキャプチャする場合 </li></ul><ul><li># tshark -i eth0 -V -l tcp and port 80 -w file </li></ul><ul><li># tcpdump -i eth0 -nX tcp and port 80 -w file </li></ul><ul><li>->   Wireshark で読み込める </li></ul>
  8. 8. まとめ <ul><li>概念図などを見てもよくわからない仕組みも、 Dump して解析して見てみると、結構仕組みが分かってくる(かも) </li></ul><ul><li>Web 系開発では使う機会は少ないかもしれませんが、原因特定の最終手段などに、是非ご利用ください。 </li></ul>

×