import java.net.InetAddress; import java.net.UnknownHostException; /** * 查询ip地址 * * @author chengluchao * */ public class AdderssTest { public static void main(String[] args) { selectLocal(); } /** * 打印信息 * * @param address */ static void echoInetAddressInfo(InetAddress address) { System.out.println("全信息: " + address); System.out.println("主机名: " + address.getHostName()); System.out.println("ip: " + address.getHostAddress()); } /** * 获取ip版本 * * @param address */ static void getVersion(InetAddress address) { byte[] ip = address.getAddress(); if (ip.length == 4) { System.out.println("IPV4"); } else if (ip.length == 16) { System.out.println("IPV6"); } else { System.err.println("异常ip"); } } /** * 根据域名查询ip */ static void selectByName() { try { InetAddress address = InetAddress.getByName("www.baidu.com"); echoInetAddressInfo(address); } catch (UnknownHostException e) { System.err.println("error"); } } /** * 根据ip查询域名 */ static void selectByIp() { try { InetAddress[] addresss = InetAddress.getAllByName("220.181.111.188"); int i = 1; for (InetAddress address : addresss) { System.out.println("第" + (i++) + "个"); echoInetAddressInfo(address); } } catch (UnknownHostException e) { System.err.println("error"); } } /** * 获取本地 */ static void selectLocal() { try { InetAddress address = InetAddress.getLocalHost(); int i = 1; System.out.println("第" + (i++) + "个"); echoInetAddressInfo(address); getVersion(address); } catch (UnknownHostException e) { System.err.println("error"); } } }