windows协议详解之-RPC/SMB/LDAP/LSA/SAM域控协议关系
如果你在windows域控环境中,例如企业的网络中开启wireshark抓包,你一定会遇到一大堆各种各样的协议。不同于互联网服务(大多基于HTTP),为了实现域控中各种各样的服务,windows的域控环境中采用了非常多的协议,例如LDAP,LSA,SAM等,因此有必要对域控中的协议做一个整体的介绍。 本文通过对域控协议之间关系的梳理,从整体上了解各个协议之间的关系,作为专栏《计算机网络协议快速入门教程》中的一篇。
windows有多少协议
在windows巨大的生态系统中,为了各种终端,用户,服务之间的互操作性,创建了大量的协议,那么windows究竟有多少种网络协议呢。在windows的说明文档,这里,列举介绍了大量的协议。其中有的协议比较罕见,有的协议则比较常见。本专栏无意去介绍所有的协议,但是对于域控环境中经常遇到的协议,会在后续的文章中议通过数据包的分析逐个介绍,windows对诸多的协议进行了分类,如下的分类是域控环境中常见的协议:
- 活动目录协议:活动目录相关协议提供目录服务,为域控服务器的主要功能,这是域控环境的基础,常见的活动目录协议相关包括LDAP,SAM,LSA等。
- 认证服务协议:认证服务协议用以鉴定用户,设备以及服务权限,域控环境中常见的认证服务协议包括,kerberos,NTLM,SPNG等。
- 文件访问协议:针对网络中文件的增删改查,windows常见的文件访问协议包括CIFS,SMB,SMB2,DFS等。
- windows管理协议:为不同系统之间的查询和操作提供可能,WMI的功能是最为常见的,相关协议包括基于DCOM的WMI,PSRP等。
关于域控服务
windows域环境是由域控服务器和众多终端和应用服务器组成的一套网络环境,windows提供的很多协议都和域控服务器相关。域控服务器提供目录服务,即中央集权式的用户认证,权限管理,证书管理,组策略等,域控服务器提供相关的服务功能如下图1:

图1
为了实现上图1的各种服务,windows采用通用协议和重新设计专有协议满足服务间通信的需求。如下:
- 通用协议,例如DNS,kerberos,LDAP,TCP/IP,DCE/RPC等,这些协议不仅可以使用在windows的域环境中,在其他非windows域环境中也被大量的使用。例如DNS在互联网中被用来进行域名的解析,kerberos被各种应用用来进行身份的认证。其中DNS的介绍见这里,kerberos介绍见这里,DCE/RPC介绍见这里。但是其中一些协议针对windows特有环境做了扩展,例如kerberos,DCE/RPC等。
- 专有协议,例如LSA,SAM,SMB,DCOM等,这些协议基本是微软开发针对windows域环境所应用的协议,用于域环境中各个主机之间交互。例如SAM协议就是用来实现用户和组的增删改查等服务。
域环境协议间关系
那么这些通用协议和专用协议之间如何配合完成图1中的服务呢。在前面SMB文章的介绍中可知SMB协议既可以独立作为文件共享协议完成文件的增删改查功能,也可以作为传输协议,承载更高层应用,在之前的SMB中说明了其和RPC以及TCP等协议的关系,这里,如下图2:

图2
可以看到SMB可以基于QUIC,NETBIOS,TCP,认证阶段可以借助SPNG调用Kerberos或者NTLM,也可以承载DCE/RPC等其他协议。当然RPC不仅可以基于SMB还可以直接使用TCP作为传输层协议,在前面的文章中有所提及,这里,如下图3:

图3
图2,图3的其中一个数据包示例如下图4:

图4
而对于windows域控服务器上的目录服务所设计的专有协议,很多都是基于RPC来实现服务的调用,如下图5:

图5
需要注意的是图5中的Network Transports既可以是常见的TCP/UDP等协议,也可以是SMB,Netbios等,即图3中的面向连接和非连接所示。图5中RPC承载的上层协议即为活动目录相关协议,活动目录相关协议包含如下图6几类:

