Bir uygulama için IP adresine ihtiyacımız var diyelim. Bir kaç farklı yöntemle yapabiliriz. En basitinden aşağıdaki gibi yapabiliriz.

       IPHostEntry ipEntry = Dns.GetHostByName(Dns.GetHostName());
       IPAddress[] addr = ipEntry.AddressList;

addr[]’nin içinde döndüğümüz zaman bize sırayla IP adreslerini verecektir. İstediğimiz IP adreslerine bu şekilde ulaşmış olsakta, Vista gibi IPv6 protokolünü de destekleyen sistemlerde bu kod tam olarak istediğimiz gibi işimizi görmeyebilir. Daha doğrusu farklı protokoller ile çalışan network arayüzlerinin desteklendiği hiç bir sistemde işimizi tam olarak görmez. Bundan dolayı IPAddress’lerin AddressFamily özelliğini kontrol etmemiz lazım. IPv4 protokolünün AddressFamily’de ki karşılığı InterNetwork. Yani addr[] içinde dönerken aşağıdaki gibi bir kontrol yapmamız gerekmekte.

            for (int i = 0; i < addr.Length; i++)
            {
                if (addr[i].AddressFamily == AddressFamily.InterNetwork)
                {
                    //Bir şeyler yap
                }
            } 

Bu şekilde IPv4 protokolüne uygun IP adreslerini almış olduk.