zoukankan      html  css  js  c++  java
  • InetAddress相关笔记

    InetAddress的实例对象包含以数字形式保存的IP地址,同时还可能包含主机名(如果使用主机名来获取InetAddress的实例,或者使用数字来构造,并且启用了反向主机名解析的功能)。InetAddress类提供了将主机名解析为IP地址(或反之)的方法。其生成InetAddress对象的方法(getLocalHost()getByName()getAllByName()getByAddress()等)

     

     1 import java.net.UnknownHostException;
     2 
     3 /*
     4  * To change this license header, choose License Headers in Project Properties.
     5  * To change this template file, choose Tools | Templates
     6  * and open the template in the editor.
     7  */
     8 import java.net.*;
     9 import java.util.*;
    10 /**
    11  *
    12  * @author silianbo
    13  */
    14 public class InetAddressDemo  {
    15     public static void main(String[] args) throws UnknownHostException{
    16         //此处添加相关的代码段
    17         
    18     }
    19     
    20 }

     

    获得本地主机信息

    1 InetAddress localAddress = InetAddress.getLocalHost();
    2         System.out.println(localAddress);    
    View Code

     

    指定域名主机的信息

    String host = "www.google.com";
    		InetAddress address = InetAddress.getByName(host);
    		System.out.println(address);	
    

    根据指定域名获得所有信息

    String host = "www.baidu.com";     //注意获得的所有IP地址
    		InetAddress [] addresses = InetAddress.getAllByName(host);
    		for(InetAddress address : addresses)
    			System.out.println(address);
    

    比较根据localhost和计算机名获得信息的不同

    String host = "localhost";    //更改localhost为你现在所使用计算机名,查看不同
    	    InetAddress ia = InetAddress.getByName (host);
    		System.out.println ("Canonical Host Name = " + ia.getCanonicalHostName ());
    		System.out.println ("Host Address = " + ia.getHostAddress ());
    		System.out.println ("Host Name = " + ia.getHostName ());
    		System.out.println ("Is Loopback Address = " + ia.isLoopbackAddress ());
    

    获得本地主机所有IP地址

    Enumeration<NetworkInterface> netInterfaces = null;  
     		try {  
         		netInterfaces = NetworkInterface.getNetworkInterfaces();  
         		while (netInterfaces.hasMoreElements()) {  
             		NetworkInterface ni = netInterfaces.nextElement();  
             		System.out.println("DisplayName:" + ni.getDisplayName());  
             		System.out.println("Name:" + ni.getName());  
             		Enumeration<InetAddress> ips = ni.getInetAddresses();  
             		while (ips.hasMoreElements()) {  
                 		System.out.println("IP:" + ips.nextElement().getHostAddress());  
             		}  
         		}  
     		} catch (Exception e) {  
         		e.printStackTrace();  
     		}	
    

     

      

    run:
    DisplayName:Software Loopback Interface 1
    Name:lo
    IP:127.0.0.1
    IP:0:0:0:0:0:0:0:1
    DisplayName:Microsoft 内核调试网络适配器
    Name:eth0
    DisplayName:Qualcomm Atheros AR9485WB-EG Wireless Network Adapter
    Name:wlan0
    IP:fe80:0:0:0:21c7:474b:810b:997d%wlan0
    DisplayName:Realtek PCIe GBE 系列控制器
    Name:eth1
    IP:10.128.195.6
    IP:fe80:0:0:0:21f7:f5fa:71a7:e3d1%eth1
    DisplayName:Bluetooth 设备(个人区域网)
    Name:eth2
    IP:fe80:0:0:0:5d4a:7ad0:3b6f:29af%eth2
    DisplayName:Bluetooth 设备(RFCOMM 协议 TDI)
    Name:net0
    DisplayName:Microsoft Wi-Fi Direct 虚拟适配器
    Name:wlan1
    DisplayName:Microsoft ISATAP Adapter
    Name:net1
    IP:fe80:0:0:0:0:5efe:a80:c306%net1
    DisplayName:Teredo Tunneling Pseudo-Interface
    Name:net2
    IP:2001:0:9d38:90d7:149e:221a:8adf:279a
    IP:fe80:0:0:0:149e:221a:8adf:279a%net2
    DisplayName:WAN 微型端口(SSTP)
    Name:net3
    DisplayName:WAN 微型端口(L2TP)
    Name:net4
    DisplayName:WAN 微型端口(PPPOE)
    Name:ppp0
    DisplayName:WAN 微型端口(PPTP)
    Name:net5
    DisplayName:WAN Miniport (IKEv2)
    Name:net6
    DisplayName:WAN 微型端口(IP)
    Name:eth3
    DisplayName:WAN 微型端口(IPv6)
    Name:eth4
    DisplayName:WAN 微型端口(网络监视器)
    Name:eth5
    DisplayName:RAS 同步适配器
    Name:ppp1
    DisplayName:Microsoft ISATAP Adapter #2
    Name:net7
    IP:fe80:0:0:0:0:5efe:c0a8:3401%net7
    DisplayName:Microsoft ISATAP Adapter #3
    Name:net8
    IP:fe80:0:0:0:0:5efe:c0a8:c701%net8
    DisplayName:Microsoft 托管网络虚拟适配器
    Name:wlan2
    IP:fe80:0:0:0:6c29:b7c6:d687:691c%wlan2
    DisplayName:VMware Virtual Ethernet Adapter for VMnet1
    Name:eth6
    IP:192.168.52.1
    IP:fe80:0:0:0:20d1:2461:f68:f35%eth6
    DisplayName:VMware Virtual Ethernet Adapter for VMnet8
    Name:eth7
    IP:192.168.199.1
    IP:fe80:0:0:0:1859:4837:4f9e:32dd%eth7
    DisplayName:Microsoft ISATAP Adapter #4
    Name:net9
    IP:fe80:0:0:0:0:5efe:a0b:b6ed%net9
    DisplayName:Microsoft Wi-Fi Direct 虚拟适配器 #2
    Name:wlan3
    DisplayName:Microsoft ISATAP Adapter #5
    Name:net10
    DisplayName:Microsoft Wi-Fi Direct 虚拟适配器 #3
    Name:wlan4
    DisplayName:Microsoft Wi-Fi Direct 虚拟适配器 #4
    Name:wlan5
    IP:fe80:0:0:0:95a5:ed42:ab58:12c4%wlan5
    DisplayName:Realtek PCIe GBE 系列控制器-WFP Native MAC Layer LightWeight Filter-0000
    Name:eth8
    DisplayName:Realtek PCIe GBE 系列控制器-Liebao Wifi NAT Driver-0000
    Name:eth9
    DisplayName:Realtek PCIe GBE 系列控制器-PPPoe Performance Enhancer-0000
    Name:eth10
    DisplayName:Realtek PCIe GBE 系列控制器-QoS Packet Scheduler-0000
    Name:eth11
    DisplayName:Realtek PCIe GBE 系列控制器-WFP 802.3 MAC Layer LightWeight Filter-0000
    Name:eth12
    DisplayName:Qualcomm Atheros AR9485WB-EG Wireless Network Adapter-WFP Native MAC Layer LightWeight Filter-0000
    Name:wlan6
    DisplayName:Qualcomm Atheros AR9485WB-EG Wireless Network Adapter-Virtual WiFi Filter Driver-0000
    Name:wlan7
    DisplayName:Qualcomm Atheros AR9485WB-EG Wireless Network Adapter-Native WiFi Filter Driver-0000
    Name:wlan8
    DisplayName:Qualcomm Atheros AR9485WB-EG Wireless Network Adapter-Liebao Wifi NAT Driver-0000
    Name:wlan9
    DisplayName:Qualcomm Atheros AR9485WB-EG Wireless Network Adapter-PPPoe Performance Enhancer-0000
    Name:wlan10
    DisplayName:Qualcomm Atheros AR9485WB-EG Wireless Network Adapter-QoS Packet Scheduler-0000
    Name:wlan11
    DisplayName:Qualcomm Atheros AR9485WB-EG Wireless Network Adapter-WFP 802.3 MAC Layer LightWeight Filter-0000
    Name:wlan12
    DisplayName:Microsoft 托管网络虚拟适配器-WFP Native MAC Layer LightWeight Filter-0000
    Name:wlan13
    DisplayName:Microsoft 托管网络虚拟适配器-Native WiFi Filter Driver-0000
    Name:wlan14
    DisplayName:Microsoft 托管网络虚拟适配器-Liebao Wifi NAT Driver-0000
    Name:wlan15
    DisplayName:Microsoft 托管网络虚拟适配器-PPPoe Performance Enhancer-0000
    Name:wlan16
    DisplayName:Microsoft 托管网络虚拟适配器-QoS Packet Scheduler-0000
    Name:wlan17
    DisplayName:Microsoft 托管网络虚拟适配器-WFP 802.3 MAC Layer LightWeight Filter-0000
    Name:wlan18
    DisplayName:Microsoft Wi-Fi Direct 虚拟适配器 #4-WFP Native MAC Layer LightWeight Filter-0000
    Name:wlan19
    DisplayName:Microsoft Wi-Fi Direct 虚拟适配器 #4-Native WiFi Filter Driver-0000
    Name:wlan20
    DisplayName:Microsoft Wi-Fi Direct 虚拟适配器 #4-Liebao Wifi NAT Driver-0000
    Name:wlan21
    DisplayName:Microsoft Wi-Fi Direct 虚拟适配器 #4-PPPoe Performance Enhancer-0000
    Name:wlan22
    DisplayName:Microsoft Wi-Fi Direct 虚拟适配器 #4-QoS Packet Scheduler-0000
    Name:wlan23
    DisplayName:Microsoft Wi-Fi Direct 虚拟适配器 #4-WFP 802.3 MAC Layer LightWeight Filter-0000
    Name:wlan24
    DisplayName:WAN 微型端口(IP)-WFP Native MAC Layer LightWeight Filter-0000
    Name:eth13
    DisplayName:WAN 微型端口(IP)-Liebao Wifi NAT Driver-0000
    Name:eth14
    DisplayName:WAN 微型端口(IP)-PPPoe Performance Enhancer-0000
    Name:eth15
    DisplayName:WAN 微型端口(IP)-QoS Packet Scheduler-0000
    Name:eth16
    DisplayName:WAN 微型端口(IPv6)-WFP Native MAC Layer LightWeight Filter-0000
    Name:eth17
    DisplayName:WAN 微型端口(IPv6)-Liebao Wifi NAT Driver-0000
    Name:eth18
    DisplayName:WAN 微型端口(IPv6)-PPPoe Performance Enhancer-0000
    Name:eth19
    DisplayName:WAN 微型端口(网络监视器)-WFP Native MAC Layer LightWeight Filter-0000
    Name:eth20
    DisplayName:WAN 微型端口(IPv6)-QoS Packet Scheduler-0000
    Name:eth21
    DisplayName:WAN 微型端口(网络监视器)-Liebao Wifi NAT Driver-0000
    Name:eth22
    DisplayName:WAN 微型端口(网络监视器)-PPPoe Performance Enhancer-0000
    Name:eth23
    DisplayName:WAN 微型端口(网络监视器)-QoS Packet Scheduler-0000
    Name:eth24
    DisplayName:ChinaNetSNWide
    Name:ppp2
    IP:10.11.182.237
    BUILD SUCCESSFUL (total time: 1 second)
    

      

    根据IP地址构造InetAddress

    byte [] ip = new byte[] { (byte) 202, (byte) 117, (byte)128 , 7};  //可以更改数值超过255
    		InetAddress address1 = InetAddress.getByAddress(ip);
    		InetAddress address2 = InetAddress.getByAddress("www.baidu.com", ip);
    		System.out.println(address1);
    		System.out.println(address2);
    

    利用InetAddress.getByName()按计算机名称获局域网中所有开机主机名称和IP

      for (int i = 0; i <= 100; i++) {
                int s = i + 1;
                String host = "192.168.52." + s;
                try {
                    InetAddress a = InetAddress.getByName(host);
                    System.out.println("The IP is:" + a.getHostAddress());
                    System.out.println("The localhost  is:" + a.getHostName());
                } catch (UnknownHostException e) {
                    e.printStackTrace();
                }
            }
    

      

    利用InetAddress.getByName()IP地址获得指定网络段所有开机主机名称/域名和IP地址,结合方法isReachable()

    for (int i = 0; i <= 155; i++) {
                int s = i + 100;
                String host = "192.168.52." + s;
                try {
                    InetAddress a = InetAddress.getByName(host);
                    System.out.println("The IP is:" + a.getHostAddress());
    
                    System.out.println("The localhost  is:" + a.getHostName());
                    a.isReachable(3000);
                } catch (UnknownHostException e) {
                }
    
            }
    

    InetAddress()  相关的操作就这么多!

     

  • 相关阅读:
    图片上传-下载-删除等图片管理的若干经验总结3-单一业务场景的完整解决方案
    图片上传-下载-删除等图片管理的若干经验总结2
    HDU 1195 Open the Lock
    HDU 1690 Bus System
    HDU 2647 Reward
    HDU 2680 Choose the best route
    HDU 1596 find the safest road
    POJ 1904 King's Quest
    CDOJ 889 Battle for Silver
    CDOJ 888 Absurdistan Roads
  • 原文地址:https://www.cnblogs.com/silianbo/p/4634247.html
Copyright © 2011-2022 走看看