103 lines
3.4 KiB
Java
103 lines
3.4 KiB
Java
/* A class to test my java.net.InetAddress implementation */
|
|
|
|
import java.net.*;
|
|
|
|
public class TestNameLookups extends Object
|
|
{
|
|
public static void
|
|
main(String[] argv) throws UnknownHostException
|
|
{
|
|
InetAddress addr;
|
|
|
|
System.out.println("Started address lookup test");
|
|
|
|
/* Test local host */
|
|
try
|
|
{
|
|
addr = InetAddress.getLocalHost();
|
|
|
|
System.out.println("The local hostname is " + addr.getHostName() +
|
|
" with an IP address of " + addr.getHostAddress());
|
|
}
|
|
catch(UnknownHostException e)
|
|
{
|
|
System.out.println("WARNING: Can't resolve local hostname");
|
|
}
|
|
|
|
/* Test simple lookup by IP */
|
|
addr = InetAddress.getByName("18.159.0.42");
|
|
|
|
System.out.println("Looked up IP addres 18.159.0.42 and got back a " +
|
|
"hostname of " + addr.getHostName());
|
|
|
|
/* Test failed reverse lookup of IP */
|
|
addr = InetAddress.getByName("194.72.246.154");
|
|
|
|
System.out.println("Looked up IP addres 194.72.246.154 and got back a " +
|
|
"hostname of " + addr.getHostName());
|
|
|
|
/* Test mangled/invalid IP's */
|
|
try { addr = InetAddress.getByName("122.24.1."); }
|
|
catch (UnknownHostException e) {
|
|
System.out.println("Passed bad IP test 1");
|
|
}
|
|
|
|
try { addr = InetAddress.getByName("122.24.52"); }
|
|
catch (UnknownHostException e) {
|
|
System.out.println("Passed bad IP test 2");
|
|
}
|
|
|
|
try { addr = InetAddress.getByName("122.256.52.1"); }
|
|
catch (UnknownHostException e) {
|
|
System.out.println("Passed bad IP test 3");
|
|
}
|
|
|
|
/* Test simple lookup by name with external info */
|
|
addr = InetAddress.getByName("www.starnews.com");
|
|
System.out.println("Looked up host www.starnews.com and got back an " +
|
|
"IP address of " + addr.getHostAddress());
|
|
byte[] octets = addr.getAddress();
|
|
System.out.println("Raw Address Bytes: octet1=" + (int)octets[0] +
|
|
" octets2=" + (int)octets[1] + " octet3=" + (int)octets[2] +
|
|
" octets4=" + (int)octets[3]);
|
|
System.out.println("toString() returned: " + addr.toString());
|
|
System.out.println("isMulticastAddress returned: "
|
|
+ addr.isMulticastAddress());
|
|
|
|
/* Test complex lookup */
|
|
System.out.println("Looking up all addresses for indiana.edu ...");
|
|
InetAddress[] list = InetAddress.getAllByName("indiana.edu");
|
|
for (int i = 0; i < list.length; i++)
|
|
{
|
|
addr = list[i];
|
|
|
|
System.out.println(" Hostname: " + addr.getHostName() +
|
|
" IP Address: " + addr.getHostAddress());
|
|
}
|
|
|
|
/* Test equality */
|
|
InetAddress addr1 = InetAddress.getByName("www.urbanophile.com");
|
|
InetAddress addr2 = InetAddress.getByName("www.urbanophile.com");
|
|
|
|
if (addr1.equals(addr2) && addr2.equals(addr1))
|
|
System.out.println("Passed equality test #1");
|
|
else
|
|
System.out.println("Failed equality test #1");
|
|
|
|
addr1 = InetAddress.getByName("www.ac.com");
|
|
addr2 = InetAddress.getByName("www.hungry.com");
|
|
|
|
if (!addr1.equals(addr2) && !addr2.equals(addr1))
|
|
System.out.println("Passed equality test #2");
|
|
else
|
|
System.out.println("Failed equality test #2");
|
|
|
|
/* Quick test to see if it looks like we're caching things */
|
|
addr1 = InetAddress.getByName("www.urbanophile.com");
|
|
System.out.println("Got " + addr1.getHostName() + " " + addr1.getHostAddress());
|
|
addr2 = InetAddress.getByName("www.hungry.com");
|
|
System.out.println("Got " + addr2.getHostName() + " " + addr2.getHostAddress());
|
|
}
|
|
|
|
}
|
|
|