首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在c#中获取某个进程正在连接的in

要在C#中获取某个进程正在连接的IP地址和端口号,可以使用System.Net.NetworkInformation命名空间中的类和方法。以下是一种方法:

代码语言:javascript
复制
csharp复制using System;
using System.Diagnostics;
using System.Net;
using System.Net.NetworkInformation;

class Program
{
    static void Main()
    {
        int processId = 1234; // 替换为你要检查的进程的ID

        // 获取指定进程的所有网络连接
        IPGlobalProperties ipProperties = IPGlobalProperties.GetIPGlobalProperties();
        TcpConnectionInformation[] connections = ipProperties.GetActiveTcpConnections();

        foreach (TcpConnectionInformation connection in connections)
        {
            if (connection.State == TcpState.Established && connection.ProcessId == processId)
            {
                Console.WriteLine("Local IP: {0}:{1}", connection.LocalEndPoint.Address, connection.LocalEndPoint.Port);
                Console.WriteLine("Remote IP: {0}:{1}", connection.RemoteEndPoint.Address, connection.RemoteEndPoint.Port);
                Console.WriteLine();
            }
        }
    }
}

在上述示例中,我们使用IPGlobalProperties.GetIPGlobalProperties()方法获取系统的IP全局属性,然后使用GetActiveTcpConnections()方法获取所有活动的TCP连接。我们遍历这些连接,并检查与指定进程ID匹配的连接。如果连接状态为TcpState.Established,则打印本地IP地址和端口号以及远程IP地址和端口号。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券