`
niunan
  • 浏览: 719462 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

刚刚找到的IP地址对应地区数据库

    博客分类:
  • .NET
阅读更多

    项目原因,网上下载了 We7 CMS安装版,(想下载源码竟然发现要加入什么什么源码小组,还要一年交¥100,晕,这叫什么GP开源啊!!!),下载下来看了下app_data目录,惊奇发现有个ip.db,呵呵,我猜可能是IP地址数据库了,而且是sqlite的,打开一看:

嘿嘿 ,果然是IP地址数据库,而且都转成长IP格式的了,自己写了个aspx页面来获取IP的:
http://5mdn.com/getip.aspx
给网上的人测试发现其实这个IP数据库也不是很完全的,算了,不管了,先记下来吧,下面是aspx.cs的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text.RegularExpressions;
using System.Data;
using System.Data.SQLite;

public partial class test : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string ip = Request.UserHostAddress;
        string longip = IpToLong(ip).ToString();
        litmes.Text = "<h3>您的IP:" + ip + "</h3>";
        litmes.Text += "<h3>转换后的IP:" + longip + "</h3>";
        litmes.Text += "<h4>从IP数据库中取出的记录:</h4>";

        SQLiteConnection conn = null;
        SQLiteCommand cmd = null;
        SQLiteDataReader sdr = null;

        string connStr = "Data Source=" + HttpContext.Current.Server.MapPath("~/App_Data/ip.db");
        conn = new SQLiteConnection(connStr);
        conn.Open();
        string sql = "SELECT * FROM iptocity where " + longip + " between ip_start and ip_end";
        cmd = new SQLiteCommand(sql, conn);
        DataTable dt = new DataTable();
        using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
        {
            dt.Load(sdr);
        }
        GridView1.DataSource = dt;
        GridView1.DataBind();
    }

    // 把IP地址转成长数字,
    // 算法:128.125.1.24 → (128*256*256*256) + (125*256*256) + (1*256) +24
    public static ulong IpToLong(string ip)
    {
        try
        {
            string[] cip = ip.Trim().Split('.');
            string[] aip = new string[4];
            cip.CopyTo(aip, 0);
            if (cip.Length < 3)
            {
                for (int i = 3; i > cip.Length; i--)
                {
                    aip[i] = "0";
                }
            }
            uint[] iip = new uint[4];
            Regex reg = new Regex(@"\d+");
            for (int x = 0; x < aip.Length; x++)
            {
                if (reg.IsMatch(aip[x]))
                    iip[x] = Convert.ToUInt32(aip[x]);
                else
                    iip[x] = 0;
            }
            ulong uip = Convert.ToUInt64(256 * 256 * 256 * iip[0] + 256 * 256 * iip[1] + 256 * iip[2] + iip[3]);
            return uip;
        }
        catch (Exception ess)
        {
            throw ess;
        }
    }

}
 相关文件下载:点击下载
分享到:
评论

相关推荐

    IP地址对应地区列表

    ### IP地址对应地区列表解析 #### 一、概述 在互联网世界中,IP地址作为设备在网络中的唯一标识,其重要性不言而喻。通过IP地址可以了解到许多有用的信息,如地理位置(包括国家、省份、城市等)、网络运营商等。...

    最全ip地址MYSQL数据库

    本资源"最全IP地址MYSQL数据库"提供了一个包含大量IP地址数据的MySQL数据库,可以帮助用户快速查询IP地址对应的位置信息,如国家和城市。 首先,我们来了解一下IP地址的基本概念。IP地址(Internet Protocol ...

    IP地理位置数据库中文版SQLite版

    这个IP地址数据库是SQLite版本,便于一些项目中需要大量IP数据的高效数据库。是在MaxMind(也就是IP地理中英文版)的基础上,进行了简体中文的汉化并将QQ纯真地理位置数据库(QQWry.Dat)中中国地区详细的IP数据库...

    IP地址解析数据库,很好用噢

    GeoLite2-City.mmdb是MaxMind公司提供的一个免费的IP地址数据库,它能够将IPv4和IPv6地址映射到对应的地理位置信息,如城市、国家、邮政编码、经纬度等。 GeoLite2数据库采用二进制文件格式存储,这种`.mmdb`文件是...

    最新IP地址对应省市SQL

    描述 "全球IP地址对应省市SQL 各种数据库均可用!" 表明这个数据集不仅覆盖了全球范围内的IP地址,而且这些数据是用SQL格式编写的,这意味着它们可以被导入到各种类型的数据库系统中,如MySQL、SQL Server等。这为...

    IP对应地址,数据库11111111111111111

    IP对应地址,数据库

    IP地址数据库大全-ACCESS数据库

    这个IP地址数据库大全提供了一个全面的资源,包含了全球各地的IP地址信息,旨在帮助用户快速、准确地定位和查询IP地址对应的地理区域。本文将深入探讨IP地址的基本概念、IP地址与地理位置的关系,以及如何利用ACCESS...

    ip地址对应地区库

    access数据库, 可以查询ip地址,对应的城市,地区,等信息。

    纯真IP库的读取方法 IP地址数据库

    纯真IP库,通常指的是由纯真网络提供的一种IP地址数据库,主要用于识别和定位IP地址对应的地理位置信息。这种数据库在很多领域都有应用,比如网络管理、网络安全、网站统计等。本文将详细介绍如何读取和使用纯真IP库...

    MYSQL最新IP地址库(全国+全球)

    2. **IP数据库**:IP数据库是存储IP地址及其对应地理位置、运营商等信息的数据库。这些信息可以用于IP定位、网络流量分析、网络安全策略制定等多种用途。 3. **MySQL数据库**:MySQL是一种流行的开源关系型数据库...

    IP数据库及地址对应

    ### IP数据库及地址对应知识点详解 #### 一、概述 在现代互联网技术中,IP地址是网络设备之间通信的基础。为了更好地管理和分析IP地址资源,通常会使用IP数据库来存储和查询这些信息。本篇文章主要介绍了如何利用...

    .net 取IP地址 带纯真数据库

    "纯真数据库"(通常指的是"纯真IP库")是一个广泛使用的IP地址库,它包含了全球范围内的IP地址与对应的地理位置信息。本文将详细介绍如何在.NET环境下利用这个数据库来获取IP地址的详细信息。 首先,`ipdata.config...

    IP地址数据库

    标题中的“IP地址数据库”指的是一个用于存储和检索IP地址信息的数据资源,通常包含IP地址与对应的地理位置、网络服务提供商等关联数据。这样的数据库对于网站分析用户来源、实施地理定位、阻止恶意IP或进行流量统计...

    最新IP地址城市mdb数据库及源码

    该源码可能包含了一系列函数或过程,用于从mdb数据库中检索特定IP地址对应的城市信息。使用ASP,开发者可以创建交互式网页,用户输入IP地址后,服务器通过执行这些源码,从数据库中查询并返回相应城市信息。 在实际...

    ip地址与地理位置对应表

    - 地图定位:结合GIS(Geographical Information System,地理信息系统),可以将IP地址对应到地图上,显示具体的位置。 - 网络安全分析:例如,识别潜在的DDoS攻击源,或者监控特定地区的网络活动。 - 内容本地化:...

    IP地址段分类,基本包括最新世界所有IP地址段对应的地区

    了解IP地址对应地区对于互联网服务提供商和服务商来说非常重要,可以帮助他们优化服务、实施地理限制或遵守不同地区的法规。 综上所述,这个数据库提供了全面的IP地址段信息,对于网络管理员、数据分析师、网络安全...

    ip 详 细 地址数据库

    IP地址数据库是一个重要的工具,它包含了全球范围内的IP地址与其对应的地理位置信息。这些信息对于网络管理、数据分析、安全监控以及互联网服务提供等多个领域都具有关键作用。标题中的“ip详细地址数据库”指的是一...

    discuz论坛最新IP数据库

    纯真IP数据库是由国内知名的网络信息提供者“纯真网络”维护的一个IP地址库,它定期更新,包含了中国境内的IP地址与地区、城市等地理信息的对应关系。这个时间点的数据表明,这个IP数据库可能相对较旧,可能不包含...

    IP地址数据库-本地查询工具v1.0

    首先,IP地址数据库是存储全球IP地址及其对应地理位置、网络服务提供商等信息的大型数据集合。这些数据通常由权威机构维护,如IANA(互联网号码分配机构)和各个地区的ISP(互联网服务提供商)。数据库的更新频率高...

Global site tag (gtag.js) - Google Analytics