https://www.cnblogs.com/tcicy/p/9992871.html

公司的一个共享服务器就是 win2003的 mount 的时候 需要使用vers=1.0 的参数 win2019 的操作系统 需要使用 cifs1.0 安装才可以用. 

今天在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协议如下图:反正谁的版本低就按谁的协议来。

最新文章

  1. Google play(Android market)账户申请
  2. Java中的内部类(成员内部类、静态内部类、局部内部类、匿名内部类)
  3. ActiveMQ 使用
  4. Angularjs 异步模块加载项目模板
  5. 锁_rac环境kill锁表会话后出现killed状态(解决)
  6. 设计模式 --深入理解javascript
  7. 在rdlc 中 显示成 yyyy年MM月dd日
  8. vim插件介绍
  9. Hadoop概念学习系列之例子形象再谈Client、NameNode、元数据(三十一)
  10. 265行JavaScript代码的第一人称3D H5游戏Demo【个人总结1】
  11. 精确覆盖DLX算法模板另一种写法
  12. word2vec 入门(三)模型介绍
  13. getComputedStyle与currentStyle
  14. angularJS之使用过滤器转化输出 (angularJS系列最后一篇)
  15. HTML初学者的三十条最佳
  16. 数位dp模板 [dp][数位dp]
  17. Asp.net Core 入门实战 2.请求流程
  18. SVN的使用说明
  19. dtIntersectSegmentPoly2D 2D上的线段与多边形相交计算 产生结果:是否相交,线段跨越的开始和结束百分比,相交的边
  20. mongodb细讲

热门文章

  1. Oracle 物理结构(六) 文件-数据文件
  2. Java进阶知识21 Spring的AOP编程
  3. Gym - 101955K Let the Flames Begin 约瑟夫环
  4. 牛客练习赛55 E-树 树形DP
  5. Python3使用openpyxl读写Excel文件
  6. Selenium执行cdp命令,driver.execute_cdp_cmd用法
  7. 软件构造实验二-拷贝一个c文件 将其中的关键字int替换成float
  8. 为win10下的linux子系统终端添加powerline
  9. 6.4hadoop idea本地运行器测试
  10. pwn学习日记Day10 《程序员自我修养》读书笔记