Java测试网络连通性

使用Java测试网络连通性的几种方法 : http://www.admin10000.com/document/1208.html
第一种方式:利用java运行时:
 /**
 * test network
 * @param ip
 */
private void getNetworkState(String ip) {
	Runtime runtime = Runtime.getRuntime();
	try {
		log.info("=================正在测试网络连通性ip:"+ip);
		Process process = runtime.exec("ping " +ip);
		InputStream iStream = process.getInputStream();
		InputStreamReader iSReader = new InputStreamReader(iStream,"UTF-8");
		BufferedReader bReader = new BufferedReader(iSReader);
		String line = null;
		StringBuffer sb = new StringBuffer();
		while ((line = bReader.readLine()) != null) {
			sb.append(line);
		}
		iStream.close();
		iSReader.close();
		bReader.close();
		String result  = new String(sb.toString().getBytes("UTF-8"));
	    log.info("ping result:"+result);
		if (!StringUtils.isBlank(result)) {
			if (result.indexOf("TTL") > 0 || result.indexOf("ttl") > 0) {
				log.info("网络正常,时间: " + TimeUtil.getCurDate("yyyy-mm-dd hh:mm:ss"));			
			} else {
				log.info("网络断开,时间 :" + TimeUtil.getCurDate("yyyy-mm-dd hh:mm:ss"));
			
			}
		}
	} catch (Exception e) {
		log.error("网络异常:"+e.getMessage());
		e.printStackTrace();
	}
}

在windows平台上,上面代码没有为,ping ip 会结束,而在linux环境中ping命令,ping不通时,
会卡住,ping通,会不定的输出信息,考虑用另一种方式socket。
第二种方式socket:
package com.util.network;

import java.io.IOException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.NetworkInterface;
import java.net.Socket;
import java.net.SocketAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.Enumeration;

import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 测试网络连通性
 * 
 * @author donald
 * 
 */
public class NetworkHelper {
	private static Logger log = LoggerFactory.getLogger(NetworkHelper.class);
	private static NetworkHelper instance = null;
	public static synchronized NetworkHelper getInstance(){
		if(instance == null){
			instance = new NetworkHelper();
		}
		return instance;
		
	}

	/**
	 * 测试本地能否ping ip
	 * 
	 * @param ip
	 * @return
	 */
	public boolean isReachIp(String ip) {
		boolean isReach = false;
		try {
			InetAddress address = InetAddress.getByName(ip);// ping this IP

			if (address instanceof java.net.Inet4Address) {
				log.info(ip + " is ipv4 address");
			} else if (address instanceof java.net.Inet6Address) {
				log.info(ip + " is ipv6 address");
			} else {
				log.info(ip + " is unrecongized");
			}
			if (address.isReachable(5000)) {
				isReach = true;
				log.info("SUCCESS - ping " + ip
						+ " with no interface specified");
			} else {
				isReach = false;
				log.info("FAILURE - ping " + ip
						+ " with no interface specified");
			}
		} catch (Exception e) {
			log.error("error occurs:" + e.getMessage());
		}
		return isReach;
	}

