zoukankan      html  css  js  c++  java
  • windows CIFS sabma协议识别

    今天在linux上搭建了CIFS协议,使用sabma4.7.0版本。

    通过smbstatus可以查看smb软件的版本

    通过/bin/smbstatus -d 0可以查看目前正连接的客户端。

    问题来了:不知道这个smb到底支持哪些SMB协议,目前SMB的版本有1.X    2.02   2.1    3.0    3.0.2   3.1.1

    至少网上没有查询到方法或者文档。虽然知道samba4.7.0肯定支持SMB全协议。

    在使用wireshark进行协议抓包的时候,发现了这个问题的解决办法:

    wireshark开始抓包

    打开"我的电脑",输入\1.1.1.1

    然后看到wireshark中有NEGTIATE Request和NEGTIATE Response的内容,一般在两台服务器之间的NEGTIATE Response字段中Dialect数据是最终协商完的SMB版本。

     

    从上图可以看到

    1.wireshark中标识为SMB2版本,看上去是错误,实际上Microsoft就是这样规定的。只要非SMB1.X版本,在协议中一律使用SMB2来替代,不会出现SMB3.

    2.NEGTIATE Request中说了,我可以支持Dialect:202、210、300、302、311,对应版本即为SMB  2.02   2.1    3.0    3.0.2   3.1.1。

    从这上面张图中可以看到10.33.0.152(windows2012)回复的NEGTIATE Response信息中说,我们可以使用302版本。

    最终两台服务器之间就使用了SMB3.02版本进行通信。

     实际测试中SMB各版本在默认配置下,read性能基本一致,没有太大差异。

    部分信息参考http://www.hackdig.com/10/hack-39872.htm

    http://blog.nsfocus.net/resolution-smb-protocol/

     windows各版本支持的SMB协议如下图:反正谁的版本低就按谁的协议来。

  • 相关阅读:
    ZYNQ. Interrupt(1)Private Timer
    RaspberryPi.1.开机与远程桌面
    ZYNQ. DMA基本用法
    ZYNQ. LwIP.PHY.KSZ9031RNX
    Verilog笔记.三段式状态机
    c语言.函数指针数组
    c语言学习笔记.链表.
    D3D基本框架:即D3D头文件分类
    win32窗口:关于鼠标定位位置偏移问题的原因及解决方法
    <转>C++基础知识: 引用
  • 原文地址:https://www.cnblogs.com/tcicy/p/9992871.html
Copyright © 2011-2022 走看看