# Network Protocols Explained (ESP)

<details>

<summary><strong>从零开始学习AWS黑客技术，成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE（HackTricks AWS红队专家）</strong></a><strong>！</strong></summary>

支持HackTricks的其他方式：

* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**，请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com)
* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family)，我们独家的[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品
* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或 **关注**我们的**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**。**
* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。

</details>

### 多播DNS（mDNS）

**mDNS**协议旨在在没有专用名称服务器的小型本地网络中进行IP地址解析。它通过在子网内进行多播查询来促使具有指定名称的主机响应其IP地址。然后，子网中的所有设备可以使用此信息更新其mDNS缓存。

需要注意的关键点：

* **域名放弃**：主机可以通过发送TTL为零的数据包释放其域名。
* **使用限制**：mDNS通常仅解析以\*\*.local\*\*结尾的名称。在此域中与非mDNS主机的冲突需要进行网络配置调整。
* **网络详细信息**：
* 以太网多播MAC地址：IPv4 - `01:00:5E:00:00:FB`，IPv6 - `33:33:00:00:00:FB`。
* IP地址：IPv4 - `224.0.0.251`，IPv6 - `ff02::fb`。
* 在UDP端口5353上运行。
* mDNS查询限于本地网络，不会跨越路由器。

### DNS-SD（服务发现）

DNS-SD是一种通过查询特定域名（例如，`_printers._tcp.local`）来发现网络上的服务的协议。响应包括所有相关域，例如在此情况下可用的打印机。可以在[此处](http://www.dns-sd.org/ServiceTypes.html)找到服务类型的全面列表。

### SSDP（简单服务发现协议）

SSDP促进了网络服务的发现，主要由UPnP使用。它是一种使用UDP的基于文本的协议，使用多播寻址。对于IPv4，指定的多播地址是`239.255.255.250`。SSDP的基础是[HTTPU](https://en.wikipedia.org/wiki/HTTPU)，这是HTTP的UDP扩展。

### 设备的Web服务（WSD）

连接到网络的设备可以通过Web服务（WSD）识别可用的服务，如打印机。这涉及广播UDP数据包。寻找服务的设备发送请求，而服务提供者宣布其提供的服务。

### OAuth 2.0

OAuth 2.0是一种协议，促进了用户信息的安全、选择性共享。例如，它使服务能够从Google访问用户数据而无需多次登录。该过程涉及用户身份验证，用户授权，以及Google生成令牌，允许服务访问指定用户数据。

### RADIUS

RADIUS（远程身份验证拨号用户服务）是主要由ISP使用的网络访问协议。它支持身份验证、授权和计费。用户凭据由RADIUS服务器验证，可能包括网络地址验证以增加安全性。身份验证后，用户获得网络访问，并跟踪其会话详细信息以进行计费和统计目的。

### SMB和NetBIOS

#### SMB（服务器消息块）

SMB是用于共享文件、打印机和端口的协议。它直接通过TCP（端口445）或通过TCP上的NetBIOS（端口137、138）运行。这种双重兼容性增强了与各种设备的连接。

#### NetBIOS（网络基本输入/输出系统）

NetBIOS管理资源共享的网络会话和连接。它支持设备的唯一名称和多个设备的组名称，从而实现定向或广播消息传递。通信可以是无连接的（无确认）或面向连接的（基于会话）。虽然NetBIOS传统上在诸如IPC/IPX之类的协议上运行，但它通常在TCP/IP上使用。NetBEUI是一个相关协议，以其速度而闻名，但由于广播而非常冗长。

### LDAP（轻量级目录访问协议）

LDAP是一种协议，允许在TCP/IP上管理和访问目录信息。它支持各种操作来查询和修改目录信息。主要用于访问和维护分布式目录信息服务，允许与设计用于LDAP通信的数据库进行交互。

### Active Directory（AD）

Active Directory是一个网络可访问的数据库，包含用户、组、特权和资源等对象，便于对网络实体进行集中管理。AD将其数据组织成域的分层结构，可以包含服务器、组和用户。子域允许进一步分段，每个子域可能维护自己的服务器和用户群。这种结构集中管理用户，授予或限制对网络资源的访问。可以进行查询以检索特定信息，如联系方式，或定位域内的资源，如打印机。

<details>

<summary><strong>从零开始学习AWS黑客技术，成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE（HackTricks AWS红队专家）</strong></a><strong>！</strong></summary>

支持HackTricks的其他方式：

* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**，请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com)
* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family)，我们独家的[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品
* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或 **关注**我们的**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**。**
* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。

</details>
