1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
import java.io.*;
import java.net.*;
import java.util.*;
/**
* @test
* @bug 8135305
* @key intermittent
* @summary ensure we can't ping external hosts via loopback if
*/
public class IsReachableViaLoopbackTest {
public static void main(String[] args) {
try {
InetAddress addr = InetAddress.getByName("localhost");
InetAddress remoteAddr = InetAddress.getByName("8.8.8.8");
if (!addr.isReachable(10000))
throw new RuntimeException("Localhost should always be reachable");
NetworkInterface inf = NetworkInterface.getByInetAddress(addr);
if (inf != null) {
if (!addr.isReachable(inf, 20, 10000)) {
throw new RuntimeException("Localhost should always be reachable");
} else {
System.out.println(addr + " is reachable");
}
if (remoteAddr.isReachable(inf, 20, 10000)) {
throw new RuntimeException(remoteAddr + " is reachable");
} else {
System.out.println(remoteAddr + " is NOT reachable");
}
} else {
System.out.println("inf == null");
}
} catch (IOException e) {
throw new RuntimeException("Unexpected exception:" + e);
}
System.out.println("IsReachableViaLoopbackTest EXIT");
}
}
|