如何获取tcp动态端口

问题描述 投票:0回答:2

如何使用 C# .Net Core 6 获取 tcp 动态端口?

就像命令的结果:

"netsh int ipv4 show dynamicport tcp" in windows

C:\Users\XXX>netsh int ipv4 show dynamicport tcp

Protocol tcp dynamic port range
---------------------------------
Startup port : 49152
Number of ports : 16384

需要“启动端口”和“端口数”的值

我查了微软的相关资料,没有发现相关的API和类提供

c# .net sockets tcp
2个回答
1
投票
var process = new Process()
{
    StartInfo = new ProcessStartInfo
    {
        FileName = "netsh",
        Arguments = "int ipv4 show dynamicport tcp",
        RedirectStandardOutput = true,
        UseShellExecute = false,
        CreateNoWindow = true,
    }
};

process.Start();

代码使用 System.Diagnostics 命名空间来执行“netsh int ipv4 showdynamicport tcp”命令并将输出打印到控制台。

请参阅 此 github 帖子以获取完整代码

希望有帮助


0
投票

我实际上不确定你可以,我认为你必须直接调用 netsh,这只能在 Windows 上使用,但如果这是一个选项,也许你可以看看 https://github.com/rpetz/SharpNetSH 并将其扩展到您的需求?

© www.soinside.com 2019 - 2024. All rights reserved.