什么是 NetBIOS?Windows 是否需要打开其端口 137 和 138?

cla*_*aws 17 windows netbios

我从来没有真正了解过 NetBIOS。我不明白维基百科关于它的文章。我搜索了 YouTube,但找不到解释 NetBIOS 是什么的视频。

NetBIOS 有什么作用?我使用的是 Windows XP 机器,并且端口 137、138 似乎在我的机器上打开。我应该关闭它们吗?或者我的 Windows 是否需要出于某种目的打开它们?如果没有,我为什么需要 NetBIOS?

Blu*_*303 22

来自hackerthreads.org

NetBIOS 代表网络基本输入输出系统,在 Windows 中用于文件和打印机共享。

来自维基百科

它提供与 OSI 模型的会话层相关的服务,允许不同计算机上的应用程序通过局域网进行通信。

来自TechNet

会话层编程接口。NetBIOS 是开放系统互连 (OSI) 参考模型会话层的标准应用程序编程接口 (API),以便用户应用程序可以利用已安装的网络协议栈的服务。使用 NetBIOS 接口 API 进行网络通信的应用程序可以在任何支持 NetBIOS 接口的协议栈上运行。

会话管理和数据传输协议 NetBIOS 也是一种在会话和传输层起作用的协议,它为以下服务提供命令和支持:

  • 网络名称注册和验证。
  • 会话建立和终止。
  • 可靠的面向连接的会话数据传输。
  • 不可靠的无连接数据报数据传输。
  • 协议和适配器监控和管理。

NetBIOS over TCP/IP (NetBT) 通过传输控制协议 (TCP) 或用户数据报协议 (UDP) 发送 NetBIOS 协议。

来自另一篇 TechNet 文章,TCP/IP 上的 NetBIOS 实现?

基于 TCP/IP 的 NetBIOS 的 Windows 2000 实现称为 NetBT。NetBT 使用以下 TCP 和 UDP 端口:

  • UDP 端口 137(名称服务)
  • UDP 端口 138(数据报服务)
  • TCP 端口 139(会话服务)

    TCP/IP 上的 NetBIOS 由RFC 1001RFC 1002指定。该Netbt.sys驱动程序是支持TDI接口,内核模式组件。工作站和服务器等服务直接使用 TDI 接口,而传统的 NetBIOS 应用程序通过Netbios.sys驱动程序将它们的调用映射到 TDI 调用。使用 TDI 调用 NetBT 是一项更困难的编程任务,但可以提供更高的性能和不受历史 NetBIOS 限制的自由。

架构将是这样的:

您可以尝试通过 SSN 对 NetBIOS 进行破解——Linux 中的 NetBIOS 使用:

C:\>nbtstat.exe -a morpheus

<Local Adapter Name>:
Node IpAddress: [<local IP address>] Scope Id: []
NetBIOS Remote Machine Name Table
Name    Type    Status
MORPHEUS <00>   UNIQUE  Registered
MATRIX <00>     GROUP   Registered
MORPHEUS <20>   UNIQUE  Registered

MAC Address = <Remote MAC address>

C:\>nbtstat.exe -c

<Local Adapter Name>:
Node IpAddress: [<local IP address>] Scope Id: []
Run Code Online (Sandbox Code Playgroud)

NetBT 在 DNS/互联网增强功能上的表现如何:

  • @VVignesh4303:当我打开任何文件夹属性并通过网络共享它并使用“\\10.12.123.134”之类的路径访问它时,Windows 是否在后台使用 netbios?如果我没有任何东西可以分享,那么我可以禁用 netbios 服务(侦听端口 37.38)吗? (2认同)

小智 8

我只想补充一点,对于 Windows 2000 及以后的 Windows 版本,端口 137、138 和 139 的所有旧版 NetBIOS 功能默认由端口 445 上的 SMB(服务器消息块)处理。如果两端的计算机的网络连接是 Windows 2000 或更高版本,只要端口 445 打开,您就可以安全地阻止端口 137、138 和 139