パケット キャプチャで学ぶ SMB (CIFS) の基本

5,319
-1

Published on

2013/7/22 第17回「ネットワーク パケットを読む会(仮)」のセッション スライドです

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

No Downloads
Views
Total Views
5,319
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
22
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

パケット キャプチャで学ぶ SMB (CIFS) の基本

  1. 1. パケット キャプチャで学ぶ SMB (CIFS) の基本 村地 彰 22 Jul. 2013 第17回ネットワークパケットを読む会(仮)
  2. 2. 今日のサンプル パケット smbtorture.cap.gz •http://goo.gl/EIUWmO •http://bit.ly/paket0722 • gz が展開できない場合は http://sdrv.ms/15YDOcX
  3. 3. SMB (CIFS) とは • SMB Server Message Block ▫ Microsoft Windows に搭載されているネットワー ク ファイル共有プロトコル • CIFS Common Internet File System ▫ SMB を基に Microsoft が Internet Draft として公 開したプロトコル
  4. 4. SMB と CIFS の位置づけ • SMB はプロプライエタリなプロトコル • CIFS は Internet Draft として公開されたオープ ンな仕様 という位置づけだったが….. • SMB の仕様自体が Microsoft から公開されたた め、CIFS の意味は無くなっている
  5. 5. SMB (CIFS) のドキュメント • Server Message Block (SMB) Protocol http://msdn.microsoft.com/en-us/library/cc246231.aspx • Common Internet File System (CIFS) Protocol http://msdn.microsoft.com/en-us/library/ee442092.aspx • Server Message Block (SMB) Protocol Versions 2 and 3 http://msdn.microsoft.com/en-us/library/cc246482.aspx
  6. 6. 参考資料 • サーバー メッセージ ブロックの概要 http://technet.microsoft.com/ja- jp/library/hh831795.aspx • Microsoft SMB Protocol and CIFS Protocol Overview http://msdn.microsoft.com/en- us/library/windows/desktop/aa365233.aspx
  7. 7. SMB のバージョン • SMB 1.0 ▫ オリジナル バージョン ▫ LAN Manager ~Windows XP/Server 2003R2 • SMB 2.0 ▫ コマンドの整理 / パイプライン化 ▫ Windows Vista / Server 2008 ~ • SMB 3.0 ▫ SMB over RDMA / マルチコネクション ▫ Windows 8 / Server 2012 ~
  8. 8. SMB の前提 • L4 のネットワーク接続 ▫ TCP/IP, NetBEUI • 名前解決 ▫ NetBIOS (ブロードキャスト / WINS) ▫ DNS • Port ▫ NetBIOS : 137 (TCP / UDP), 138 (UDP), 139 (TCP) ▫ DNS (Direct Hosting SMB) : 445 (TCP / UDP)
  9. 9. SMB の実装 • Windows Operating System • Samba ▫ Samba 3.6 以降 SMB 2.0, 3.0 以降 SMB 3.0 対応 • FreeBSD (smbfs) • MacOS Ⅹ (smbfs) • Linux (smbfs, cifs)
  10. 10. SMB Command • 元々 MS-DOS の INT21 システム コールによる ファイル アクセスをネットワークにリダイレク トしたコマンド体系 • SMB 2.0 で整理されている • SMB 2.0 のコマンドと書式 ▫ [MS-SMB2] Server Message Block (SMB) Protocol Versions 2 and 3 - 2.2 Message Syntax http://msdn.microsoft.com/en-us/library/cc246497.aspx
  11. 11. SMB File Open Sequence • NEGOTIATE ▫ SMB バージョンの確認、Security Blob受信 • SESSION_SETUP_ANDX ▫ クライアント情報と Security Blob 送信 • TREE_CONNECT_ANDX ▫ 接続するパスの指定 • OPEN_ANDX ▫ ファイルのオープン • READ_ANDX ▫ ファイルの読み取り
  12. 12. SMB Session / Tree Client Process Resource Server Process Resource L4 Network Session (VC) SMB Session (UID) Tree (TID)
  13. 13. SMB のパケット構造 0 8 16 17 31 0xFF 'S' (0x53) 'M' (0x4d) 'B' (0x42) Command Status Status * Flag Flag2 PID High SecuritySignature SecuritySignature * SecuritySignature * Reserved Tree ID Process ID UserID MultiplexID Request / Response Data ………
  14. 14. Request / Response Data の構造 0 8 16 17 31 WordCount WordCount 分のデータ WordCount 分のデータ (コマンドのオプションなど) WordCount 分のデータ (コマンドのオプションなど) …………. 0 8 16 17 31 ByteCount ByteCount 分のデータ ByteCount 分のデータ (読み書きするデータなど) ByteCount 分のデータ (読み書きするデータなど) ………….
  15. 15. Practice • 利用するパケット ▫ http://wiki.wireshark.org/SampleCaptures から smbtorture.cap.gz をダウンロード ▫ 短縮 URL http://goo.gl/EIUWmO http://bit.ly/paket0722
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×