Java中的nslookup克隆 : IP地址 « 网络协议 « Java

En
Java
1. 图形用户界面
2. 三维图形动画
3. 高级图形
4. 蚂蚁编译
5. Apache类库
6. 统计图
7. 
8. 集合数据结构
9. 数据类型
10. 数据库JDBC
11. 设计模式
12. 开发相关类
13. EJB3
14. 电子邮件
15. 事件
16. 文件输入输出
17. 游戏
18. 泛型
19. GWT
20. Hibernate
21. 本地化
22. J2EE平台
23. 基于J2ME
24. JDK-6
25. JNDI的LDAP
26. JPA
27. JSP技术
28. JSTL
29. 语言基础知识
30. 网络协议
31. PDF格式RTF格式
32. 映射
33. 常规表达式
34. 脚本
35. 安全
36. Servlets
37. Spring
38. Swing组件
39. 图形用户界面
40. SWT-JFace-Eclipse
41. 线程
42. 应用程序
43. Velocity
44. Web服务SOA
45. 可扩展标记语言
Java 教程
Java » 网络协议 » IP地址屏幕截图 
Java中的nslookup克隆
 
import java.io.DataInputStream;
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;

/**
 * An "nslookup" clone in Java.
 
 @author Elliot Rusty Harold, O'Reilly & Associates
 */
public class JavaLookup {

  public static void main(String args[]) {

    if (args.length > 0) { // use command line
      for (int i = 0; i < args.length; i++) {
        lookup(args[i]);
      }
    else {
      DataInputStream myInputStream = new DataInputStream(System.in);
      System.out
          .println("Enter names and IP addresses. Enter \"exit\" to quit.");
      while (true) {
        String s;
        try {
          s = myInputStream.readLine();
        catch (IOException e) {
          break;
        }
        if (s.equals("exit"))
          break;
        if (s.equals("quit"))
          break;
        if (s.charAt(0== '\004')
          break// unix ^D
        lookup(s);
      }

    }

  /* end main */

  private static void lookup(String s) {

    InetAddress thisComputer;
    byte[] address;

    // get the bytes of the IP address
    try {
      thisComputer = InetAddress.getByName(s);
      address = thisComputer.getAddress();
    catch (UnknownHostException ue) {
      System.out.println("Cannot find host " + s);
      return;
    }

    if (isHostname(s)) {
      // Print the IP address
      for (int i = 0; i < address.length; i++) {
        int unsignedByte = address[i? address[i256
            : address[i];
        System.out.print(unsignedByte + ".");
      }
      System.out.println();
    else // this is an IP address
      try {
        System.out.println(InetAddress.getByName(s));
      catch (UnknownHostException e) {
        System.out.println("Could not lookup the address " + s);
      }
    }

  // end lookup

  private static boolean isHostname(String s) {

    char[] ca = s.toCharArray();
    // if we see a character that is neither a digit nor a period
    // then s is probably a hostname
    for (int i = 0; i < ca.length; i++) {
      if (!Character.isDigit(ca[i])) {
        if (ca[i!= '.') {
          return true;
        }
      }
    }

    // Everything was either a digit or a period
    // so s looks like an IP address in dotted quad format
    return false;

  // end isHostName

// end javalookup



           
         
  
Related examples in the same category
1. 获得IP
2. 获取所有IP地址
3. 转换相当于主机的IP地址转换相当于主机的IP地址
4. 使用IP地址的主机名,
5. 获得规范的主机名
6. 获取IP地址和本地计算机主机名
7. 实现网络查询与InetAddress类
8. 用一个包含IP地址字节数组获取主机
9. 显示多个IP地址
10. 查询主机的地址查询主机的地址
11. 检索主机IP地址
12. 检索主机名的IP地址
13. 报告地址
14. 确定的IP地址和本地机器的主机名
15. 寻找端口: 0 - 1024
16. 寻找端口: 1024 - 65536
17. Looking for Port: start from 65535
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.