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

图1
为了实现上图1的各种服务,windows采用通用协议和重新设计专有协议满足服务间通信的需求。如下:
那么这些通用协议和专用协议之间如何配合完成图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
上述的LSA以及SAM相关的功能在客户端都是一个叫做lsass.exe的进程实现的,对应的程序路径为%SystemRoot%\System32\Lsass.exe,lsass是windows系统组件,管理着windows所有的安全相关的策略,例如用户的登录认证,权限验证等,通常工作在用户态,lsass包含下图7的功能:

图7
图7可知通常LSA和SAM功能模块会优先本地的数据库进行查询实现,如果本地的数据库中没有对应的信息,则会使用LSA以及SAM相关的协议到域控服务器中进行查询。
至此域环境中的协议之间的总体关系介绍就完成了,后在后续的文章会针对每一个协议的功能交互进行讲述。
本文为CSDN村中少年原创文章,未经允许不得转载,博主链接这里。