列出所有可以映射到驱动器的 VPN 目录,而不必逐个访问它们

列出所有可以映射到驱动器的 VPN 目录,而不必逐个访问它们

在阅读我的问题之前您需要了解以下几点:

  • 我正在使用 Windows。
  • 我可以访问 Linux 和 Ubuntu。
  • 我没有太多的网络经验。
  • 就网络工程知识而言,与任何系统管理员相比,我基本上是一个单细胞生物。

所以我试图在 VPN 上找到某个文件。我基本上想知道整个 VPN 的拓扑结构。初始连接时映射的默认驱动器是,dogscats.example.com但可以在 Windows 资源管理器中键入\\cats.example.com以映射cats.example.com到另一个驱动器。

通过执行此操作,可以访问一些位置,但可能不应该访问。(\\birds.example.com例如,猜测将带您进入birds.example.com)。是否有 PowerShell 命令或其他命令可以列出可以映射到本地驱动器(或其他东西)的所有可能的连接*.example.com?谢谢。

答案1

好的,首先,VPN 所做的就是将您与其他计算机放在同一个网络 (LAN) 上。VPN 本身不会告诉您网络上还有哪些其他计算机可用。任何网络发现方法都与您的计算机物理上位于同一个 LAN 上时相同。


分享类型

鉴于您可以通过 Windows 资源管理器直接访问这些机器的共享文件夹,因此可以假设它们是 SMB 或 FTP 共享。

如果它们是 FTP 共享,那么您实际上无法对其进行映射。FTP 共享通过互联网工作,并且可以指向任何公共 IP 地址。

但是,如果我没记错的话,\\computernameWindows 中的路径仅适用于 SMB 共享。在这里,您确实有几个选项,具体取决于网络设置。

鉴于您显然正在使用完全限定的域名,您可能位于 Active Directory (AD) 域中,这为您提供了更多选项。


列出本地网络上的 SMB 共享

有几种方法可以列出可用的 SMB 共享。但是,没有一种方法可以保证完整。它们都依赖于您的计算机是否能够访问它们(参见:防火墙)。

  • 如果旧版 SMBv1 仍处于启用状态,您可以使用 Windows 资源管理器中的网络项(传统上称为“网络邻居”)来发现本地网络上的所有 SMB 共享。有一个现代的替代品,但需要启用默认禁用的“功能发现提供程序主机”和“功能发现资源发布”服务(在客户端和服务器上)。这仅适用于本地子网,不适用于路由网络。

  • 如果您位于 Active Directory 域中,则可以使用广告探索者或其他 LDAP 浏览工具,它可以列出域中的大多数计算机 — 除非您的 AD 管理员已采取措施阻止此操作(通过限制读取权限)。这可能找不到 Linux 服务器上由 Samba 托管的任何共享。

  • 有些工具使用广播请求来检索列表。我不确定这是否取决于 SMBv1。这仅适用于本地子网,而不适用于路由网络。例如,https://serverfault.com/questions/160396/listing-available-smb-shares-on-a-network-through-the-command-line-in-linux

  • 暴力破解方法始终可用,使用 之类的工具nmap。您可以检查本地子网(或您选择的其他网络)内的每个 IP 地址上的 SMB 端口是否打开。但是,您不一定能找到所有端口 — 尤其是当您的网络足够大以致于有多个(路由)子网,而您不知道它们都是什么时。

  • 我确信还有其他专门用于此目的的审计工具。但是,它们中的大多数都不会比正确配置的nmap扫描更完整 — 而且,再次强调,它们最好在您了解整个网络拓扑时使用。


列出子域名

通常没有办法列出域的有效子域。唯一的例外是如果域具有不安全的区域传输选项。

相关内容