SMB

MicrosoftSMB Protocol Packet Exchange Scenario

此处介绍一下,在客户端与服务端之间MicrosoftSMB Protocol的交换过程,整个过程如下所示:

  1. 客户端与服务端建立一个NetBIOS会话.

  2. 客户端与服务端协商MicrosoftSMB 协议.

  3. 客户端登陆到服务端.

  4. 客户端访问服务端共享.

  5. 客户端打开共享下的文件.

  6. 客户端读取文件.

首先,客户端与服务端建立TCP连接.客户端通过TCP连接,创建并发送NetBIOS会话。如果数据包格式正确,服务期将返回一个表明会话已建立的应答消息.在此之后,客户端发送MicrosoftSMB协议数据包到服务端.



Packet1:  SMB_COM_NEGOTIATE

Direction:  Clientto server

Description:  客户端发送请求,与服务端协商MicrosoftSMB协议.Theclient requests that the server negotiate theMicrosoft SMB Protocol dialect. 客户端发送的数据包中包含一系列用于协商的字符串.

Packet2:  SMB_COM_NEGOTIATE

Direction:  Serverto client

Description:  服务端响应客户端请求,以确认会话过程中的MicrosoftSMB协议。返回的数据包包括一个随即的8字节字符串,这个字符串将用于下一步验证客户端登录.

Packet3:  SMB_COM_SESSION_SETUP_ANDX

Direction:  Clientto server

Description:  该数据包包含客户端的功能信息,就算服务端只有共享级安全,该包页会被发送。

Packet3:  SMB_COM_SESSION_SETUP_ANDX

Direction:  Serverto client

Description:  如果询问/应答被服务端接受,一个有效的UID会被包含于数据包中,返回给客户端。如果不接受,服务端则会返回一个错误代码,并拒绝客户端访问.

Packet4:  SMB_COM_TREE_CONNECT_ANDX

Direction:  Clientto server

Description:  客户端发送共享访问请求.数据包会包含一个UNC格式的完整路径.

Packet5:  SMB_COM_TREE_CONNECT_ANDX

Direction:  Serverto client

Description:  如果访问共享被授权,服务端会返回一个16比特位的treeID,此ID对应共享。如果共享不存在,或用户凭据不足以访问共享,服务端会返回一个包含错误代码的数据包,并拒绝访问.

Packet6:  SMB_COM_OPEN_ANDX

Direction:  Clientto server

Description:  客户端向服务端请求打开可访问的共享文件,发送的数据包,包含要打开的文件名.

Packet7:  SMB_COM_OPEN_ANDX

Direction:  Serverto client

Description:  如果访问共享文件被授权,服务器会返回被请求文件对应的文件ID.如果文件不存在,或用户凭据不足以访问该文件,服务器会返回一个包含错误代码的数据包,并拒绝访问.

Packet8:  SMB_COM_READ_ANDX

Direction:  Clientto server

Description:  客户端向服务端发送请求,要求读取已打开文件的数据。客户端已获取的文件ID,是为了帮助服务端找到需要读取数据的文件.

Packet9:  SMB_COM_READ_ANDX

Direction:  Serverto client

Description:  服务端返回包含文件数据的数据包.如果共享在[文件被打开][读取数据]之间,发生变化,那么就可能产生错误.




http://msdn.microsoft.com/en-us/library/windows/desktop/aa365236%28v=vs.85%29.aspx

http://richardkok.wordpress.com/2011/02/03/wireshark-determining-a-smb-and-ntlm-version-in-a-windows-environment/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值