<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FNetwork_Protocol%2FIP_Address</id>
		<title>Java/Network Protocol/IP Address - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FNetwork_Protocol%2FIP_Address"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Network_Protocol/IP_Address&amp;action=history"/>
		<updated>2026-04-21T18:59:51Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/Network_Protocol/IP_Address&amp;diff=8877&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Network_Protocol/IP_Address&amp;diff=8877&amp;oldid=prev"/>
				<updated>2010-06-01T07:20:15Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 07:20, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/Network_Protocol/IP_Address&amp;diff=8876&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Network_Protocol/IP_Address&amp;diff=8876&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:47Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== A class that performs some subnet calculations given a network address and a subnet mask. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
/*&lt;br /&gt;
 * Licensed to the Apache Software Foundation (ASF) under one or more&lt;br /&gt;
 * contributor license agreements.  See the NOTICE file distributed with&lt;br /&gt;
 * this work for additional information regarding copyright ownership.&lt;br /&gt;
 * The ASF licenses this file to You under the Apache License, Version 2.0&lt;br /&gt;
 * (the &amp;quot;License&amp;quot;); you may not use this file except in compliance with&lt;br /&gt;
 * the License.  You may obtain a copy of the License at&lt;br /&gt;
 *&lt;br /&gt;
 *      http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
 *&lt;br /&gt;
 * Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
 * distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
 * See the License for the specific language governing permissions and&lt;br /&gt;
 * limitations under the License.&lt;br /&gt;
 */&lt;br /&gt;
import java.util.regex.Matcher;&lt;br /&gt;
import java.util.regex.Pattern;&lt;br /&gt;
/**&lt;br /&gt;
 * A class that performs some subnet calculations given a network address and a subnet mask. &lt;br /&gt;
 * @see http://www.faqs.org/rfcs/rfc1519.html&lt;br /&gt;
 * @author &amp;lt;rwinston@apache.org&amp;gt;&lt;br /&gt;
 * @since 2.0&lt;br /&gt;
 */&lt;br /&gt;
