LLMNR协议详解

LLMNR(Link-Local Multicast Name Resolution)协议是一个用于对特定网络中没有 DNS 服务器的机器进行命名解析的协议。在 Windows Vista 和之后的版本中,LLMNR 已经被默认开启。LLMNR 使用组播地址和多播 DNS 查询协议来实现单个主机名的解析。

一、LLMNR 的工作原理

在一个网络中,如果一个主机需要解析另一台主机的名称时,它会首先轮询自己的 DNS 解析器。但是,如果在本地 DNS 中找不到该主机名,则该查询将会失败。在这种情况下,LLMNR 就会发挥作用。

当 LLMNR 启用时,当一个主机发现它无法使用 DNS 解析某个名称时,它会向一个带有相同的 LLMNR 回答的同一组中的主机发送一个请求。如果请求被另一个主机收到,该主机将会使用 ICMPv6 协议发回一条回答,该回答将包含它的 IPv6 地址。

如果请求在 IPv6 网络上未能被处理,那么该主机将转而使用 IPv4 的多播查询协议,这种协议称为“NetBIOS Name Service (NBT-NS)”。这个协议查找在机器上运行的 NetBIOS 服务,以便解决主机名。如果可以找到 NetBIOS 服务,则 NBT-NS 将会返回该服务的 IP 地址。

二、LLMNR 的应用场景

LLMNR 使用于在同一本地网络中的两台 Windows 主机之间进行通讯。LLMNR 的优势是在于它可以让不同操作系统的主机名解析更加容易,并且开启 LLNMR 能够在没有 DNS 服务器的网络中使主机能够互相发现、互相通信。

其他我们在这里列举一下 LLMNR 的一些适用场景:

1、当 DNS 服务器不可用时,LLMNR 可以用来帮助计算机对于其他计算机进行名称解析。

2、当两台 Windows 计算机连接在同一局域网内时,LLMNR 可以将所有主机都作为相同的广播域项呈现,进而在它们之间实现基本的名称解析服务。

三、LLMNR 的流量安全性问题

LLMNR 使用组播地址和多播查询协议,因此由于其开放的传输方式,可能会引发一些网络安全问题。攻击者可以通过监听网络流量、伪造回答数据信息等方式,从而对 LLNMR 实现的局域网进行钓鱼或劫持攻击。

为了防止 LLNMR 的安全问题,以下是一些建议:

1、尝试禁用 LLMNR 协议,这样就可以避免基于 LLMNR 的攻击。这样可以通过增加特定的组策略来实现:计算机配置 – 管理模板 – 网络 – DNS 客户端 – “禁用 Link-Local Multicast Name Resolution”。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\DNSClient]
"EnableMulticast"=dword:00000000

2、在网络边界上采取策略和安全措施来防止未经授权的网络访问和窃听。

3、在网络上设置合适的访问控制,同时禁止不必要的服务和协议。

四、总结

LLMNR 协议是一个用于对特定网络中没有 DNS 服务器的机器进行命名解析的协议。LLMNR 已经被默认开启。LLMNR 使用组播地址和多播 DNS 查询协议来实现单个主机名的解析。LLMNR 适用于在同一本地网络中的两台 Windows 主机之间进行通讯。由于其开放的传输方式,可能会引发一些网络安全问题。为了防止 LLNMR 的安全问题,建议采取一些安全措施。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/156948.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-18 01:59
下一篇 2024-11-18 01:59

相关推荐

  • 机智云gagent属于哪个协议?

    机智云gagent主要是基于MQTT协议,同时支持TCP、TLS、WebSocket等多种协议。 一、MQTT协议介绍 MQTT全称Message Queuing Telemetr…

    编程 2025-04-29
  • 使用Netzob进行网络协议分析

    Netzob是一款开源的网络协议分析工具。它提供了一套完整的协议分析框架,可以支持多种数据格式的解析和可视化,方便用户对协议数据进行分析和定制。本文将从多个方面对Netzob进行详…

    编程 2025-04-29
  • 如何取消火车票自动抢票协议

    火车票自动抢票协议,是一种利用技术手段在系统繁忙的情况下,自动刷取并抢购火车票的行为。虽然在某些情况下能够提高购票成功率,但是也会影响其他乘客的购票权益。因此,取消火车票自动抢票协…

    编程 2025-04-29
  • USB协议栈

    USB(Universal Serial Bus)是一种常见的计算机外部接口,它已经被广泛使用在各种设备中,例如打印机、键盘、鼠标等。在实现USB通信的过程中,USB协议栈起着非常…

    编程 2025-04-27
  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25
  • 神经网络代码详解

    神经网络作为一种人工智能技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。而神经网络的模型编写,离不开代码。本文将从多个方面详细阐述神经网络模型编写的代码技术。 一、神经网…

    编程 2025-04-25
  • Linux修改文件名命令详解

    在Linux系统中,修改文件名是一个很常见的操作。Linux提供了多种方式来修改文件名,这篇文章将介绍Linux修改文件名的详细操作。 一、mv命令 mv命令是Linux下的常用命…

    编程 2025-04-25
  • Python输入输出详解

    一、文件读写 Python中文件的读写操作是必不可少的基本技能之一。读写文件分别使用open()函数中的’r’和’w’参数,读取文件…

    编程 2025-04-25
  • 详解eclipse设置

    一、安装与基础设置 1、下载eclipse并进行安装。 2、打开eclipse,选择对应的工作空间路径。 File -> Switch Workspace -> [选择…

    编程 2025-04-25
  • nginx与apache应用开发详解

    一、概述 nginx和apache都是常见的web服务器。nginx是一个高性能的反向代理web服务器,将负载均衡和缓存集成在了一起,可以动静分离。apache是一个可扩展的web…

    编程 2025-04-25

发表回复

登录后才能评论