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