From 8acf7d35e44ee46424c163ca261b8e7e67da52ac Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 1 Feb 2026 02:22:28 +0000 Subject: [PATCH 1/9] Initial plan From 233e916b00976439745b47560552fe9d50efda55 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 1 Feb 2026 02:25:04 +0000 Subject: [PATCH 2/9] Enable network interface blacklist filtering for .NET 9/10 Co-authored-by: BornToBeRoot <16019165+BornToBeRoot@users.noreply.github.com> --- .../Network/NetworkInterface.cs | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/Source/NETworkManager.Models/Network/NetworkInterface.cs b/Source/NETworkManager.Models/Network/NetworkInterface.cs index 7cd8c34038..bef8a7ff20 100644 --- a/Source/NETworkManager.Models/Network/NetworkInterface.cs +++ b/Source/NETworkManager.Models/Network/NetworkInterface.cs @@ -25,8 +25,13 @@ public sealed class NetworkInterface { #region Variables - /* Ref #3286 - private static List NetworkInterfacesBlacklist = + /// + /// Blacklist of network interface name patterns to filter out virtual/filter adapters + /// introduced in .NET 9/10. These are typically not actual network interfaces but rather + /// drivers, filters, or extensions attached to real network interfaces. + /// See: https://github.com/dotnet/runtime/issues/122751 + /// + private static readonly List NetworkInterfacesBlacklist = [ "Hyper-V Virtual Switch Extension Filter", "WFP Native MAC Layer LightWeight Filter", @@ -36,7 +41,6 @@ public sealed class NetworkInterface "Ethernet (Kerneldebugger)", "Filter Driver" ]; - */ #endregion @@ -74,12 +78,11 @@ public static List GetNetworkInterfaces() (int)networkInterface.NetworkInterfaceType != 53) continue; - // Check if part of the Name is in blacklist Ref #3286 - //if (NetworkInterfacesBlacklist.Any(networkInterface.Name.Contains)) - // continue; - - //Debug.WriteLine(networkInterface.Name); - //Debug.WriteLine($" Description: {networkInterface.Description}"); + // Filter out virtual/filter adapters introduced in .NET 9/10 + // Check if the adapter name contains any blacklisted pattern + // See: https://github.com/dotnet/runtime/issues/122751 + if (NetworkInterfacesBlacklist.Any(networkInterface.Name.Contains)) + continue; var listIPv4Address = new List>(); var listIPv6AddressLinkLocal = new List(); From 0f67bc8d4781c36dcd8ddddef5af58a769e3bccf Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 1 Feb 2026 02:27:14 +0000 Subject: [PATCH 3/9] Fix lambda expression in network interface filter Co-authored-by: BornToBeRoot <16019165+BornToBeRoot@users.noreply.github.com> --- Source/NETworkManager.Models/Network/NetworkInterface.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/NETworkManager.Models/Network/NetworkInterface.cs b/Source/NETworkManager.Models/Network/NetworkInterface.cs index bef8a7ff20..2cf6e34dc8 100644 --- a/Source/NETworkManager.Models/Network/NetworkInterface.cs +++ b/Source/NETworkManager.Models/Network/NetworkInterface.cs @@ -81,7 +81,7 @@ public static List GetNetworkInterfaces() // Filter out virtual/filter adapters introduced in .NET 9/10 // Check if the adapter name contains any blacklisted pattern // See: https://github.com/dotnet/runtime/issues/122751 - if (NetworkInterfacesBlacklist.Any(networkInterface.Name.Contains)) + if (NetworkInterfacesBlacklist.Any(pattern => networkInterface.Name.Contains(pattern))) continue; var listIPv4Address = new List>(); From a9ee319f9c9c6a7614a1d6677da8cceac03215e2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 1 Feb 2026 02:28:21 +0000 Subject: [PATCH 4/9] Use inclusive terminology for filter patterns Co-authored-by: BornToBeRoot <16019165+BornToBeRoot@users.noreply.github.com> --- Source/NETworkManager.Models/Network/NetworkInterface.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Source/NETworkManager.Models/Network/NetworkInterface.cs b/Source/NETworkManager.Models/Network/NetworkInterface.cs index 2cf6e34dc8..c65878c6b9 100644 --- a/Source/NETworkManager.Models/Network/NetworkInterface.cs +++ b/Source/NETworkManager.Models/Network/NetworkInterface.cs @@ -26,12 +26,12 @@ public sealed class NetworkInterface #region Variables /// - /// Blacklist of network interface name patterns to filter out virtual/filter adapters + /// List of network interface name patterns to filter out virtual/filter adapters /// introduced in .NET 9/10. These are typically not actual network interfaces but rather /// drivers, filters, or extensions attached to real network interfaces. /// See: https://github.com/dotnet/runtime/issues/122751 /// - private static readonly List NetworkInterfacesBlacklist = + private static readonly List NetworkInterfaceFilteredPatterns = [ "Hyper-V Virtual Switch Extension Filter", "WFP Native MAC Layer LightWeight Filter", @@ -79,9 +79,9 @@ public static List GetNetworkInterfaces() continue; // Filter out virtual/filter adapters introduced in .NET 9/10 - // Check if the adapter name contains any blacklisted pattern + // Check if the adapter name contains any filtered pattern // See: https://github.com/dotnet/runtime/issues/122751 - if (NetworkInterfacesBlacklist.Any(pattern => networkInterface.Name.Contains(pattern))) + if (NetworkInterfaceFilteredPatterns.Any(pattern => networkInterface.Name.Contains(pattern))) continue; var listIPv4Address = new List>(); From ac3ac82a2e8de2c5966935cb2d674ee22f5dd415 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 1 Feb 2026 02:37:47 +0000 Subject: [PATCH 5/9] Add WAN Miniport and Wi-Fi Direct Virtual Adapter to filter list Co-authored-by: BornToBeRoot <16019165+BornToBeRoot@users.noreply.github.com> --- Source/NETworkManager.Models/Network/NetworkInterface.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Source/NETworkManager.Models/Network/NetworkInterface.cs b/Source/NETworkManager.Models/Network/NetworkInterface.cs index c65878c6b9..0da2d237f2 100644 --- a/Source/NETworkManager.Models/Network/NetworkInterface.cs +++ b/Source/NETworkManager.Models/Network/NetworkInterface.cs @@ -39,7 +39,9 @@ public sealed class NetworkInterface "QoS Packet Scheduler", "WFP 802.3 MAC Layer LightWeight Filter", "Ethernet (Kerneldebugger)", - "Filter Driver" + "Filter Driver", + "WAN Miniport", + "Microsoft Wi-Fi Direct Virtual Adapter" ]; #endregion From b4f0ded5fa2a379d85ca43a88ed5084a5b5a0539 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 1 Feb 2026 02:49:51 +0000 Subject: [PATCH 6/9] Filter network interfaces by both Name and Description Co-authored-by: BornToBeRoot <16019165+BornToBeRoot@users.noreply.github.com> --- Source/NETworkManager.Models/Network/NetworkInterface.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Source/NETworkManager.Models/Network/NetworkInterface.cs b/Source/NETworkManager.Models/Network/NetworkInterface.cs index 0da2d237f2..c48f79855b 100644 --- a/Source/NETworkManager.Models/Network/NetworkInterface.cs +++ b/Source/NETworkManager.Models/Network/NetworkInterface.cs @@ -81,9 +81,11 @@ public static List GetNetworkInterfaces() continue; // Filter out virtual/filter adapters introduced in .NET 9/10 - // Check if the adapter name contains any filtered pattern + // Check if the adapter name or description contains any filtered pattern // See: https://github.com/dotnet/runtime/issues/122751 - if (NetworkInterfaceFilteredPatterns.Any(pattern => networkInterface.Name.Contains(pattern))) + if (NetworkInterfaceFilteredPatterns.Any(pattern => + networkInterface.Name.Contains(pattern) || + networkInterface.Description.Contains(pattern))) continue; var listIPv4Address = new List>(); From 51e8fb56576b5e341bf274b3aa0e7a54b21ca05e Mon Sep 17 00:00:00 2001 From: BornToBeRoot <16019165+BornToBeRoot@users.noreply.github.com> Date: Sun, 1 Feb 2026 15:26:42 +0100 Subject: [PATCH 7/9] Update NetworkInterface.cs --- Source/NETworkManager.Models/Network/NetworkInterface.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Source/NETworkManager.Models/Network/NetworkInterface.cs b/Source/NETworkManager.Models/Network/NetworkInterface.cs index c48f79855b..d43b64d3c9 100644 --- a/Source/NETworkManager.Models/Network/NetworkInterface.cs +++ b/Source/NETworkManager.Models/Network/NetworkInterface.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.ComponentModel; +using System.Diagnostics; using System.Linq; using System.Net; using System.Net.NetworkInformation; @@ -34,11 +35,12 @@ public sealed class NetworkInterface private static readonly List NetworkInterfaceFilteredPatterns = [ "Hyper-V Virtual Switch Extension Filter", + "Hyper-V Virtual Switch Extension Adapter", "WFP Native MAC Layer LightWeight Filter", "Npcap Packet Driver (NPCAP)", "QoS Packet Scheduler", "WFP 802.3 MAC Layer LightWeight Filter", - "Ethernet (Kerneldebugger)", + "Ethernet (Kerneldebugger)", "Filter Driver", "WAN Miniport", "Microsoft Wi-Fi Direct Virtual Adapter" From 25fa648655e23a1803f24d6934afc06a61c614d5 Mon Sep 17 00:00:00 2001 From: BornToBeRoot <16019165+BornToBeRoot@users.noreply.github.com> Date: Sun, 1 Feb 2026 15:26:50 +0100 Subject: [PATCH 8/9] Update NetworkInterface.cs --- Source/NETworkManager.Models/Network/NetworkInterface.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/Source/NETworkManager.Models/Network/NetworkInterface.cs b/Source/NETworkManager.Models/Network/NetworkInterface.cs index d43b64d3c9..520b1135f1 100644 --- a/Source/NETworkManager.Models/Network/NetworkInterface.cs +++ b/Source/NETworkManager.Models/Network/NetworkInterface.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.ComponentModel; -using System.Diagnostics; using System.Linq; using System.Net; using System.Net.NetworkInformation; From 6d874eb8416d1ddd081cbb42ff6f239a43b0ebd9 Mon Sep 17 00:00:00 2001 From: BornToBeRoot <16019165+BornToBeRoot@users.noreply.github.com> Date: Sun, 1 Feb 2026 15:41:30 +0100 Subject: [PATCH 9/9] Docs: #3309 --- Website/docs/changelog/next-release.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Website/docs/changelog/next-release.md b/Website/docs/changelog/next-release.md index 5995a082e8..c477c766ae 100644 --- a/Website/docs/changelog/next-release.md +++ b/Website/docs/changelog/next-release.md @@ -20,6 +20,8 @@ Release date: **xx.xx.2025** - Migrated from .NET 8.0 (LTS) to .NET 10.0 (LTS). Upgrade your [.NET Desktop Runtime to version 10.0 (LTS) - x64](https://dotnet.microsoft.com/en-us/download/dotnet/10.0/runtime) before you install this version. [#3229](https://github.com/BornToBeRoot/NETworkManager/pull/3229) +- Starting with .NET 9.0, the behavior of `NetworkInterface.GetAllNetworkInterfaces()` changed — the API now returns all network interfaces (including virtual adapters, WAN Miniport, extensions/drivers, etc.), which can cause additional or unexpected adapters to appear in the `Network Interface` view. This is an intentional change by Microsoft; see [dotnet/runtime#122751](https://github.com/dotnet/runtime/issues/122751) for details. To reduce noise, NETworkManager maintains a blacklist of known unwanted adapters. If you encounter adapters that should be excluded, please report them via the [issue tracker](https://github.com/BornToBeRoot/NETworkManager/issues/new/choose). [#3286](https://github.com/BornToBeRoot/NETworkManager/issues/3286) [#3309](https://github.com/BornToBeRoot/NETworkManager/pull/3309) + - `AWS Session Manager` feature has been removed. The [AWS Session Manager Plugin](https://github.com/aws/session-manager-plugin) is not actively maintained and contains several bugs (e.g. German / Spain keyboard layout issues). The current code base was also difficult to maintain and extend, and I currently have no test environment. The Sync feature (EC2 instances -> Profiles) has been removed as well, because it was limited to AWS Session Manager only. This will be re-introduced in a future release to support multiple providers (`AWS`, `Azure`, etc.) and more features like `Ping Monitor`, `PuTTY` or `Remote Desktop`.