图6
- LDAP全称是Lightweight Directory Access Protocol,,该协议用于实现对于活动目录树中对象的读写。DSSP全称Directory Services Setup Remote Protocol用来检索域中或者非域控工作组中机器的状态。
- LSA全称是Local Security Authority,用于实现客户端查询域控策略信息和将安全标识符SID转换成为可读的内容。LSAD,即用于查询域控策略,LSAT即用于SID和对应解释之间的映射转换等。
- SAM的全称是Security Account Manager ,该协议是实现用户和组的增删改查等服务,其中SAMR协议用于终端和SAM服务之间的通信,SAMS用户不同SAM服务之间的数据交互(即不同域控服务器之间的SAM服务)。
上述的LSA以及SAM相关的功能在客户端都是一个叫做lsass.exe的进程实现的,对应的程序路径为%SystemRoot%\System32\Lsass.exe,lsass是windows系统组件,管理着windows所有的安全相关的策略,例如用户的登录认证,权限验证等,通常工作在用户态,lsass包含下图7的功能:

图7
图7可知通常LSA和SAM功能模块会优先本地的数据库进行查询实现,如果本地的数据库中没有对应的信息,则会使用LSA以及SAM相关的协议到域控服务器中进行查询。
至此域环境中的协议之间的总体关系介绍就完成了,后在后续的文章会针对每一个协议的功能交互进行讲述。
本文为CSDN村中少年原创文章,未经允许不得转载,博主链接这里。
相关文章:
windows协议详解之-RPC/SMB/LDAP/LSA/SAM域控协议关系
如果你在windows域控环境中,例如企业的网络中开启wireshark抓包,你一定会遇到一大堆各种各样的协议。不同于互联网服务(大多基于HTTP),为了实现域控中各种各样的服务,windows的域控环境中采用了非常多的协议…...
uniapp中 background-image 设置背景图片不展示问题
有问题 <view class"file-picker__box jsz" tap"jszxszUpload(jsz)"></view>.jsz {background-image: url(../../static/example_drive.png); }解决1 <view class"file-picker__box jsz" :style"{ background-image: url(…...
Elasticsearch打分机制
一 例子 xx搜索引擎,就搜索结果本身而言,xx返回了正确的结果。因为返回的结果中,都包含了搜索的关键字。而我们从逻辑上来看,这一堆广告算是咋回事!这个吐槽是从用户的角度出发的。很显然,返回的结果中,尤其是前几条,有时甚至是前几页,都跟我们想要的结果相差深远! …...
【pdf密码】为什么我的PDF文件不能复制文字?
大家现在接触PDF文件越来越多,有的时候在网上下载的PDF文件打开之后,发现选中文字之后无法复制。甚至其他功能也都无法使用,这是怎么回事?该怎么办? 当我们发现文件打开之后,编辑功能无法使用,很…...
vim程序编辑器
最近读书读完感觉没有读一样,所以决定写笔记记录下 vi的使用包括三种模式 一般模式 编辑模式 a,i,o,r,A,I,O,R 用来插入或者替换内容 命令行模式 :wq保存退出:wq!强制保存退出…...
新手如何学习挖漏洞?看这篇就够了【网络安全】
什么是漏洞挖掘 漏洞挖掘是指通过分析软件、系统或网络中存在的安全漏洞来发现并利用这些漏洞。漏洞挖掘是信息安全领域的一项重要工作,可以帮助企业和组织提高系统的安全性,避免黑客攻击和数据泄露。 漏洞挖掘的流程一般可以概括为以下几个步骤&#x…...
CentOS 7.8 kubeadm安装 k8s 1.26
CentOS 7.8 kubeadm安装 k8s 1.26 规划 集群 主机名IP地址k8s-master01192.168.200.101k8s-master02192.168.200.102k8s-master03192.168.200.103k8s-node01192.168.200.201k8s-node02192.168.200.202 VIP(虚拟IP) 192.168.200.80 Harbor http://192.168.200.50 基础 …...
成都瀚网科技有限公司抖音小店:创新营销引领电商潮流
在当今数字化时代,抖音作为一款备受欢迎的短视频平台,不仅吸引了大量用户的关注,还为众多电商企业提供了新的销售渠道。成都瀚网科技有限公司抖音小店便是其中之一,凭借其独特的营销策略和优质的产品,成为了抖音电商领…...
警惕!又2本期刊被“On Hold”!
【SciencePub学术】 此前,继一本SSCI期刊被取消“On hold”标识后,仍处于“On Hold”状态的期刊有6本,其中包括4本SCI期刊和2本ESCI期刊。近日,经小编查询,又新增2本“On Hold”期刊,详情如下:…...
一台服务器成了哆啦A梦的神奇口袋
如果我有一台服务器,那简直就像打开了哆啦A梦的神奇口袋!可以做的事情可太多啦,比如: 学习和探险 首先嘛,当然是用来学习和探险啦!我可以安装和配置各种操作系统、编程语言和工具,深入了解计…...
java 关闭access文件资源后,无法删除文件
复现问题 // 数据库驱动String DRIVER_CLASS "net.ucanaccess.jdbc.UcanaccessDriver";// 数据库连接地址String DB_URL "jdbc:ucanaccess://D/test.mdb";String DB_USER ""; // 数据库用户名称String DB_PASSWORD "";// 数据库用…...
Typecho 添加 Emoji 表情报错「解决方案」
Typecho 添加 Emoji 表情报错 文章目录 Typecho 添加 Emoji 表情报错前言Emoji 表情utf8mb4 与 UTF8 解决方案[1] 数据库编码更改[2] 数据库配置文件更改 前言 Typecho 添加 Emoji 表情不支持,报错 Database Query Error Emoji 表情 Emoji 就是表情符号,…...
【C#】委托与事件
目录 一、委托 1.什么是委托 2.委托类型的声明与初始化 3.委托类型引用方法的调用 4.使用委托类型作为方法的参数 5.Action委托 6.Func委托 7.通用类型冒泡排序 8.多播委托 二、Lambda表达式 1.匿名方法 2.Lambda表达式表示匿名方法 三、事件 1.什么是事件 2.事件…...
化工园区数字孪生可视化管控平台,赋予园区安全环保智慧发展
化工行业作为国民经济的支柱和工业发展的引擎,对安全生产、环保节能、应急管控有着很高的要求。目前国内外化工园区面临安全和环保两大压力。为有效解决这两大难题,巨蟹数科综合运用物联网、数字孪生等新一代信息技术,建设了数字孪生园区智慧…...
Laplacian算子详解及例程
Laplacian算子是一种常用的边缘检测算法,它是通过对图像进行二阶微分来检测图像的边缘。Laplacian算子的优点是能够对不同方向的边缘进行检测,对于边缘的粗细和强度变化也比较敏感。 Laplacian算子的计算公式为: ∇f ∂f/∂x ∂f/∂y其中…...
《数据结构与算法》学习指导手册
我觉得,对于初学者来说,先把最简单、最基础、最重要的知识点掌握好,再去研究难度较高、更加高级的知识点,这样由易到难、循序渐进的学习路径,无疑是最合理的。 这里有每个知识点的难易程度、需要你掌握到什么程度、具…...
ubuntu安装配置mantis
目录 前言安装Apache2安装PHP安装数据库mariadbmariadb安装MariaDB重置密码为MantisBT创建数据库和用户 phpmyadmin安装和配置安装phpmyadmin查看安装内容配置phpmyadmin1.phpmyadmin apache配置文件2.为phpmyadmin创建数据库和用户3.修改配置文件config-db.php4.重新运行 管理…...
node后端接收pdf接口
当从前端发送过来的数据是文件时,后端如何接收呢? const express require(express); const multer require(multer);const app express();// 设置文件存储路径和文件名 const storage multer.diskStorage({destination: (req, file, cb) > {cb(nu…...
[RPC] Motan快速开始
文章目录 一、概述二、功能三、XML配置使用1、同步调用1.1、pom中添加依赖1.2、为调用方和服务方创建公共接口。1.3、编写业务接口逻辑、创建并启动RPC Server。1.4、创建并执行RPC Client。 2、异步调用2.1、在接口类上加MotanAsync注解2.2、在client端配置motan_client.xml时…...
仿美团外卖微信小程序源码/美团外卖优惠券领劵小程序-自带流量主模式
源码简介: 仿美团外卖微信小程序源码,它是美团外卖优惠券领劵小程序,还自带流量主模式。可以领取外卖优惠券的小程序。实用方便。 美团优惠券小程序带举牌小人带菜谱流量主模式,挺多外卖小程序的,但是都没有搭建教程…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果