	/**
	 * 测试本地所有的网卡地址都能ping通 ip
	 * 
	 * @param ip
	 * @return
	 */
	public  boolean isReachNetworkInterfaces(String ip) {
		boolean isReach = false;
		try {
			InetAddress address = InetAddress.getByName(ip);// ping this IP

			if (address instanceof java.net.Inet4Address) {
				log.info(ip + " is ipv4 address");
			} else if (address instanceof java.net.Inet6Address) {
				log.info(ip + " is ipv6 address");
			} else {
				log.info(ip + " is unrecongized");
			}
			if (address.isReachable(5000)) {
				isReach = true;
				log.info("SUCCESS - ping " + ip
						+ " with no interface specified");
			} else {
				isReach = false;
				log.info("FAILURE - ping " + ip
						+ " with no interface specified");
			}
			if (isReach) {
				log.info("-------Trying different interfaces--------");
				Enumeration<NetworkInterface> netInterfaces = NetworkInterface
						.getNetworkInterfaces();
				while (netInterfaces.hasMoreElements()) {
					NetworkInterface ni = netInterfaces.nextElement();
					log.info("Checking interface, DisplayName:"
							+ ni.getDisplayName() + ", Name:" + ni.getName());
					if (address.isReachable(ni, 0, 5000)) {
						isReach = true;
						log.info("SUCCESS - ping " + ip);
					} else {
						isReach = false;
						log.info("FAILURE - ping " + ip);
					}
					Enumeration<InetAddress> ips = ni.getInetAddresses();
					while (ips.hasMoreElements()) {
						log.info("IP: " + ips.nextElement().getHostAddress());
					}
					log.info("-----------------check now NetworkInterface is done--------------------------");
				}
			}
		} catch (Exception e) {
			log.error("error occurs:" + e.getMessage());
		}
		return isReach;
	}

	/**
	 * 获取能与远程主机指定端口建立连接的本机ip地址
	 * @param remoteAddr
	 * @param port
	 * @return
	 */
	public  String getReachableIP(InetAddress remoteAddr, int port) {
		String retIP = null;
		Enumeration<NetworkInterface> netInterfaces;
		try {
			netInterfaces = NetworkInterface.getNetworkInterfaces();
			while (netInterfaces.hasMoreElements()) {
				NetworkInterface ni = netInterfaces.nextElement();
				Enumeration<InetAddress> localAddrs = ni.getInetAddresses();
				while (localAddrs.hasMoreElements()) {
					InetAddress localAddr = localAddrs.nextElement();
					if (isReachable(localAddr, remoteAddr, port, 5000)) {
						retIP = localAddr.getHostAddress();
						break;
					}
				}
			}
		} catch (SocketException e) {
			log.error("Error occurred while listing all the local network addresses:"
					+ e.getMessage());
		}
		if (retIP == null) {
			log.info("NULL reachable local IP is found!");
		} else {
			log.info("Reachable local IP is found, it is " + retIP);
		}
		return retIP;
	}
    /**
     * 获取能与远程主机指定端口建立连接的本机ip地址
     * @param remoteIp
     * @param port
     * @return
     */
	public  String getReachableIP(String remoteIp, int port) {

		String retIP = null;
		InetAddress remoteAddr = null;
		Enumeration<NetworkInterface> netInterfaces;
		try {
			remoteAddr = InetAddress.getByName(remoteIp);
			netInterfaces = NetworkInterface.getNetworkInterfaces();
			while (netInterfaces.hasMoreElements()) {
				NetworkInterface ni = netInterfaces.nextElement();
				Enumeration<InetAddress> localAddrs = ni.getInetAddresses();
				while (localAddrs.hasMoreElements()) {
					InetAddress localAddr = localAddrs.nextElement();
					if (isReachable(localAddr, remoteAddr, port, 5000)) {
						retIP = localAddr.getHostAddress();
						break;
					}
				}
			}
		} catch (UnknownHostException e) {
			log.error("Error occurred while listing all the local network addresses:"+ e.getMessage());
		}catch (SocketException e) {
			log.error("Error occurred while listing all the local network addresses:"+ e.getMessage());
		}
		if (retIP == null) {
			log.info("NULL reachable local IP is found!");
		} else {
			log.info("Reachable local IP is found, it is " + retIP);
		}
		return retIP;
	}
	/**
	 * 测试localInetAddr能否与远程的主机指定端口建立连接相连
	 * 
	 * @param localInetAddr
	 * @param remoteInetAddr
	 * @param port
	 * @param timeout
	 * @return
	 */
	public  boolean isReachable(InetAddress localInetAddr,
			InetAddress remoteInetAddr, int port, int timeout) {
		boolean isReachable = false;
		Socket socket = null;
		try {
			socket = new Socket();
			// 端口号设置为 0 表示在本地挑选一个可用端口进行连接
			SocketAddress localSocketAddr = new InetSocketAddress(
					localInetAddr, 0);
			socket.bind(localSocketAddr);
			InetSocketAddress endpointSocketAddr = new InetSocketAddress(
					remoteInetAddr, port);
			socket.connect(endpointSocketAddr, timeout);
			log.info("SUCCESS - connection established! Local: "
					+ localInetAddr.getHostAddress() + " remote: "
					+ remoteInetAddr.getHostAddress() + " port" + port);
			isReachable = true;
		} catch (IOException e) {
			log.error("FAILRE - CAN not connect! Local: "
					+ localInetAddr.getHostAddress() + " remote: "
					+ remoteInetAddr.getHostAddress() + " port" + port);
		} finally {
			if (socket != null) {
				try {
					socket.close();
				} catch (IOException e) {
					log.error("Error occurred while closing socket:"
							+ e.getMessage());
				}
			}
		}
		return isReachable;
	}

