CIFS服务端开发笔记

◆ 当SMB_COM_WRITE_ANDX请求写入的数据字节数大于或等于65535时,数据包的ByteCount字段将为0,这种情况下只能够通过数据包的实际大小判断要写入的数据字节数。

 

◆ 在执行lsarpc的LsarLookupSids2方法时,ReferencedDomains参数必须有内容,否则Windows XP或更高版本的客户端将不能识别返回的用户名。

 

◆ 所有的DCERPC的字符串内容必须按2字符对齐并且以空(0)字符结尾,如果字符数量为单数,应该在它的后面追加一个空(0)字符。

 

◆ 在SMB_COM_NEGOTIATE应答时MaxMpx为1并且SMB_COM_NT_CREATE_ANDX应答时OpLockLevel的值为0,将会导致一些文件相关的Win32 API函数(例如GetPrivateProfileString)不能正常工作。

 

◆ 有些Windows Vista之前版本的客户端使用NTLM v2的方式登录时,发送的AUTHENTICATE_MESSAGE中Lm Response和Nt Response都是24字节,和NTLM v2的标准格式不同。其中Lm Response前8个字节为Client Challenge,必须接在Server Challenge之后组成一个16字节的内容,并计算出这个内容的MD5值。然后使用NTLM v1的加密方法(P24)把MD5值加密为24字节数据与Nt Response进行比较。

 

◆ Windows Vista或更高版本的Windows客户端不再支持NTLM v1的身份验证方式。

 

◆ Windows 7客户端登录时,会发送24个字节的Lm Response,但是每个字节的值都为0,不知道有什么作用。

 

◆ 在处理TRANS2_FIND_FIRST2的Transacton时,如果请求查找的是所有文件(查找名称为“*”),必须在应答的查找结果中包含“.”和“..”这两个特殊目录信息(即使要查找的目录下没有任何内容)。

 

◆ 返回一个文件属性如果为SMB_FILE_ATTRIBUTE_NORMAL而不是SMB_FILE_ATTRIBUTE_ARCHIVE,可能会造成某些程序无法正常访问文件。

 

◆ 在应答SMB_COM_NT_CREATE_ANDX的时候,如果OpLockLevel的值为0可能会降低Windows读写文件的性能。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值