[会员中心]  [发布文章][发布软件]  [中文繁體]
 文章·资料  电脑软件  手机软件  网站源码
    本 站 搜 索
[选项]
   推 荐 文 章        More...
华硕易电脑(ASUS Eee PC 10..
先来段开场白:为了外出携带方便,..
Acronis True Image 使用..
  一款可以在Windows下使用全..
Norton Ghost 使用详解
一、分区备份   使用Ghost进..
    文 章 阅 读 排 行
Microsoft SQL Server 2000..
  对于第一次安装 Microsoft SQ..
ASP:Dimac W3 JMail 发送..
【发送邮件测试代码下载】压..
ASP:Persits ASPMail 发送..
【发送邮件测试代码下载】压..
VMware Workstation:安装..
编写这份虚拟机安装的图文教程,..
华硕易电脑(ASUS Eee PC 10..
先来段开场白:为了外出携带方便,..
ASP:Microsoft CDO 发送邮..
【发送邮件测试代码下载】压..
 文 章 信 息
IP地址转换成10进制整数
评论()〗〖留言〗〖收藏
〖文章分类:电脑·手机·网络 / 网络安全·设置〗〖阅读选项
一、由域名求IP地址的程序

下面程序由命令行输入域名,输出ip

import java.net.*;
public class nslookup { 
//Usage:java nslookup hostname 
public static void main (String argv[]) throws Exception { 
String host=argv[0]; 
InetAddress address=null; 
try { 
  address=InetAddress.getByName(host); 
} catch(UnknownHostException e) { 
  System.out.println("Unknown host"); 
  System.exit(0); 

byte[] ip=address.getAddress(); 
for (int i=0;i< ip.length;i++) { 
    if (i>0) System.out.print("."); 
    System.out.print(ip&0xff); 

  System.out.println(); 
}


程序运行结果:

C:\java>java nslookup sina.com
71.5.7.138

C:\java>

二、 得到某个域名的所有IP地址

import java.net.*;
import java.io.*;

public class SimpleDNS
{
  public static void main(String[] args)
  {
    try
    {
      InetAddress[] address =InetAddress.getAllByName("www.sina.com");
  for(int i=0;i< address.length;i++)
  {   
  System.out.println(address.getHostAddress());
  }       
    }
    catch (Exception e)
    {
        System.out.println(e.toString());
        System.exit(1);
    }
  }
}


? 运行结果:
C:\java>java SimpleDNS www.s
218.30.13.35
218.30.13.36
218.30.13.37
218.30.13.38
218.30.13.39
218.30.13.40
218.30.13.41
218.30.13.42
218.30.13.43
218.30.13.44
218.30.13.45
218.30.13.46
218.30.13.47
218.30.13.48
218.30.13.49
218.30.13.34 

三、 IP地址转换成10进制整数 
经常要判断一个ip是国内的还是国外的,有了下面程序再结合数据库查询...

/**
@描述:java中实现IP地址的各种表现形式之间的转换
@作者:慈勤强
@Email : cqq1978@gmail.com http://blog.csdn.net/cqq
*/ 


class IP 
{
  private static long ipToLong(String strIP)
  //将127.0.0.1 形式的IP地址转换成10进制整数,这里没有进行任何错误处理
  {
      int j=0;
      int i=0;
      long [] ip=new long[4];
      int position1=strIP.indexOf(".");
      int position2=strIP.indexOf(".",position1+1);
      int position3=strIP.indexOf(".",position2+1); 
      ip[0]=Long.parseLong(strIP.substring(0,position1));
      ip[1]=Long.parseLong(strIP.substring(position1+1,position2));
      ip[2]=Long.parseLong(strIP.substring(position2+1,position3));
      ip[3]=Long.parseLong(strIP.substring(position3+1));
      return (ip[0]<<24)+(ip[1]<<16)+(ip[2]<<8)+ip[3]; 
  }

  private static String longToIP(long longIP)
  //将10进制整数形式转换成127.0.0.1形式的IP地址
  {
      StringBuffer sb=new StringBuffer("");
      sb.append(String.valueOf(longIP>>>24));//直接右移24位
      sb.append(".");       //将高8位置0,然后右移16位
      sb.append(String.valueOf((longIP&0x00FFFFFF)>>>16)); 
      sb.append(".");
      sb.append(String.valueOf((longIP&0x0000FFFF)>>>8));
      sb.append(".");
      sb.append(String.valueOf(longIP&0x000000FF));
      sb.append(".");
      return sb.toString(); 
  } 

  public static void main(String[] args) 
  {
      System.out.println("IP地址的各种表现形式:\r\n");
      System.out.print("32位二进制形式:");
      System.out.println(Long.toBinaryString(3526601384L));
      System.out.print("十进制形式:");
      System.out.println(ipToLong("210.51.170.168"));
      System.out.print("普通形式:");
      System.out.println(longToIP(3526601384L));
  }
}

程序运行结果:

IP地址的各种表现形式: 

32位二进制形式:11001010011100000110000010100011 
十进制形式:3396362403 
普通形式:202.112.96.163.

文章作者:未知  更新日期:2006-08-08
〖文章浏览:〗〖打印文章〗〖发送文章
·Ghost 以后自动修改 机器名 IP地址的批处理文件2005-12-02
·IP地址常识2006-05-08
·命令行下修改IP地址2005-12-10
·特殊的IP地址2006-03-21
·全球IP地址段2005-10-09
·IP地址与MAC地址的区别2005-11-30
·IP 地址修改器 V5.0(快速配置/切换IP地址)2023-09-22
·IP地址一键修改(切换)工具 V1.12023-09-22
·多网段IP配置工具 V1.1(IP地址配置/扫描)2023-09-01
·Visual Basic:一个可以利用Windows API获得机器IP地址的程序 2005-07-09
·限制指定IP地址访问程序2006-05-20
·IP地址切换器 V5.52006-08-10
阅读说明
·本站大部分文章转载于网络,如有侵权请留言告知,本站即做删除处理。
·本站法律法规类文章转载自[中国政府网(www.org.cn)],相关法律法规如有修订,请浏览[中国政府网]网站。
·本站转载的文章,不为其有效性,实效性,安全性,可用性等做保证。
·如果有什么问题,或者意见建议,请联系[网站管理员]。
  当百网
  本站使用【啊估文章软件站】网站系统    网站管理员留言簿