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时…...
仿美团外卖微信小程序源码/美团外卖优惠券领劵小程序-自带流量主模式
源码简介: 仿美团外卖微信小程序源码,它是美团外卖优惠券领劵小程序,还自带流量主模式。可以领取外卖优惠券的小程序。实用方便。 美团优惠券小程序带举牌小人带菜谱流量主模式,挺多外卖小程序的,但是都没有搭建教程…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...
