Sono sorpreso dalla quantità di utenti che mi dicono che non era possibile fare con il codice gestito puro ... Per i futuri utenti che sta chiedendo a tale proposito, trovare i dettagli della risposta che ha funzionato bene per me:
//Don't forget this:
using System.Net.NetworkInformation;
public static void ShowActiveTcpConnections()
{
Console.WriteLine("Active TCP Connections");
IPGlobalProperties properties = IPGlobalProperties.GetIPGlobalProperties();
TcpConnectionInformation[] connections = properties.GetActiveTcpConnections();
foreach (TcpConnectionInformation c in connections)
{
Console.WriteLine("{0} <==> {1}",
c.LocalEndPoint.ToString(),
c.RemoteEndPoint.ToString());
}
}
e chiamare ShowActiveTcpConnections()
ad elencare, impressionante e bello.
Fonte: IPGlobalProperties.GetActiveTcpConnections Method (MSDN)
La sua non è sempre possibile utilizzare puro .net – Dani
trovo difficile da credere. – RollRoll
Ci sono molte cose che sono state fatte deliberatamente inaccessibili da .net, specialmente cose di basso livello. Questo è stato spesso fatto per ragioni di sicurezza in modo che tu sappia che una dll che usa solo codice gestito non può fare certe cose sul tuo sistema. –