SMB协议概述

一、概述

  SMB(Server Message Block)是由微软开发的一种软件程序级的网络传输协议,主要用来使得一个网络上的计算机共享计文件、打印机、串行端口和通讯等资源。它也提供认证的进行进程间通信机能。经过Unix服务器厂商重新开发后,它可以用于连接Unix服务器和Windows客户机,执行打印和文件共享等任务。

  SMB一开始的设计是在NetBIOS协议上运行的(而NetBIOS本身则运行在NetBEUI、IPX/SPX或TCP/IP协议上)。从Windows2000开始,微软引入SMB Direct Over TCP,重新命名为 CIFS(Common Internet File System),并打算将它与NetBIOS相脱离,试图使它成为Internet上计算机之间相互共享数据的一种标准。CIFS是公开或开放的SMB协议版本。

二、基于NBTSMB

  NetBIOS 支持两种通信模式:会话(session)或数据报(datagram)?会话模式是指两台计算机为“对话"建立一个连接,允许处理大量信息,并支持差错监测和恢复功能?数据报模式面向“无连接"(信息独立发送)操作,发送的信息较小,由应用程序提供差错监测和恢复功能?此外数据报模式也支持将信息广播到局域网中的每台计算机上?若SMB运行在NBT(NetBIOS Over TCP)协议上,而NBT提供三种不同的服务:

  • 名字服务(NetBIOS Name Service)
  • 数据包服务(NetBIOS Datagram Service)
  • 会话服务(NetBIOS Session Service)

NetBIOS 名称映射到IP地址上有三种方法:

  1. IP 广播 - 当目标地址不在本地 cache 上时,广播一个 包含目标计算机 NetBIOS 名称的数据包?目标计算机返回其 IP 地址?
  2. lmhosts 文件 - 这是一个负责映射 IP 地址和 NetBIOS 计算机名称的文件?
  3. NBNS - NetBIOS 命名服务器负责 将 NetBIOS 名称映射到 IP 地址上?

1. 名字服务(NetBIOS Name Service,即NBNS)

  运行在137(UDP)端口,提供计算机的名字或IP地址查询服务,类似于TCP/IP协议中的DNS,负责查找目标机器相应的节点地址(TCP/IP协议中为IP地址),并赋予一个NetBIOS名称。可以使用两种方法:

  第一种:位于同一工作组中的电脑之间利用广播功能进行计算机名管理。电脑在启动或者连接网络时,会向同一工作组中的所有计算机质询有没有和自己相同的NetBIOS名称。

  另一种:利用WINS(Windows因特网名称服务)管理NetBIOS名称。WINS服务器用于登记记录计算机NetBIOS名称和IP地址的对应关系,供局域网计算机查询。WINS客户端在系统起动时或连接网络时会将自己的NetBIOS名称与IP地址发送给WINS服务器。

  非法入侵者向目标主机的138端口发送一个连接请求,就能获得目标主机的名称、注册用户名,以及是否安装主控控制器,IIS是否正在运行等。

2. 数据包服务(NetBIOS Datagram Service)

  运行在138(UDP)端口,提供NetBIOS浏览功能,显示连接到于网络的计算机设备列表。每台电脑在启动时或连接网络时通过138端口广播自己的NetBIOS名称,收到NetBIOS广播的计算机会将该计算机追加到浏览列表中;关闭电脑时,计算机会通过138端口广播,收到NetBIOS广播的计算机会将该计算机从浏览列表中删除;当计算机需要连接到于网络的计算机设备列表,会广播一个请求,收到请求主机会发送列表。非法入侵者通过与目标主机的138端口发送请求,就能获得目标主机所处的局域网网络名称以及目标主机的计算机名称。

3. 会话服务(NetBIOS Session Service)

  运行在139(TCP)端口,提供“NetBIOS Session Service”服务,基于SMB协议对外提供共享服务,包括Windows文件和打印机共享以及Unix中的Samba服务。

三、CIFS(SMB增强版)

  若SMB直接运行在TCP上,即CIFS协议,占用的TCP端口号是445。提供的功能与139端口完全相同。为保证向后兼容性,Windows 2000以后版本中基于NBT的SMB和CIFS同时并存。当Windows系统(允许NBT)来连接SMB服务器时,同时尝试连接139和445端口。如果445端口有响应,那么发送RST包给139端口断开连接,使用455端口提供SMB服务。当445端口无响应时,使用139端口提供SMB服务。

SMB协议概述

时间: 2024-11-05 23:34:57

SMB协议概述的相关文章

UWP开发技巧:实现SMB协议操作文件服务器文件

问题来源 文件服务器文件夹操作在PC与Surface端确实还是和传统操作一样没什么区别,但是到了手机端与Surface Hub就没那么方便了,因为文件资源管理器Explorer根本没法添加网路硬盘.对于传统行业以及担心云端文件安全的企业固然还是希望能使用文件服务器,特别是SurfaceHub用户.SurfaceHub用户开会的时候会用到很多敏感文件,这个时候如果无法访问内部机密文件服务器,那还有什么用处? 解决方法 由于SurfaceHub只能安装UWP应用,自然首先考虑UWP的实现.目前支持S

