windows smb更改端口_SMB协议(使用说明+过程详解+抓包分析)

本文详细介绍了SMB协议,包括其作为Microsoft网络通信协议的概述,工作原理,以及通过抓包分析SMB服务连接的具体过程。SMB通常使用139和445端口,通过TCP/IP协议进行连接。文中还演示了如何在Windows环境中开启SMB服务,建立共享,以及使用Wireshark进行抓包分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

v2-c9509dcb93ba1507e26c47446919a08b_1440w.jpg?source=172ae18b

一、SMB概述

SMB(ServerMessage Block)通信协议是微软(Microsoft)和英特尔(Intel)在1987年制定的协议,主要是作为Microsoft网络的通讯协议。SMB 是在会话层(session layer)和表示层(presentation layer)以及小部分应用层(application layer)的协议。SMB使用了NetBIOS的应用程序接口 (ApplicationProgram Interface,简称API),一般端口使用为139,445。另外,它是一个开放性的协议,允许了协议扩展——使得它变得更大而且复杂;大约有65个最上层的作业,而每个作业都超过120个函数,甚至Windows NT也没有全部支持到,最近微软又把 SMB 改名为 CIFS(CommonInternet File System),并且加入了许多新的特色。

v2-918cf04e37033993c0da72ee6fc80360_b.jpg

SMB协议是一个很重要的协议,目前绝大多数的PC上都在运行这一协议,windows系统都充当着SMB协议的客户端和服务器,所以SMB是一个遵循客户机服务器模式的协议。SMB服务器负责通过网络提供可用的共享资源给SMB客户机,服务器和客户机之间通过TCP/IP协议、或者IPX协议、或者是NetBEUI进行连接。

SMB是应用层(和表示层)协议,使用C/S架构,其工作的端口与其使用的协议有关。

当远程连接计算机访问共享资源时有两种方式:

★共享计算机地址共IP享资源路径

★共享计算机名共享资源路径

其中,使用计算机名访问时,SMB服务工作在NetBIOS协议之上,用的是TCP的139端口;使用IP地址访问时,用的是TCP的445端口。

二、SMB工作原理

01

首先客户端发送一个SMB negprot请求数据报,并列出它所支持的所有SMB协议版本。服务器收到请求信息后响应请求,并列出希望使用的协议版本。如果没有可使用的协议版本则返回0XFFFFH,结束通信。

02

协议确定后,客户端进程向服务器发起一个用户或共享的认证,这个过程是通过发送SesssetupX请求数据报实现的。客户端发送一对用户名和密码或一个简单密码到服务器,然后服务器通过发送一个SesssetupX应答数据报来允许或拒绝本次连接。

03

当客户端和服务器完成了磋商和认证之后,它会发送一个Tcon或TconX SMB数据报并列出它想访问网络资源的名称,之后服务器会发送一个TconX应答数据报以表示此次连接是否被接受或拒绝。

04

连接到相应资源后,SMB客户端就能够通过open SMB打开一个文件,通过read SMB读取文件,通过write SMB写入文件,通过close SMB关闭文件。

三、抓包分析SMB服务的具体过程

环境搭建

服务端:Windows7虚拟机一台(账户名:SoisMoooo;密码:111)

客户端:Windows10计算机一台(安装Wireshark)

windows7的IP:192.168.135.130

Windows10的IP:192.168.135.1

A.开启SMB协议

1、服务端(windows7)开启SMB协议,并建立一个共享文件夹:

v2-949c45783b47d7b723f3edf08a32d32d_b.jpg

v2-5112a078a447c1329d70a2db84484c61_b.jpg

v2-29338c43ef16411c46526cc4aa396ca1_b.jpg

v2-ffcf2d01b35d86f3c8af98237d3d30f3_b.jpg

v2-d5a5161c04f12a8ce7039c0d5e1dea13_b.jpg

v2-7efdd514bdd839d8007615729d3f262c_b.jpg

2、客户端(windows10)开启SMB协议:

v2-5456a48e4a7ef864a5432a7bcea02402_b.jpg

v2-a8357c2e28348a9cb104277450db6d38_b.jpg

v2-aa7079ee0219cfe7d61f869aa0b2f599_b.jpg

3、输入:192.168.135.130共享文件夹

填写Windows7账户名和密码

v2-a2234e359767928bea47028f2501cb6f_b.jpg

B.抓包分析工作

1、TCP三次握手建立连接

v2-d8b47d6869e54f98f4e892b3da0916a7_b.jpg

2、SMB协商过程:

首先客户端发送一个SMB negotiate protocol request请求数据报,并列出它所支持的所有SMB协议版本

0x0202   SMB 2.002
0x0210   SMB 2.10
0x0300   SMB 3.0
0x0302   SMB 3.02
0x0311   SMB 3.11 

v2-02fc1704048bf00153599313dc45b322_b.jpg

3、通过上图Response包可以看到,希望服务端使用的版本是SMB 2.10

协议确定后,客户端进程向服务器发起一个用户或共享的认证,这个过程是通过发送session setup request请求数据报实现的。客户端发送一对用户名和密码或一个简单密码到服务器。

v2-d8e1a6b53937312ab7e49650187661eb_b.jpg

4、然后服务器通过发送一个Session setup response应答数据报来允许或拒绝本次连接。

v2-bd235a72ea146b3d9b17726ecd6ec631_b.jpg

5、当客户端和服务器完成了磋商和认证之后,它会发送一个Tree connect rerquest SMB数据报并列出它想访问网络资源的名称。

之后服务器会发送一个tree connect response应答数据报以表示此次连接是否被接受或拒绝

v2-b3668cb27c8beab413921d881cb5c40f_b.jpg

6、最后就可以进行读写操作。

原文链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值