【发布时间】:2017-01-30 19:28:59
【问题描述】:
在 Windows 控制面板中,您可以找到显示以下内容的网络接口/连接列表:
在 .NET 框架中,这些在 NetworkInterface 类中表示(并通过 NetworkInterface.GetAllNetworkInterfaces 找到)。
作为参考,假设我正在从以太网接口读取属性 - NetworkInterface.Name 属性返回 "Ethernet",NetworkInterface.Description 属性返回 "Realtek PCIe FE Family Controller"。
然而,课堂上似乎没有任何东西能够让我知道它所连接的网络的名称(在本例中为 "BELL024")。我将如何获得该字符串?我必须知道该接口与哪个网络相关联,而不仅仅是现有网络的列表。
【问题讨论】:
-
网络没有名称,它们有网络地址。 DNS 服务器上可能有网络的 DNS 名称,但这不是网络固有的,DNS 服务器可能有多个网络名称,或者不同的 DNS 服务器可能有不同的网络名称。主机所称的网络是相当随意的。用户可以将 Wi-Fi 网络重命名为以太网,反之亦然。
-
我明白了。 Windows/此主机如何确定网络的字符串“BELL024”?用户是否可以重命名它对我来说并不重要,我只希望它显示在网络接口名称旁边,以便他们可以轻松判断应用程序将流量引导到哪个网络。
-
这是有人在 Windows 中输入的。它可能是 Windows 发现的 Windows 工作组。如果是工作组名,可以存在多个接口。
-
看来我正在寻找的是路由器/调制解调器正在使用的 SSID。我可能是错的,但我会再调查一下。
-
这是可能的。那只能在Wi-Fi网络上。以太网上没有这样的概念。您还可以在 Wi-Fi 上看到多个 SSID,如果进行新的关联,该界面上的 SSID 可能会发生变化。
标签: c# .net networking interface