Merhaba,
Araştırdığım ve gördüğüm kadarıyla, direkt olarak .Net framework üzerinden Windows işletim sistemi üzerinde mevcut herhangi bir sanal özel ağ(vpn) bağlantısını uygulama üzerinde görebilmek için o bağlantının çevrimiçi olması gerekiyor, aksi takdirde bu bağlantı görünmüyor.
Çevrimiçi olan sanal öz ağ bağdaştırıcısı ile ilgili şu kodlar ile biraz bilgi edinebilirsiniz;
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface block in nics)
{
if (block.NetworkInterfaceType == NetworkInterfaceType.Ppp && block.OperationalStatus == OperationalStatus.Up)
{
IPv4InterfaceStatistics ipv4 = block.GetIPv4Statistics();
IPInterfaceProperties prop = block.GetIPProperties();
foreach (UnicastIPAddressInformation uni in prop.UnicastAddresses)
{
MessageBox.Show("Vpn connection name:" + " " + block.Name + "\n" + "Local IP Address:" + uni.Address.ToString() + "\n" + "Bytes Received:" + " " + ipv4.BytesReceived.ToString() + "\n" + "Bytes Sent:" + " " + ipv4.BytesSent.ToString());
}
}
}Bunun dışında, kendi vpn uygulamanızı yazmak isterseniz DotRas adlı kütüphaneyi incelemenizi öneriyorum;
http://dotras.codeplex.com/
Teşekkürler.
Yazdığınız kod çalışıyor fakat sadece bağlı olan vpn hakkında bilgi veriyor. Ama benim bağlı olanlar veya olmayanlar tüm listeyi almam gerek. Sanırım .net bu iş için uygun değil sanırım. Dotras ile
sadece vpn isimlerini nasıl alabilirim ?