Idea:
- display all IP addresses
- inspect it one by one, whether:
- it is IPv4
- it is IPv6
- it is loopback address
- it is link local
- it is multicast
- it is site local
- it is teredo
- display all IP addresses
- inspect it one by one, whether:
- it is IPv4
- it is IPv6
- it is loopback address
- it is link local
- it is multicast
- it is site local
- it is teredo
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.Net.Sockets; namespace ConsoleCekIPSatuSatu { class Program { static IPAddress[] GetIPAddress(string host) { IPHostEntry hostInfo; hostInfo = Dns.GetHostEntry(host); return hostInfo.AddressList; } static void CheckIPType(IPAddress ip) { if (ip.AddressFamily == AddressFamily.InterNetwork) { Console.WriteLine("\t\tThis is IPv4"); CheckIPv4(ip); } else { Console.WriteLine("\t\tThis is IPv6"); CheckIPv6(ip); } } static void CheckIPv4(IPAddress ip) { // check whether it is loopback address or not if (IPAddress.IsLoopback(ip)) Console.WriteLine("\t\tThis is IPv4 loopback address"); } static void CheckIPv6(IPAddress ip) { // check whether it is loopback address or not if (IPAddress.IsLoopback(ip)) Console.WriteLine("\t\tThis is IPv6 loopback address"); // check whether it is link local address if (ip.IsIPv6LinkLocal) Console.WriteLine("\t\tThis is link local address"); // check whether it is multicast address if(ip.IsIPv6Multicast) Console.WriteLine("\t\tThis is multicast address"); // check whether it is site local address if (ip.IsIPv6SiteLocal) Console.WriteLine("\t\tThis is site local address"); // check whether it is teredo address if (ip.IsIPv6Teredo) Console.WriteLine("\t\tThis is teredo address"); } static void Main(string[] args) { string hostName = Dns.GetHostName(); Console.WriteLine("Hostname: {0}", hostName); // get the IP addresses list IPAddress[] hostNameIPAddresses; hostNameIPAddresses = GetIPAddress(hostName); // check the type of each IP address foreach (IPAddress ip in hostNameIPAddresses) { Console.WriteLine("\n\t" + ip.ToString()); CheckIPType(ip); } Console.ReadKey(); } } }
No comments:
Post a Comment