Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう

4.951 Aufrufe

Veröffentlicht am

Hokkaido.cap#2の演習資料です。

  • Als Erste(r) kommentieren

Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう

  1. 1. 一般的なプロトコルのパケットを覗いてみよう Hokkaido.cap #2 2011.04.22 Masayuki YAMAKI
  2. 2. 今日の目標• 一般的なプロトコルのパケットがどのようなもの か理解しましょう。• 各プロトコルのパケットがWiresharkからどのよ うに見えるか確認しましょう。• 前回に引き続き、Wiresharkの使い方を覚えま しょう。 2
  3. 3. 前回のおさらい• 第1回目の資料「Winresharkの使い方(基礎 編)」を以下のURLで公開しています。 Wiresharkを初めて使う方は参照しながら進め てみてください。 http://handsout.jp/slide/3623• 操作方法がわからない場合は、遠慮せずにど んどん質問してください。 3
  4. 4. 今日の進め方• 「実践パケット解析 第6章 一般的なプロトコル」 の内容をベースに進めます。本書をお持ちの方 は演習に合わせて参照してください。• スライドには各プロトコルの概要のみ記載して います。実際のパケットがこのとおりの動きをし ているか確認していきましょう。• 気付いた点やわからない点があれば自由に ディスカッションしましょう。 4
  5. 5. 演習資料 5
  6. 6. ARP (Address Resolution Protocol)• サンプルファイル : arp.pcap• RFC 826• レイヤ3のアドレス(IPアドレス)をレイヤ2のアド レス(MACアドレス)に変換するプロトコル。• 送信元のノードはARPリクエストをレイヤ2ブロー ドキャストアドレス(ff:ff:ff:ff:ff:ff)へ送信し、そ れを受け取ったノードは自分のIPアドレスと合致 した場合、自分のMACアドレスをレスポンスとし て返す。 6
  7. 7. ARP (Address Resolution Protocol)• ARPは要求と応答の2つのパケットしか使わない。 7
  8. 8. DHCP (Dynamic Host Configuration Protocol)• サンプルファイル : dhcp.pcap• RFC2131• ネットワーク情報(IPアドレス、コンピュータ名 等)を提供するプロトコル。• クライアントはDHCP Discoverパケット(DHCPサーバを 探すためのパケット)をブロードキャストアドレス (255.255.255.255)へ送信し、DHCPサーバがこのアド レスを受け取るとクライアントにDHCP Offerパケット(ク ライアントに提供するネットワーク情報)を送信する。 8
  9. 9. DHCP (Dynamic Host Configuration Protocol)• 次に、クライアントはDHCPサーバの提示したアドレス に問題がなければDHCP Requestパケットを送信し、正 式にIPアドレスを要求する。• 最後に、クライアントがDHCP Ackメッセージを受信する と、その内容に従いIPアドレス設定を行う。 9
  10. 10. TCP/IP と HTTP• サンプルファイル : http.pcap• TCP (Transmission Control Protocol) : RFC793 - レイヤ4のプロトコル。透過的で信頼性が高く、欠損 パケット再送などのエラー訂正機能を持つ。• IP (Internet Protocol) : RFC791 - レイヤ3のプロトコル。通信を可能とするためのアド レッシングを行うコネクションレス型のプロトコル。• HTTP (Hypertext Transfer Protocol) : RFC2616 - Webページを転送するためのプロトコル。 10
  11. 11. パケットヘッダ と Ethernet フレームパケットヘッダの階層構造 Ethernet Header (IP Header) (TCP Header) Data Ethernet ではデータ IP Header (TCP Header) Data IP ではデータ TCP Header DataEthernetフレームフォーマット Destination Source MAC Address MAC Address Type Data FCS (6byte) (6byte) (2byte) (46~1500byte) (4byte) 11
  12. 12. IPv4 ヘッダフォーマット0 34 78 15 16 31(bit) Version IHL Type of Service Total Length (バージョン) (ヘッダ長) (サービスタイプ) (パケット長) Identification Flags Flagment Offset (識別子) (フラグ) (フラグメントオフセット) Time To Live Protocol Header Checksum (生存時間) (プロトコル番号) (ヘッダチェックサム) Source IP Address (送信元IPアドレス) Destination IP Address (宛先IPアドレス) Option + Padding (オプション + パディング) Data (TCP,UDP,ICMPなどのプロトコルのヘッダとデータ) 12
  13. 13. TCP ヘッダフォーマット0 34 9 10 15 16 31(bit) Source Port Destination Port (送信元ポート番号) (宛先ポート番号) Sequence Number (シーケンス番号) Acknowledgement Number (確認応答番号) Data Reserved U A P R S F Window Size R C S S Y I Offset (予約領域) (ウィンドウサイズ) G K H T N N Checksum Urgent Pointer (チェックサム) Code bit (緊急ポインタ) Option + Padding (オプション + パディング) Data (データ部) 13
  14. 14. TCP コネクション管理 SYN (コネクション確立要求) ACK (SYNに対する確認応答) SYN (コネクション確立要求) コネクション確立 (3 -Way Handshake) ACK (SYNに対する確認応答)コネクション確立後 データデータ転送開始 FIN/ACK (コネクション切断要求) ACK (FINに対する確認応答) FIN/ACK (コネクション切断要求) コネクション切断 ACK (FINに対する確認応答) 14
  15. 15. TCP ヘッダ Codebit Codebit 説明 URG このビットが1の場合、緊急処理すべきデータが含まれることを意味する。 (Urgent) ACK このビットが1の場合、確認応答番号のフィールドが有効であることを意(Acknowledgement) 味する。コネクション確立時の最初のSYNセグメント以外は必ず1である必 要がある。 PSH このビットが1の場合、受信したデータをすぐに上位のアプリケーションに (Push) 渡す。0の場合はバッファリングを許す。 RST このビットが1の場合、コネクションが強制的に切断される。 (Reset) 何らかの異常を検出した場合に送信される。 SYN このビットが1の場合、コネクション確立の意思表示を表す。また、シーケ (Synchronize) ンス番号のフィールドに格納されている番号でシーケンス番号の初期化 が行われる。 FIN このビットが1の場合、今後送信するデータがないことを意味する。それぞ (Fin) れのFINに対して確認応答されるとコネクションが切断される。 15
  16. 16. サンプル HTTP ファイル• 4番目のパケットがGETリクエスト - Follow TCP Stream を使うと一連の通信の流れを特 定しやすい。 16
  17. 17. サンプル HTTP ファイル• 38番目のパケットがOKパケット 17
  18. 18. DNS (Domain Name System)• サンプルファイル : dns.pcap• RFC1034• ドメイン名(www.google.comなど)をIPアドレス に変換する。• たいていの場合、DNSサーバへの名前解決要 求→応答 という2つのパケットで事足りる。 18
  19. 19. DNS (Domain Name System)• 実際にキャプチャしてみると1つのWebページ で複数のDNSパケットが流れていたり、レスポン スにCNAME(別名に対する正規名)が含まれて いることがわかる。 19
  20. 20. FTP (File Transfer Protocol)• サンプルファイル : ftp.pcap• RFC959• クライアント/サーバ間のデータ転送のためのプロトコル。• 21番ポートを 制御コネクションとして使用し、選択した モードに従いデータ転送コネクションを確立する。 - ACTIVEモード : 20番ポートを使用し、サーバ側から データ転送コネクションを確立する。 - PASSIVEモード : 任意のポートを使用し、クライアント 側からデータ転送コネクションを確立する。 20
  21. 21. FTP (File Transfer Protocol)• FTPの場合、パケット一覧を確認するだけでも十 分な情報が得られる。 - パスワードも見えてしまう。 21
  22. 22. TELNET• サンプルファイル : telnet.pcap• RFC854• コンピュータ、ネットワーク機器などをリモートか ら操作するためのプロトコル。• 転送レートやデータ転送モードを指定するオプ ションを指定し、通信を始める前にそれらを同 期する必要がある。 22
  23. 23. TELNET• 平文で通信するため、セキュリティ上問題となる 場合がある。 - 重要なデータは、より安全なSSHを使用したほうがよ い。 23
  24. 24. MSNMS (MSNメッセンジャーサービス)• サンプルファイル : msnms.pcap• Microsoft社が提供しているインスタントメッセン ジャーサービスのプロトコル。• インスタントメッセンジャーにはいくつか種類が あり、それぞれ似てはいるが独自のプロトコル を使用している。 24
  25. 25. ICMP (Internet Control Message Protocol)• サンプルファイル : icmp.pcap• RFC792• IPのエラーメッセージや制御メッセージを転送す るプロトコル。• ICMPパケットには必ず数字で表わされるタイプ が含まれており、その数字によって送信先コン ピュータでの処理方法が変わる。 25
  26. 26. ICMP タイプの例タイプ 説明 0 エコー応答 (Echo Reply) 3 宛先到達不能 (Destination Unreachable) 4 発信元抑制 (Source Quench) 5 リダイレクト (Redirect) 8 エコー要求 (Echo Request) 9 ルータアドバタイズ (Router Advertisement)10 ルータ選択 (Router Selection)11 時間超過 (Time Exceeded)12 パラメータ問題 (Parameter Problem) 26
  27. 27. タイプ 3 (宛先到達不能)のコードコード 説明 コード 説明 0 Netwrok Unreachable 8 Source Host Isolated 1 Host Unreachable 9 Network Administartively Prohibited 2 Protocol Unreachable 10 Destinantion Host Administartively Prohibited 3 Port Unreachable 11 Network Unreachable For TOS 4 Fragmentation Needed and 12 Host Unreachable For TOS DF (Dont Fragment) set 5 Source Route Failed 13 Communication Administratively Prohibited 6 Destination Network Unknown 14 Host Precedence Violation 7 Destination Host Unknown 15 Precedence Cutoff in Effect 27
  28. 28. まとめと参考資料 28
  29. 29. この演習のまとめ• 一般的なプロトコルのパケットがWiresharkでど のように見えるか確認しました。• 実際のトラブルシューティングでは「プロトコル の本来の動き」とはどういうものか知っていると 問題の早期解決に繋がります。• テキストに載っていないプロトコルについても、 興味があればキャプチャして覗いてみましょう。 29
  30. 30. 参考資料• 実践パケット解析 - Wiresharkを使ったトラブ ルシューティング - http://www.oreilly.co.jp/books/9784873113517 - ISBN978-4-87311-351-7• RFC Editor (RFCの公開および管理機関) - http://www.rfc-editor.org• RFC 日本語版リスト (原文へのリンクもあり) - http://www5d.biglobe.ne.jp/~stssk/rfcjlist.html 30

×