public class SubnetUtils {&lt;br /&gt;
    private static final String IP_ADDRESS = &amp;quot;(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})&amp;quot;;&lt;br /&gt;
    private static final String SLASH_FORMAT = IP_ADDRESS + &amp;quot;/(\\d{1,3})&amp;quot;;&lt;br /&gt;
    private static final Pattern addressPattern = Pattern.rupile(IP_ADDRESS);&lt;br /&gt;
    private static final Pattern cidrPattern = Pattern.rupile(SLASH_FORMAT);&lt;br /&gt;
    private static final int NBITS = 32;&lt;br /&gt;
    private int netmask = 0;&lt;br /&gt;
    private int address = 0;&lt;br /&gt;
    private int network = 0;&lt;br /&gt;
    private int broadcast = 0;&lt;br /&gt;
    /**&lt;br /&gt;
     * Constructor that takes a CIDR-notation string, e.g. &amp;quot;192.168.0.1/16&amp;quot;&lt;br /&gt;
     * @param cidrNotation A CIDR-notation string, e.g. &amp;quot;192.168.0.1/16&amp;quot;&lt;br /&gt;
     */&lt;br /&gt;
    public SubnetUtils(String cidrNotation) {&lt;br /&gt;
        calculate(cidrNotation);&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * Constructor that takes two dotted decimal addresses. &lt;br /&gt;
     * @param address An IP address, e.g. &amp;quot;192.168.0.1&amp;quot;&lt;br /&gt;
     * @param mask A dotted decimal netmask e.g. &amp;quot;255.255.0.0&amp;quot;&lt;br /&gt;
     */&lt;br /&gt;
    public SubnetUtils(String address, String mask) {&lt;br /&gt;
        calculate(toCidrNotation(address, mask));&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * Convenience container for subnet summary information.&lt;br /&gt;
     *&lt;br /&gt;
     */&lt;br /&gt;
    public final class SubnetInfo {&lt;br /&gt;
        private SubnetInfo() {}&lt;br /&gt;
        private int netmask()       { return netmask; }&lt;br /&gt;
        private int network()       { return network; }&lt;br /&gt;
        private int address()       { return address; }&lt;br /&gt;
        private int broadcast()     { return broadcast; }&lt;br /&gt;
        private int low()           { return network() + 1; }&lt;br /&gt;
        private int high()          { return broadcast() - 1; }&lt;br /&gt;
        public boolean isInRange(String address)    { return isInRange(toInteger(address)); }&lt;br /&gt;
        private boolean isInRange(int address)      { return ((address-low()) &amp;lt;= (high()-low())); }&lt;br /&gt;
        public String getBroadcastAddress()         { return format(toArray(broadcast())); }&lt;br /&gt;
        public String getNetworkAddress()           { return format(toArray(network())); }&lt;br /&gt;
        public String getNetmask()                  { return format(toArray(netmask())); }&lt;br /&gt;
        public String getAddress()                  { return format(toArray(address())); }&lt;br /&gt;
        public String getLowAddress()               { return format(toArray(low())); }&lt;br /&gt;
        public String getHighAddress()              { return format(toArray(high())); }&lt;br /&gt;
        public int getAddressCount()                { return (broadcast() - low()); }&lt;br /&gt;
        public int asInteger(String address)        { return toInteger(address); }&lt;br /&gt;
        &lt;br /&gt;
        public String getCidrSignature() { &lt;br /&gt;
            return toCidrNotation(&lt;br /&gt;
                    format(toArray(address())), &lt;br /&gt;
                    format(toArray(netmask()))&lt;br /&gt;
            );&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        public String[] getAllAddresses() { &lt;br /&gt;
            String[] addresses = new String[getAddressCount()];&lt;br /&gt;
            for (int add = low(), j=0; add &amp;lt;= high(); ++add, ++j) {&lt;br /&gt;
                addresses[j] = format(toArray(add));&lt;br /&gt;
            }&lt;br /&gt;
            return addresses;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * Return a {@link SubnetInfo} instance that contains subnet-specific statistics&lt;br /&gt;
     * @return&lt;br /&gt;
     */&lt;br /&gt;
    public final SubnetInfo getInfo() { return new SubnetInfo(); }&lt;br /&gt;
    /*&lt;br /&gt;
     * Initialize the internal fields from the supplied CIDR mask&lt;br /&gt;
     */&lt;br /&gt;
    private void calculate(String mask) {&lt;br /&gt;
        Matcher matcher = cidrPattern.matcher(mask);&lt;br /&gt;
        if (matcher.matches()) {&lt;br /&gt;
            address = matchAddress(matcher);&lt;br /&gt;
            /* Create a binary netmask from the number of bits specification /x */&lt;br /&gt;
            int cidrPart = rangeCheck(Integer.parseInt(matcher.group(5)), 0, NBITS-1);&lt;br /&gt;
            for (int j = 0; j &amp;lt; cidrPart; ++j) {&lt;br /&gt;
                netmask |= (1 &amp;lt;&amp;lt; 31-j);&lt;br /&gt;
            }&lt;br /&gt;
            /* Calculate base network address */&lt;br /&gt;
            network = (address &amp;amp; netmask);&lt;br /&gt;
            /* Calculate broadcast address */&lt;br /&gt;
            broadcast = network | ~(netmask);&lt;br /&gt;
        }&lt;br /&gt;
        else &lt;br /&gt;
            throw new IllegalArgumentException(&amp;quot;Could not parse [&amp;quot; + mask + &amp;quot;]&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    /*&lt;br /&gt;
     * Convert a dotted decimal format address to a packed integer format&lt;br /&gt;
     */&lt;br /&gt;
    private int toInteger(String address) {&lt;br /&gt;
        Matcher matcher = addressPattern.matcher(address);&lt;br /&gt;
        if (matcher.matches()) {&lt;br /&gt;
            return matchAddress(matcher);&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
            throw new IllegalArgumentException(&amp;quot;Could not parse [&amp;quot; + address + &amp;quot;]&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    /*&lt;br /&gt;
     * Convenience method to extract the components of a dotted decimal address and &lt;br /&gt;
     * pack into an integer using a regex match&lt;br /&gt;
     */&lt;br /&gt;
    private int matchAddress(Matcher matcher) {&lt;br /&gt;
        int addr = 0;&lt;br /&gt;
        for (int i = 1; i &amp;lt;= 4; ++i) { &lt;br /&gt;
            int n = (rangeCheck(Integer.parseInt(matcher.group(i)), 0, 255));&lt;br /&gt;
            addr |= ((n &amp;amp; 0xff) &amp;lt;&amp;lt; 8*(4-i));&lt;br /&gt;
        }&lt;br /&gt;
        return addr;&lt;br /&gt;
    }&lt;br /&gt;
    /*&lt;br /&gt;
     * Convert a packed integer address into a 4-element array&lt;br /&gt;
     */&lt;br /&gt;
    private int[] toArray(int val) {&lt;br /&gt;
        int ret[] = new int[4];&lt;br /&gt;
        for (int j = 3; j &amp;gt;= 0; --j)&lt;br /&gt;
            ret[j] |= ((val &amp;gt;&amp;gt;&amp;gt; 8*(3-j)) &amp;amp; (0xff));&lt;br /&gt;
        return ret;&lt;br /&gt;
    }&lt;br /&gt;
    /*&lt;br /&gt;
     * Convert a 4-element array into dotted decimal format&lt;br /&gt;
     */&lt;br /&gt;
    private String format(int[] octets) {&lt;br /&gt;
        StringBuilder str = new StringBuilder();&lt;br /&gt;
        for (int i =0; i &amp;lt; octets.length; ++i){&lt;br /&gt;
            str.append(octets[i]);&lt;br /&gt;
            if (i != octets.length - 1) {&lt;br /&gt;
                str.append(&amp;quot;.&amp;quot;); &lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return str.toString();&lt;br /&gt;
    }&lt;br /&gt;
    /*&lt;br /&gt;
     * Convenience function to check integer boundaries&lt;br /&gt;
     */&lt;br /&gt;
    private int rangeCheck(int value, int begin, int end) {&lt;br /&gt;
        if (value &amp;gt;= begin &amp;amp;&amp;amp; value &amp;lt;= end)&lt;br /&gt;
            return value;&lt;br /&gt;
        throw new IllegalArgumentException(&amp;quot;Value out of range: [&amp;quot; + value + &amp;quot;]&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    /*&lt;br /&gt;
     * Count the number of 1-bits in a 32-bit integer using a divide-and-conquer strategy&lt;br /&gt;
     * see Hacker&amp;quot;s Delight section 5.1 &lt;br /&gt;
     */&lt;br /&gt;
    int pop(int x) {&lt;br /&gt;
        x = x - ((x &amp;gt;&amp;gt;&amp;gt; 1) &amp;amp; 0x55555555); &lt;br /&gt;
        x = (x &amp;amp; 0x33333333) + ((x &amp;gt;&amp;gt;&amp;gt; 2) &amp;amp; 0x33333333); &lt;br /&gt;
        x = (x + (x &amp;gt;&amp;gt;&amp;gt; 4)) &amp;amp; 0x0F0F0F0F; &lt;br /&gt;
        x = x + (x &amp;gt;&amp;gt;&amp;gt; 8); &lt;br /&gt;
        x = x + (x &amp;gt;&amp;gt;&amp;gt; 16); &lt;br /&gt;
        return x &amp;amp; 0x0000003F; &lt;br /&gt;
    } &lt;br /&gt;
    /* Convert two dotted decimal addresses to a single xxx.xxx.xxx.xxx/yy format&lt;br /&gt;
     * by counting the 1-bit population in the mask address. (It may be better to count &lt;br /&gt;
     * NBITS-#trailing zeroes for this case)&lt;br /&gt;
     */&lt;br /&gt;
    private String toCidrNotation(String addr, String mask) {&lt;br /&gt;
        return addr + &amp;quot;/&amp;quot; + pop(toInteger(mask));&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== An nslookup clone in Java ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
import java.io.DataInputStream;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
import java.net.UnknownHostException;&lt;br /&gt;
/**&lt;br /&gt;
 * An &amp;quot;nslookup&amp;quot; clone in Java.&lt;br /&gt;
 * &lt;br /&gt;
 * @author Elliot Rusty Harold, O&amp;quot;Reilly &amp;amp; Associates&lt;br /&gt;
 */&lt;br /&gt;
public class JavaLookup {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    if (args.length &amp;gt; 0) { // use command line&lt;br /&gt;
      for (int i = 0; i &amp;lt; args.length; i++) {&lt;br /&gt;
        lookup(args[i]);&lt;br /&gt;
      }&lt;br /&gt;
    } else {&lt;br /&gt;
      DataInputStream myInputStream = new DataInputStream(System.in);&lt;br /&gt;
      System.out&lt;br /&gt;
          .println(&amp;quot;Enter names and IP addresses. Enter \&amp;quot;exit\&amp;quot; to quit.&amp;quot;);&lt;br /&gt;
      while (true) {&lt;br /&gt;
        String s;&lt;br /&gt;
        try {&lt;br /&gt;
          s = myInputStream.readLine();&lt;br /&gt;
        } catch (IOException e) {&lt;br /&gt;
          break;&lt;br /&gt;
        }&lt;br /&gt;
        if (s.equals(&amp;quot;exit&amp;quot;))&lt;br /&gt;
          break;&lt;br /&gt;
        if (s.equals(&amp;quot;quit&amp;quot;))&lt;br /&gt;
          break;&lt;br /&gt;
        if (s.charAt(0) == &amp;quot;\004&amp;quot;)&lt;br /&gt;
          break; // unix ^D&lt;br /&gt;
        lookup(s);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  } /* end main */&lt;br /&gt;
  private static void lookup(String s) {&lt;br /&gt;
    InetAddress thisComputer;&lt;br /&gt;
    byte[] address;&lt;br /&gt;
    // get the bytes of the IP address&lt;br /&gt;
    try {&lt;br /&gt;
      thisComputer = InetAddress.getByName(s);&lt;br /&gt;
      address = thisComputer.getAddress();&lt;br /&gt;
    } catch (UnknownHostException ue) {&lt;br /&gt;
      System.out.println(&amp;quot;Cannot find host &amp;quot; + s);&lt;br /&gt;
      return;&lt;br /&gt;
    }&lt;br /&gt;
    if (isHostname(s)) {&lt;br /&gt;
      // Print the IP address&lt;br /&gt;
      for (int i = 0; i &amp;lt; address.length; i++) {&lt;br /&gt;
        int unsignedByte = address[i] &amp;lt; 0 ? address[i] + 256&lt;br /&gt;
            : address[i];&lt;br /&gt;
        System.out.print(unsignedByte + &amp;quot;.&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
      System.out.println();&lt;br /&gt;
    } else { // this is an IP address&lt;br /&gt;
      try {&lt;br /&gt;
        System.out.println(InetAddress.getByName(s));&lt;br /&gt;
      } catch (UnknownHostException e) {&lt;br /&gt;
        System.out.println(&amp;quot;Could not lookup the address &amp;quot; + s);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  } // end lookup&lt;br /&gt;
  private static boolean isHostname(String s) {&lt;br /&gt;
    char[] ca = s.toCharArray();&lt;br /&gt;
    // if we see a character that is neither a digit nor a period&lt;br /&gt;
    // then s is probably a hostname&lt;br /&gt;
    for (int i = 0; i &amp;lt; ca.length; i++) {&lt;br /&gt;
      if (!Character.isDigit(ca[i])) {&lt;br /&gt;
        if (ca[i] != &amp;quot;.&amp;quot;) {&lt;br /&gt;
          return true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    // Everything was either a digit or a period&lt;br /&gt;
    // so s looks like an IP address in dotted quad format&lt;br /&gt;
    return false;&lt;br /&gt;
  } // end isHostName&lt;br /&gt;
} // end javalookup&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Convert a hostname to the equivalent IP address ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
import java.net.UnknownHostException;&lt;br /&gt;
public class GetIP {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    InetAddress address = null;&lt;br /&gt;
    try {&lt;br /&gt;
      address = InetAddress.getByName(&amp;quot;www.jexp.ru&amp;quot;);&lt;br /&gt;
    } catch (UnknownHostException e) {&lt;br /&gt;
      System.exit(2);&lt;br /&gt;
    }&lt;br /&gt;
    System.out.println(address.getHostName() + &amp;quot;=&amp;quot;&lt;br /&gt;
        + address.getHostAddress());&lt;br /&gt;
    System.exit(0);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Determine the IP address and hostname of the local machine ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    InetAddress addr = InetAddress.getLocalHost();&lt;br /&gt;
    // Get IP Address&lt;br /&gt;
    byte[] ipAddr = addr.getAddress();&lt;br /&gt;
    // Get hostname&lt;br /&gt;
    String hostname = addr.getHostName();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Display multiple IP addresses ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
     &lt;br /&gt;
import java.net.*;&lt;br /&gt;
public class GetAllIP {&lt;br /&gt;
  public static void main(String [] args) throws Exception {&lt;br /&gt;
    InetAddress[] addr = InetAddress.getAllByName(&amp;quot;www.jexp.ru&amp;quot;);&lt;br /&gt;
    for (int i=0;i&amp;lt;addr.length;i++)&lt;br /&gt;
      System.out.println(addr[i]);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get all IP addresses ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    InetAddress[] addr = InetAddress.getAllByName(args[0]);&lt;br /&gt;
    for (int i = 0; i &amp;lt; addr.length; i++)&lt;br /&gt;
      System.out.println(addr[i]);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get canonical host name ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    byte[] ipAddr = new byte[] { 127, 0, 0, 1 };&lt;br /&gt;
    InetAddress addr = InetAddress.getByAddress(ipAddr);&lt;br /&gt;
    String hostnameCanonical = addr.getCanonicalHostName();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get hostname by a byte array containing the IP address ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    byte[] ipAddr = new byte[] { 127, 0, 0, 1 };&lt;br /&gt;
    InetAddress addr = InetAddress.getByAddress(ipAddr);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get IP ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    InetAddress address = null;&lt;br /&gt;
    if (args.length == 0) {&lt;br /&gt;
      System.out.println(&amp;quot;usage: GetIP host&amp;quot;);&lt;br /&gt;
      System.exit(1);&lt;br /&gt;
    }&lt;br /&gt;
    address = InetAddress.getByName(args[0]);&lt;br /&gt;
    System.out.println(address.getHostName() + &amp;quot;=&amp;quot; + address.getHostAddress());&lt;br /&gt;
    System.exit(0);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting the Hostname of an IP Address ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    // Get hostname by textual representation of IP address&lt;br /&gt;
    InetAddress addr = InetAddress.getByName(&amp;quot;127.0.0.1&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting the IP Address and Hostname of the Local Machine ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    InetAddress addr = InetAddress.getLocalHost();&lt;br /&gt;
    // Get IP Address&lt;br /&gt;
    byte[] ipAddr = addr.getAddress();&lt;br /&gt;
    // Get hostname&lt;br /&gt;
    String hostname = addr.getHostName();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Looking for Port: 1024 -- 65536 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
import java.net.*;&lt;br /&gt;
import java.io.*;&lt;br /&gt;
public class lookForPorts2 {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    Socket theSocket;&lt;br /&gt;
    String host = &amp;quot;localhost&amp;quot;;&lt;br /&gt;
    if (args.length &amp;gt; 0) {&lt;br /&gt;
      host = args[0];&lt;br /&gt;
    }&lt;br /&gt;
    try {&lt;br /&gt;
      InetAddress theAddress = InetAddress.getByName(host);&lt;br /&gt;
      for (int i = 1024; i &amp;lt; 65536; i++) {&lt;br /&gt;
        try {&lt;br /&gt;
          System.out.println(&amp;quot;Looking for port &amp;quot;+ i);&lt;br /&gt;
          theSocket = new Socket(theAddress, i);&lt;br /&gt;
          System.out.println(&amp;quot;There is a server on port &amp;quot; + i + &amp;quot; of &amp;quot; + host);&lt;br /&gt;
        } catch (IOException e) {&lt;br /&gt;
          // must not be a server on this port&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    } catch (UnknownHostException e) {&lt;br /&gt;
      System.err.println(e);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Looking for Ports: 0 -- 1024 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
import java.net.*;&lt;br /&gt;
import java.io.*;&lt;br /&gt;
&lt;br /&gt;
public class lookForPorts {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    &lt;br /&gt;
    Socket theSocket;&lt;br /&gt;
    String host = &amp;quot;localhost&amp;quot;;&lt;br /&gt;
    if (args.length &amp;gt; 0) {&lt;br /&gt;
      host = args[0];&lt;br /&gt;
    }&lt;br /&gt;
    for (int i = 0; i &amp;lt; 1024; i++) {&lt;br /&gt;
      try {&lt;br /&gt;
        System.out.println(&amp;quot;Looking for &amp;quot;+ i);&lt;br /&gt;
        theSocket = new Socket(host, i);&lt;br /&gt;
        System.out.println(&amp;quot;There is a server on port &amp;quot; + i + &amp;quot; of &amp;quot; + host);&lt;br /&gt;
      }&lt;br /&gt;
      catch (UnknownHostException e) {&lt;br /&gt;
        System.err.println(e);&lt;br /&gt;
        break;&lt;br /&gt;
      }&lt;br /&gt;
      catch (IOException e) {&lt;br /&gt;
        // must not be a server on this port&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Looking for Port: start from 65535  ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
import java.net.Socket;&lt;br /&gt;
import java.net.UnknownHostException;&lt;br /&gt;
public class lookForPorts3 {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    Socket theSocket;&lt;br /&gt;
    String host = &amp;quot;localhost&amp;quot;;&lt;br /&gt;
    if (args.length &amp;gt; 0) {&lt;br /&gt;
      host = args[0];&lt;br /&gt;
    }&lt;br /&gt;
    try {&lt;br /&gt;
      InetAddress theAddress = InetAddress.getByName(host);&lt;br /&gt;
      for (int i = 1; i &amp;lt;= 65535; i++) {&lt;br /&gt;
        try {&lt;br /&gt;
          theSocket = new Socket(host, i);&lt;br /&gt;
          System.out.println(&amp;quot;There is a server on port &amp;quot; + i + &amp;quot; of &amp;quot; + host);&lt;br /&gt;
          theSocket.close();&lt;br /&gt;
        } catch (IOException e) {&lt;br /&gt;
          // must not be a server on this port&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    } catch (UnknownHostException e) {&lt;br /&gt;
      System.err.println(e);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Looking Up the Address of a Host ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
import java.net.UnknownHostException;&lt;br /&gt;
public class DNSLookup {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    try {&lt;br /&gt;
      InetAddress host;&lt;br /&gt;
      if (args.length == 0) {&lt;br /&gt;
        host = InetAddress.getLocalHost();&lt;br /&gt;
      } else {&lt;br /&gt;
        host = InetAddress.getByName(args[0]);&lt;br /&gt;
      }&lt;br /&gt;
      System.out.println(&amp;quot;Host:&amp;quot;&amp;quot; + host.getHostName()&lt;br /&gt;
          + &amp;quot;&amp;quot; has address: &amp;quot; + host.getHostAddress());&lt;br /&gt;
      byte bytes[] = host.getAddress();&lt;br /&gt;
      int fourBytes[] = new int[bytes.length];&lt;br /&gt;
      for (int i = 0, n = bytes.length; i &amp;lt; n; i++) {&lt;br /&gt;
        fourBytes[i] = bytes[i] &amp;amp; 255;&lt;br /&gt;
      }&lt;br /&gt;
      System.out.println(&amp;quot;\t&amp;quot; + fourBytes[0] + &amp;quot;.&amp;quot; + fourBytes[1] + &amp;quot;.&amp;quot;&lt;br /&gt;
          + fourBytes[2] + &amp;quot;.&amp;quot; + fourBytes[3]);&lt;br /&gt;
    } catch (UnknownHostException e) {&lt;br /&gt;
      e.printStackTrace();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Perform Network Lookup with the InetAddress class ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception{&lt;br /&gt;
    InetAddress inetHost = InetAddress.getByName(&amp;quot;www.google.ru&amp;quot;);&lt;br /&gt;
    String hostName = inetHost.getHostName();&lt;br /&gt;
    System.out.println(hostName);&lt;br /&gt;
    System.out.println(inetHost.getHostAddress());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Report By Address ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
import java.net.NetworkInterface;&lt;br /&gt;
public class Main {&lt;br /&gt;
  static public void main(String args[]) throws Exception {&lt;br /&gt;
    InetAddress ia = InetAddress.getByName(args[0]);&lt;br /&gt;
    NetworkInterface ni = NetworkInterface.getByInetAddress(ia);&lt;br /&gt;
    System.out.println(ni);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resolves hostname and returns ip address as a string ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
// Copyright (c) 2003-2009, Jodd Team (jodd.org). All Rights Reserved.&lt;br /&gt;
&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.net.HttpURLConnection;&lt;br /&gt;
import java.net.Inet4Address;&lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
import java.net.URL;&lt;br /&gt;
import java.net.UnknownHostException;&lt;br /&gt;
/**&lt;br /&gt;
 * Network utilities.&lt;br /&gt;
 */&lt;br /&gt;
public class NetUtil {&lt;br /&gt;
  /**&lt;br /&gt;
   * Resolves hostname and returns ip address as a string.&lt;br /&gt;
   */&lt;br /&gt;
  public static String resolveHost(String hostname) {&lt;br /&gt;
    try {&lt;br /&gt;
      InetAddress addr = Inet4Address.getByName(hostname);&lt;br /&gt;
      byte[] ipAddr = addr.getAddress();&lt;br /&gt;
      StringBuilder ipAddrStr = new StringBuilder(15);&lt;br /&gt;
      for (int i = 0; i &amp;lt; ipAddr.length; i++) {&lt;br /&gt;
        if (i &amp;gt; 0) {&lt;br /&gt;
          ipAddrStr.append(&amp;quot;.&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        ipAddrStr.append(ipAddr[i] &amp;amp; 0xFF);&lt;br /&gt;
      }&lt;br /&gt;
      return ipAddrStr.toString();&lt;br /&gt;
    } catch (UnknownHostException uhex) {&lt;br /&gt;
      return null;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Resolves string ip address and returns host name as a string.&lt;br /&gt;
   */&lt;br /&gt;
  public static String resolveIp(String ip) {&lt;br /&gt;
    try {&lt;br /&gt;
      InetAddress addr = InetAddress.getByName(ip);&lt;br /&gt;
      return addr.getHostName();&lt;br /&gt;
    } catch (UnknownHostException uhex) {&lt;br /&gt;
      return null;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Resolves ip address and returns host name as a string.&lt;br /&gt;
   */&lt;br /&gt;
  public static String resolveIp(byte[] ip) {&lt;br /&gt;
    try {&lt;br /&gt;
      InetAddress addr = InetAddress.getByAddress(ip);&lt;br /&gt;
      return addr.getHostName();&lt;br /&gt;
    } catch (UnknownHostException uhex) {&lt;br /&gt;
      return null;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resolves ip address and returns host name as a string ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
// Copyright (c) 2003-2009, Jodd Team (jodd.org). All Rights Reserved.&lt;br /&gt;
&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.net.HttpURLConnection;&lt;br /&gt;
import java.net.Inet4Address;&lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
import java.net.URL;&lt;br /&gt;
import java.net.UnknownHostException;&lt;br /&gt;
/**&lt;br /&gt;
 * Network utilities.&lt;br /&gt;
 */&lt;br /&gt;
public class NetUtil {&lt;br /&gt;
  /**&lt;br /&gt;
   * Resolves hostname and returns ip address as a string.&lt;br /&gt;
   */&lt;br /&gt;
  public static String resolveHost(String hostname) {&lt;br /&gt;
    try {&lt;br /&gt;
      InetAddress addr = Inet4Address.getByName(hostname);&lt;br /&gt;
      byte[] ipAddr = addr.getAddress();&lt;br /&gt;
      StringBuilder ipAddrStr = new StringBuilder(15);&lt;br /&gt;
      for (int i = 0; i &amp;lt; ipAddr.length; i++) {&lt;br /&gt;
        if (i &amp;gt; 0) {&lt;br /&gt;
          ipAddrStr.append(&amp;quot;.&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        ipAddrStr.append(ipAddr[i] &amp;amp; 0xFF);&lt;br /&gt;
      }&lt;br /&gt;
      return ipAddrStr.toString();&lt;br /&gt;
    } catch (UnknownHostException uhex) {&lt;br /&gt;
      return null;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Resolves string ip address and returns host name as a string.&lt;br /&gt;
   */&lt;br /&gt;
  public static String resolveIp(String ip) {&lt;br /&gt;
    try {&lt;br /&gt;
      InetAddress addr = InetAddress.getByName(ip);&lt;br /&gt;
      return addr.getHostName();&lt;br /&gt;
    } catch (UnknownHostException uhex) {&lt;br /&gt;
      return null;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Resolves ip address and returns host name as a string.&lt;br /&gt;
   */&lt;br /&gt;
  public static String resolveIp(byte[] ip) {&lt;br /&gt;
    try {&lt;br /&gt;
      InetAddress addr = InetAddress.getByAddress(ip);&lt;br /&gt;
      return addr.getHostName();&lt;br /&gt;
    } catch (UnknownHostException uhex) {&lt;br /&gt;
      return null;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resolves string ip address and returns host name as a string ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
// Copyright (c) 2003-2009, Jodd Team (jodd.org). All Rights Reserved.&lt;br /&gt;
&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.net.HttpURLConnection;&lt;br /&gt;
import java.net.Inet4Address;&lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
import java.net.URL;&lt;br /&gt;
import java.net.UnknownHostException;&lt;br /&gt;
/**&lt;br /&gt;
 * Network utilities.&lt;br /&gt;
 */&lt;br /&gt;
public class NetUtil {&lt;br /&gt;
  /**&lt;br /&gt;
   * Resolves hostname and returns ip address as a string.&lt;br /&gt;
   */&lt;br /&gt;
  public static String resolveHost(String hostname) {&lt;br /&gt;
    try {&lt;br /&gt;
      InetAddress addr = Inet4Address.getByName(hostname);&lt;br /&gt;
      byte[] ipAddr = addr.getAddress();&lt;br /&gt;
      StringBuilder ipAddrStr = new StringBuilder(15);&lt;br /&gt;
      for (int i = 0; i &amp;lt; ipAddr.length; i++) {&lt;br /&gt;
        if (i &amp;gt; 0) {&lt;br /&gt;
          ipAddrStr.append(&amp;quot;.&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        ipAddrStr.append(ipAddr[i] &amp;amp; 0xFF);&lt;br /&gt;
      }&lt;br /&gt;
      return ipAddrStr.toString();&lt;br /&gt;
    } catch (UnknownHostException uhex) {&lt;br /&gt;
      return null;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Resolves string ip address and returns host name as a string.&lt;br /&gt;
   */&lt;br /&gt;
  public static String resolveIp(String ip) {&lt;br /&gt;
    try {&lt;br /&gt;
      InetAddress addr = InetAddress.getByName(ip);&lt;br /&gt;
      return addr.getHostName();&lt;br /&gt;
    } catch (UnknownHostException uhex) {&lt;br /&gt;
      return null;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Resolves ip address and returns host name as a string.&lt;br /&gt;
   */&lt;br /&gt;
  public static String resolveIp(byte[] ip) {&lt;br /&gt;
    try {&lt;br /&gt;
      InetAddress addr = InetAddress.getByAddress(ip);&lt;br /&gt;
      return addr.getHostName();&lt;br /&gt;
    } catch (UnknownHostException uhex) {&lt;br /&gt;
      return null;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Retrieve the hostname of an IP Address ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    InetAddress addr = InetAddress.getByName(&amp;quot;127.0.0.1&amp;quot;);&lt;br /&gt;
    byte[] ipAddr = new byte[] { 127, 0, 0, 1 };&lt;br /&gt;
    addr = InetAddress.getByAddress(ipAddr);&lt;br /&gt;
    // Get the host name&lt;br /&gt;
    String hostname = addr.getHostName();&lt;br /&gt;
    // Get canonical host name&lt;br /&gt;
    String canonicalhostname = addr.getCanonicalHostName();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Retrieve the IP address of a hostname ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    InetAddress addr = InetAddress.getByName(&amp;quot;java-tips.org&amp;quot;);&lt;br /&gt;
    byte[] ipAddr = addr.getAddress();&lt;br /&gt;
    // Convert to dot representation&lt;br /&gt;
    String ipAddrStr = &amp;quot;&amp;quot;;&lt;br /&gt;
    for (int i = 0; i &amp;lt; ipAddr.length; i++) {&lt;br /&gt;
      if (i &amp;gt; 0) {&lt;br /&gt;
        ipAddrStr += &amp;quot;.&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
      ipAddrStr += ipAddr[i] &amp;amp; 0xFF;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>