`

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.

分享到:
评论

相关推荐

    IP地址转换成整数,整数转换成IP地址

    IP地址转换成整数,整数转换成IP地址,16进制转换成IP地址,IP地址转换成16进制

    ip转为十进制整数

    ip转为十进制整数

    java ip地址段计算

    输入IP地址及掩码(如24),计算出地址范围 1、计算出掩码指定的IP地址个数 2、分割IP地址 3、将10.0.0.0形式的ip地址转换成10进制整数 4、将10进制整数形式转换成127.0.0.1形式的IP地址

    易语言IP地址转换

    易语言IP地址转换源码,IP地址转换,查询IP到地址,二分法确定位置,取地区文本,IP文本转整数值,十六进制到十进制,倒转十六进制文本,IP文本补位,十六进制文本到IP地址,十六进制单项补位,获得数据库数据数量,获得数据库...

    点分十进制IP转换为长整型

    点分十进制IP和长整型转换,直接把IP地址转换为整型,存数据库增加效率。

    IP地址是计算机网络中用来唯一标识一个设备的地址-IP地址转换.pdf

    上述代码中,`ipToInteger`函数将点分十进制形式的IP地址转换为无符号整数形式的IP地址。该函数使用字符串流`istringstream`将点分十进制形式的IP地址按照"."进行分割,然后依次解析每个分割得到的字符串,并通过...

    C# IP地址与整数之间转换的具体方法

    每段数字 相对应的二进制数10 000010100 000000003 00000011193 11000001组合起来即为:00001010 00000000 00000011 11000001,转换为10进制就是:167773121,即该IP地址转换后的数字就是它了。 C#代码: 代码如下:...

    IP地址与整数之间的转换实现代码(asp.net)

    知识点:一个二进制数,按位左移n位,就是把该数的值乘以2的n次方 二进制除二即右移一位 1、IP地址转换为整数 原理:IP地址每段可以看成是8位无符号整数即0-255,把每段拆分成一个二进制形式组合起来,然后把这个二...

    Indented.Net.IP:PowerShell中的IP数学命令

    将十进制IP地址转换为32位无符号整数。 ConvertTo-DottedDecimalIP 将无符号的32位整数或点分的二进制字符串转换为IP地址。 ConvertTo-HexIP 将点分十进制IP地址转换为十六进制字符串。 转换为蒙版 将掩码长度...

    python IP地址转整数

    下面我们就来看一下把 IPv4 地址转换成整数的原理和收益各是什么。 转换的原理 一个 IPv4 类的地址共分为四个部分 0.0.0.0 然而每一个部分的取值范围都在 0 ~ 255;也就是说每一个部分都可以用一个字节来保存,总共...

    python【蓝桥杯vip练习题库】ADV-309进制转换

     编写函数将十进制整数按8进制输出,然后编写main函数验证该函数。例如输入12,则输出为:12=014,输入32,则输出32=040。 输入格式  输入一个整数。 输出格式  输出这个整数的八进制形式。 样例输入 12 样例输出...

    IP、时间等类型转换工具

    本工具可实现点分十进制格式的ip地址与长整数的ip之间的转换,可将yyyy-MM-dd hh:mm:hh格式的时间与unsigned long的时间互相转换,可以在主机序和网络序的ip地址之间转换,可以做无符号整数与有符号整数之间转换

    迷你小工具(正则测试+编码转换+IP转换)

    对自己编写的正则表达式进行测试与验证,将字符串进行十六进制编码、Base64编码、Md5加密及相应的解码,IP地址和无符号整数的相互转换。

    迷你小工具V1.0(正则测试+编码转换+IP转换)

    在开发过程中,您可能会需要编码转换、生成MD5密码、IP地址与无符号整数的互换、编写自己的正则表达式等工作,有了这个迷你小工具,会让你工作起来更轻松……,这是第一版,会不断完善的

    Javascript-IP-Converter:基于Web的小型工具,可将IP地址转换为其他格式

    Javascript IP转换器 这是一个基于Web的小型... 您可以使用它在以下表示之间转换IPv4地址: 虚线表示( 127.0.0.1 ) 八进制表示( 177.0.0.1 ) 十六进制表示形式( 0x7f000001 ) 整数表示( 2130706433 )

    浅析PHP中的 inet_pton 网络函数

    inet_pton是一个IP地址转换函数,可以在将IP地址在“点分十进制”和“二进制整数”之间转换,而且inet_pton和inet_ntop这2个函数能够处理ipv4和ipv6。算是比较新的函数了。 定义和用法 inet_pton- 将人类可读的IP...

    iplib:在Go中使用IP地址和网络的库

    我真的很喜欢Python的库和Ruby的 ,如果您能处理一些围绕IP地址和网络块的小问题,那么我认为您可以编写很多整洁的软件,所以我着手为我编写类似的东西选择的语言,转到。 这就是我想出的。 是一个希望有用的,...

    很实用的 子网掩码算法工具

    子网掩码一共由32位组成,已确定后面10位是0了,那前面的22位就是1,最合适的子网掩码就是:11111111.11111111.11111100.00000000,转换成10进制,那就是255.255.252.0。  分配和计算子网掩码你会了吧,下面,...

    易语言 茶凉专用模块

    子程序 八到十, 整数型, 公开, 将八进制转换成十进制(返回十进制整数) .参数 八进制文本, 文本型, , 欲转换的八进制文本 .子程序 彩色字体, , 公开, 彩色动态字体 感谢[梦飞鸟] .参数 内容, 文本型 .参数 窗口句柄,...

Global site tag (gtag.js) - Google Analytics