HTTP协议概述

HTTP协议概述 什么是HTTP协议 1.HTTP协议:hypertext transfer protocol(超文本传输协议) 规定客户端和服务器如何进行交互 基于TCP/IP协议的应用层协议 2.HTTP最基本的三个条件: 1.HTTP协议基于请求响应模型 2.一次请求对应一次响应 3.请求只能由客户端发出,服务器只能被动的等待请求做出响应 2.HTTP1.0和HTTP1.1的区别 1.HTTP1.0协议中,客户端与web服务器建立连接后,只能获得一个web资源. 2.HTTP1.1协议,客

javaweb学习总结十九(http协议概述以及http请求信息分析)

一:http协议概述 1:http协议定义 2:使用telnet程序连接web服务器,获取资源 3:http协议:超文本传输协议,它是基于tcp/ip协议,就是建立在tcp/ip之上工作的, http协议前提是必须浏览器与服务器建立连接. 4:http/1.0与http/1.1的区别 telnet连接tomcat服务器演示: http1.0协议: 只与服务器交互了1次,然后就端口连接. http1.1协议: 5:浏览器请求服务器端次数问题 一个浏览器访问服务器,首先拿到html页面,然后发现有图

smb协议详解和samba服务的配置

理论部分 samba:基于smb协议使网络上的计算机能共享文件 samba的核心是smbd和nmbd两个守护进程 smbd:管理samba服务器上的共享目录 nmbd:进行netbios名解析,使客户端能浏览服务器的共享资源 协议端口: smbd:tcp 445和tcp139 nmbd:udp 137/138 工作流程: (图片来源网络) samba服务器的安装和配置 1.安装samba     yum install samba -y 2.修改配置文件/etc/samba/smb.conf #

射频识别技术漫谈(6)——通讯协议概述

通讯协议是通讯的双方或多方在交流时遵守的规矩,包括谁先发起通讯,先交流什么,后交流什么,一方如何问,另一方如何答等.在这里通迅的双方指的是读写器和卡片. 首先是谁先发起通讯,很显然有两种,读写器先发言和卡片先发言.前一种叫Reader Talk First,简称为RTF;后一种叫Tag Talk First,简称为TTF. 我们知道,卡片从读写器产生的射频场获得工作时需要的能量,一般认为应该是读写器主动,卡片被动才对,这也是人之常情.所以多数功能稍复杂的卡片都是采用RTF模式,即读写器问,卡片回

Mac 使用smb协议连接FTP服务器

在Mac中,可以通过smb协议作为客户端连接到服务器,例如一个FTP服务器,然后获取上面的共享文件. 方法: 1.在Finder菜单中点击前往 -- 连接服务器. 也可以Command + K,也可以右击Finder然后点击连接服务器. 2.输入服务器地址并连接: 3.接下来以客户或注册用户身份登录,后面的就不多说了. Mac 使用smb协议连接FTP服务器,布布扣,bubuko.com

基于SMB协议的共享文件读写 博客分类: Java

基于SMB协议的共享文件读写 博客分类: Java 一.SMB协议 SMB协议是基于TCP-NETBIOS下的,一般端口使用为139,445. 服务器信息块(SMB)协议是一种IBM协议,用于在计算机间共享文件.打印机.串口等.SMB 协议可以用在因特网的TCP/IP协议之上,也可以用在其它网络协议如IPX和NetBEUI 之上. SMB 一种客户机/服务器.请求/响应协议.通过 SMB 协议,客户端应用程序可以在各种网络环境下读.写服务器上的文件,以及对服务器程序提出服务请求.此外通过 SMB

网络协议概述:物理层、连接层、网络层、传输层、应用层详解(转载)

这篇文章主要介绍了网络协议概述:物理层.连接层.网络层.传输层.应用层详解,本文用生活中的邮差与邮局来帮助理解复杂的网络协议,通俗易懂,文风幽默,是少见的好文章,需要的朋友可以参考下 信号的传输总要符合一定的协议(protocol).比如说长城上放狼烟,是因为人们已经预先设定好狼烟这个物理信号代表了“敌人入侵”这一抽象信号.这样一个“狼烟=敌人入侵”就是一个简单的协议.协议可以更复杂,比如摩尔斯码(Morse Code),使用短信号和长信号的组合,来代表不同的英文字母.比如SOS(***---*

基于SMB协议的共享文件读写

一.SMB协议 SMB协议是基于TCP-NETBIOS下的,一般端口使用为139,445. 服务器信息块(SMB)协议是一种IBM协议,用于在计算机间共享文件.打印机.串口等.SMB 协议可以用在因特网的TCP/IP协议之上,也可以用在其它网络协议如IPX和NetBEUI 之上. SMB 一种客户机/服务器.请求/响应协议.通过 SMB 协议,客户端应用程序可以在各种网络环境下读.写服务器上的文件,以及对服务器程序提出服务请求.此外通过 SMB 协议,应用程序可以访问远程服务器端的文件.以及打印