簡體   English   中英

枚舉所有打開的連接

[英]Enumerate all open connections

是否可以使用.NET枚舉當前進程的所有打開連接? (類似於netstat工具執行此操作的方式)

您可以使用.NET中的IPGlobalProperties類來完成此操作。 使用實例,您可以獲得netstat通常顯示的三個內容中的任何一個:

請注意,沒有“UDP連接”這樣的東西。

這是使用此API的netstat的簡單版本:

using System;
using System.Net.NetworkInformation;

namespace NetStatNet
{
    class Program
    {
        static void Main(string[] args)
        {
            var props = IPGlobalProperties.GetIPGlobalProperties();

            Console.WriteLine("  Proto  Local Address          Foreign Address        State");

            foreach (var conn in props.GetActiveTcpConnections())
                Console.WriteLine("  TCP    {0,-23}{1,-23}{2}",
                                  conn.LocalEndPoint, conn.RemoteEndPoint, conn.State);

            foreach (var listener in props.GetActiveTcpListeners())
                Console.WriteLine("  TCP    {0,-23}{1,-23}{2}", listener, "", "Listening");

            foreach (var listener in props.GetActiveUdpListeners())
                Console.WriteLine("  UDP    {0,-23}{1,-23}{2}", listener, "", "Listening");

            Console.Read();
        }
    }
}
        IPGlobalProperties properties = IPGlobalProperties.GetIPGlobalProperties();
        TcpConnectionInformation[] connections = properties.GetActiveTcpConnections();

你必須將此數組轉換為IEnum

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM