博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IP地址转换成IP Number并得到国家 (转)
阅读量:6548 次
发布时间:2019-06-24

本文共 815 字,大约阅读时间需要 2 分钟。

< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>

来自:

原理:现在各个国家的IP都有一个IP Begin Number 和一个Ip End Number数字,把国家的开始的数据,各结束的数据都存在数据库

      最后通过一个计算公式把真实的IP地址转换成Ip Number,从数据库中找在Begin ,End之间的,如果在这间,就是这个国家的了;

      关于各个国家的IP Number这个应该是国标的吧,应该不会变的,在文章的后提供下载;

IP Number计算公式:         

IP Number = 16777216*w + 65536*x + 256*y + z      (1)
where
IP Address = w.x.y.z

说明:16777216,65536,256;这个数都是系数,就像圆周率3.14一样

      w.x.y.z分别对应真实的IP地址,eg:192.168.0.19;

eg:

IP Address = 202.186.13.4
So, w = 202, x = 186, y = 13 and z = 4
IP Number = 16777216*202 + 65536*186 + 256*13 + 4
          = 3388997632 + 12189696 + 3328 + 4
          = 3401190660

这样就得到一个Ip Number了,现在我们就可以到我们的数据库去找它对就的IP段,即能得来是哪一个国家

关于从数据库的代码我就不多说了哟

关键是我们要明白原理,找到解决方案的思路;

国标IP范围下载:

本文转自 netcorner 博客园博客,原文链接:  http://www.cnblogs.com/netcorner/archive/2009/01/09/2912087.html ,如需转载请自行联系原作者

你可能感兴趣的文章
工作记录
查看>>
HDOJ 1698
查看>>
linux里安装redis以及redis的安全设置
查看>>
Mysql Procudure
查看>>
作业第六次
查看>>
构建之法 第一章 概论
查看>>
Hadoop编译安装
查看>>
汇编字符串拷贝
查看>>
Lambda的前世今生
查看>>
黑马程序员-张老师基础加强3-内省
查看>>
TCP/IP模型简介和/etc/hosts文件说明
查看>>
UIButton常用属性
查看>>
主键自增归0
查看>>
杨辉三角
查看>>
mysql之 [ERROR] InnoDB: Unable to lock ./ibdata1, error: 11
查看>>
如何批量修改文件后缀的方法
查看>>
Effective STL 笔记
查看>>
[LeetCode] 1. Two Sum
查看>>
POJ2538 ZOJ1884 UVA10082 WERTYU【输入输出】
查看>>
HDU5620 KK's Steel(C++语言版)
查看>>