	/**
	 * 测试localIp能否与远程的主机指定端口建立连接相连
	 * 
	 * @param localIp
	 * @param remoteIp
	 * @param port
	 * @param timeout
	 * @return
	 */
	public  boolean isReachable(String localIp, String remoteIp,
			int port, int timeout) {
		boolean isReachable = false;
		Socket socket = null;
		InetAddress localInetAddr = null;
		InetAddress remoteInetAddr = null;
		try {
			localInetAddr = InetAddress.getByName(localIp);
			remoteInetAddr = InetAddress.getByName(remoteIp);
			socket = new Socket();
			// 端口号设置为 0 表示在本地挑选一个可用端口进行连接
			SocketAddress localSocketAddr = new InetSocketAddress(
					localInetAddr, 0);
			socket.bind(localSocketAddr);
			InetSocketAddress endpointSocketAddr = new InetSocketAddress(
					remoteInetAddr, port);
			socket.connect(endpointSocketAddr, timeout);
			log.info("SUCCESS - connection established! Local: "
					+ localInetAddr.getHostAddress() + " remote: "
					+ remoteInetAddr.getHostAddress() + " port" + port);
			isReachable = true;
		} catch (IOException e) {
			log.error("FAILRE - CAN not connect! Local: "
					+ localInetAddr.getHostAddress() + " remote: "
					+ remoteInetAddr.getHostAddress() + " port" + port);
		} finally {
			if (socket != null) {
				try {
					socket.close();
				} catch (IOException e) {
					log.error("Error occurred while closing socket:"
							+ e.getMessage());
				}
			}
		}
		return isReachable;
	}

	public static void main(String[] args) {
          if(NetworkHelper.getInstance().isReachIp("192.168.126.128")){
        	  log.info("=======本机可以ping通ip:"+"192.168.126.128");
          }
          else{
        	  log.info("=======本机ping不通ip:"+"192.168.126.128");
          }
          if(NetworkHelper.getInstance().isReachNetworkInterfaces("192.168.126.128")){
        	  log.info("=======本机所有网卡可以ping通ip:"+"192.168.126.128");
          }
          else{
        	  log.info("=======本机所有网卡ping不通ip:"+"192.168.126.128");
          }
          String localIp = NetworkHelper.getInstance().getReachableIP("192.168.126.128",8081);
          if(!StringUtils.isBlank(localIp)){
        	  log.info("=======本机可以与ip:"+"192.168.126.128"+",port:"+8081+"建立连接的IP:"+localIp);
          }
          else{
        	  log.info("=======本机不能与ip:"+"192.168.126.128"+",port:"+8081+"建立连接的IP");
          }
	}

}


控制台输出:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/E:/lib/logback-classic-0.9.27.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/E:/lib/slf4j-log4j12-1.7.9.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.selector.DefaultContextSelector]
2016-10-24 14:59:45,060 [main] INFO  org.NetworkHelper - 192.168.126.128 is ipv4 address
2016-10-24 14:59:46,090 [main] INFO  org.NetworkHelper - SUCCESS - ping 192.168.126.128 with no interface specified
2016-10-24 14:59:46,097 [main] INFO  org.NetworkHelper - -------Trying different interfaces--------
2016-10-24 14:59:46,105 [main] INFO  org.NetworkHelper - =======本机可以ping通ip:192.168.126.128
2016-10-24 14:59:46,113 [main] INFO  org.NetworkHelper - 192.168.126.128 is ipv4 address
2016-10-24 14:59:47,125 [main] INFO  org.NetworkHelper - SUCCESS - ping 192.168.126.128 with no interface specified
2016-10-24 14:59:47,133 [main] INFO  org.NetworkHelper - -------Trying different interfaces--------
2016-10-24 14:59:47,151 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:Software Loopback Interface 1, Name:lo
2016-10-24 14:59:47,159 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:47,166 [main] INFO  org.NetworkHelper - IP: 0:0:0:0:0:0:0:1
2016-10-24 14:59:47,171 [main] INFO  org.NetworkHelper - IP: 127.0.0.1
2016-10-24 14:59:47,181 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:47,188 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:WAN Miniport (IPv6), Name:eth0
2016-10-24 14:59:47,194 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:47,200 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:47,206 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:Bluetooth Device (RFCOMM Protocol TDI), Name:net0
2016-10-24 14:59:47,213 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:47,218 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:47,224 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:WAN Miniport (PPTP), Name:net1
2016-10-24 14:59:47,229 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:47,236 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:47,243 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:WAN Miniport (IP), Name:eth1
2016-10-24 14:59:47,250 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:47,256 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:47,261 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:Broadcom BCM943228Z 802.11abgn 2x2 M.2 Wi-Fi Adapter, Name:net2
2016-10-24 14:59:47,268 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:47,276 [main] INFO  org.NetworkHelper - IP: fe80:0:0:0:e18c:98b9:82bc:107a%6
2016-10-24 14:59:47,281 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:47,286 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:Bluetooth É豸(¸öÈËÇøÓòÍø, Name:eth2
2016-10-24 14:59:47,294 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:47,301 [main] INFO  org.NetworkHelper - IP: fe80:0:0:0:1171:1a89:ba:393d%7
2016-10-24 14:59:47,308 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:47,316 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:WAN Miniport (IKEv2), Name:net3
2016-10-24 14:59:47,323 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:47,330 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:47,337 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:WAN Miniport (PPPOE), Name:ppp0
2016-10-24 14:59:47,345 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:47,352 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:47,359 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:Microsoft Virtual WiFi Miniport Adapter, Name:net4
2016-10-24 14:59:47,364 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:47,370 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:47,376 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:Microsoft ISATAP Adapter #3, Name:net5
2016-10-24 14:59:47,382 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:47,388 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:47,395 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:Microsoft ISATAP Adapter #2, Name:net6
2016-10-24 14:59:47,402 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:47,408 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:47,415 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:Microsoft Hosted Network Virtual Adapter, Name:net7
2016-10-24 14:59:47,422 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:47,428 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:47,434 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:TeamViewer VPN Adapter, Name:eth3
2016-10-24 14:59:47,439 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:47,444 [main] INFO  org.NetworkHelper - IP: fe80:0:0:0:1192:d89e:5da4:9235%14
2016-10-24 14:59:47,451 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:47,456 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:WAN Miniport (Network Monitor), Name:eth4
2016-10-24 14:59:47,461 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:47,466 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:47,472 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:Microsoft ISATAP Adapter #4, Name:net8
2016-10-24 14:59:47,478 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:47,483 [main] INFO  org.NetworkHelper - IP: fe80:0:0:0:0:5efe:a10:76b%16
2016-10-24 14:59:47,487 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:47,498 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:VMware Virtual Ethernet Adapter for VMnet1, Name:eth5
2016-10-24 14:59:47,504 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:47,511 [main] INFO  org.NetworkHelper - IP: fe80:0:0:0:a185:c818:9f60:a233%17
2016-10-24 14:59:47,518 [main] INFO  org.NetworkHelper - IP: 192.168.10.1
2016-10-24 14:59:47,525 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:47,532 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:WAN Miniport (SSTP), Name:net9
2016-10-24 14:59:47,538 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:47,543 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:47,551 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:Microsoft Teredo Tunneling Adapter, Name:net10
2016-10-24 14:59:47,557 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:47,562 [main] INFO  org.NetworkHelper - IP: fe80:0:0:0:0:100:7f:fffe%19
2016-10-24 14:59:47,567 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:47,573 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:Microsoft ISATAP Adapter, Name:net11
2016-10-24 14:59:47,579 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:47,586 [main] INFO  org.NetworkHelper - IP: fe80:0:0:0:0:5efe:c0a8:7e01%20
2016-10-24 14:59:47,593 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:47,600 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:Realtek PCIe GBE Family Controller, Name:eth6
2016-10-24 14:59:48,614 [main] INFO  org.NetworkHelper - SUCCESS - ping 192.168.126.128
2016-10-24 14:59:48,620 [main] INFO  org.NetworkHelper - IP: fe80:0:0:0:7c41:2547:42e6:c961%21
2016-10-24 14:59:48,627 [main] INFO  org.NetworkHelper - IP: 10.16.35.5
2016-10-24 14:59:48,632 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:48,639 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:Microsoft Kernel Debug Network Adapter, Name:eth7
2016-10-24 14:59:48,644 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:48,650 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:48,656 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:WAN Miniport (L2TP), Name:net12
2016-10-24 14:59:48,664 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:48,670 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:48,675 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:VMware Virtual Ethernet Adapter for VMnet8, Name:eth8
2016-10-24 14:59:48,681 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:48,687 [main] INFO  org.NetworkHelper - IP: fe80:0:0:0:5991:ed80:bda5:481b%24
2016-10-24 14:59:48,692 [main] INFO  org.NetworkHelper - IP: 192.168.126.1
2016-10-24 14:59:48,697 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:48,702 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:TeamViewer VPN Adapter-WFP Native MAC Layer LightWeight Filter-0000, Name:eth9
2016-10-24 14:59:48,709 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:48,715 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:48,722 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:TeamViewer VPN Adapter-QoS Packet Scheduler-0000, Name:eth10
2016-10-24 14:59:48,727 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:48,733 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:48,739 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:TeamViewer VPN Adapter-WFP 802.3 MAC Layer LightWeight Filter-0000, Name:eth11
2016-10-24 14:59:48,745 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:48,753 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:48,758 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:Realtek PCIe GBE Family Controller-WFP Native MAC Layer LightWeight Filter-0000, Name:eth12
2016-10-24 14:59:48,764 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:48,770 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:48,776 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:Realtek PCIe GBE Family Controller-QoS Packet Scheduler-0000, Name:eth13
2016-10-24 14:59:48,782 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:48,787 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:48,792 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:Realtek PCIe GBE Family Controller-WFP 802.3 MAC Layer LightWeight Filter-0000, Name:eth14
2016-10-24 14:59:48,797 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:48,802 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:48,807 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:Broadcom BCM943228Z 802.11abgn 2x2 M.2 Wi-Fi Adapter-WFP Native MAC Layer LightWeight Filter-0000, Name:net13
2016-10-24 14:59:48,815 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:48,822 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:48,828 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:Broadcom BCM943228Z 802.11abgn 2x2 M.2 Wi-Fi Adapter-Virtual WiFi Filter Driver-0000, Name:net14
2016-10-24 14:59:48,834 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:48,841 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:48,847 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:Broadcom BCM943228Z 802.11abgn 2x2 M.2 Wi-Fi Adapter-Native WiFi Filter Driver-0000, Name:net15
2016-10-24 14:59:48,856 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:48,862 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:48,869 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:Broadcom BCM943228Z 802.11abgn 2x2 M.2 Wi-Fi Adapter-QoS Packet Scheduler-0000, Name:net16
2016-10-24 14:59:48,874 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:48,881 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:48,886 [main] INFO  org.NetworkHelper - Checking interface, DisplayName:Broadcom BCM943228Z 802.11abgn 2x2 M.2 Wi-Fi Adapter-WFP 802.3 MAC Layer LightWeight Filter-0000, Name:net17
2016-10-24 14:59:48,890 [main] INFO  org.NetworkHelper - FAILURE - ping 192.168.126.128
2016-10-24 14:59:48,895 [main] INFO  org.NetworkHelper - -----------------check now NetworkInterface is done--------------------------
2016-10-24 14:59:48,901 [main] INFO  org.NetworkHelper - =======本机所有网卡ping不通ip:192.168.126.128
2016-10-24 14:59:48,912 [main] INFO  org.NetworkHelper - SUCCESS - connection established! Local: 0:0:0:0:0:0:0:1 remote: 192.168.126.128 port8081
2016-10-24 14:59:48,918 [main] ERROR org.NetworkHelper - FAILRE - CAN not connect! Local: fe80:0:0:0:e18c:98b9:82bc:107a%6 remote: 192.168.126.128 port8081
2016-10-24 14:59:48,924 [main] ERROR org.NetworkHelper - FAILRE - CAN not connect! Local: fe80:0:0:0:1171:1a89:ba:393d%7 remote: 192.168.126.128 port8081
2016-10-24 14:59:48,931 [main] ERROR org.NetworkHelper - FAILRE - CAN not connect! Local: fe80:0:0:0:1192:d89e:5da4:9235%14 remote: 192.168.126.128 port8081
2016-10-24 14:59:48,937 [main] ERROR org.NetworkHelper - FAILRE - CAN not connect! Local: fe80:0:0:0:0:5efe:a10:76b%16 remote: 192.168.126.128 port8081
2016-10-24 14:59:48,944 [main] ERROR org.NetworkHelper - FAILRE - CAN not connect! Local: fe80:0:0:0:a185:c818:9f60:a233%17 remote: 192.168.126.128 port8081
2016-10-24 14:59:48,950 [main] ERROR org.NetworkHelper - FAILRE - CAN not connect! Local: 192.168.10.1 remote: 192.168.126.128 port8081
2016-10-24 14:59:48,955 [main] ERROR org.NetworkHelper - FAILRE - CAN not connect! Local: fe80:0:0:0:0:100:7f:fffe%19 remote: 192.168.126.128 port8081
2016-10-24 14:59:48,960 [main] ERROR org.NetworkHelper - FAILRE - CAN not connect! Local: fe80:0:0:0:0:5efe:c0a8:7e01%20 remote: 192.168.126.128 port8081
2016-10-24 14:59:48,966 [main] ERROR org.NetworkHelper - FAILRE - CAN not connect! Local: fe80:0:0:0:7c41:2547:42e6:c961%21 remote: 192.168.126.128 port8081
2016-10-24 14:59:48,973 [main] INFO  org.NetworkHelper - SUCCESS - connection established! Local: 10.16.35.5 remote: 192.168.126.128 port8081
2016-10-24 14:59:48,980 [main] ERROR org.NetworkHelper - FAILRE - CAN not connect! Local: fe80:0:0:0:5991:ed80:bda5:481b%24 remote: 192.168.126.128 port8081
2016-10-24 14:59:48,986 [main] ERROR org.NetworkHelper - FAILRE - CAN not connect! Local: 192.168.126.1 remote: 192.168.126.128 port8081
2016-10-24 14:59:48,992 [main] INFO  org.NetworkHelper - Reachable local IP is found, it is 10.16.35.5
2016-10-24 14:59:48,997 [main] INFO  org.NetworkHelper - =======本机可以与ip:192.168.126.128,port:8081建立连接的IP:10.16.35.5
总结:
SOCKET的更靠谱,通过Socket的可以测试指定端口

猜你喜欢

转载自donald-draper.iteye.com/blog/2332811