GeoLite2/GeoIP2---简单的ip地址定位

这篇具有很好参考价值的文章主要介绍了GeoLite2/GeoIP2---简单的ip地址定位。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

有业务需求做ip定位,在这简单记录下,以防自己忘了,有相似需求的小伙伴也可以参考。

实现方式及对比

ip地理定位主要包括以离线数据库、在线API两种方式实现。不同实现方式级第三方的使用效果请参考这篇文章。笔者最终选择了MAXMIND离线的GeoLite2数据库(免费、更快、但需要更新数据、准确率相对较低),比较富裕或者追求更高准确率的小伙伴可以试试GeoIP2或者其他国内平台提供的API或者离线数据。对于GeoLite2与GeoIP2,MAXMIND官网上有多种语言的使用示例,如图,上手还是比较简单的。

geolite2,tcp/ip,网络协议,网络

 GeoLite2数据获取

目前下载离线数据需要登录,先注册账号并登录。

1、MaxMind官网选择GeoLite2 Free Geolocation Data-->sign up注册-->Download Files

geolite2,tcp/ip,网络协议,网络

下载页面分几种类型数据,小伙伴们可以按照需求选择,笔者下载的是GeoLite2-City.mmdb的GZIP包

geolite2,tcp/ip,网络协议,网络

 GO语言实现

package main

import (
	"fmt"
	"log"
	"net"
	"github.com/oschwald/geoip2-golang"
)

const DATA_FILE = "GeoLite2-City.mmdb"

func main() {
	db, err := geoip2.Open(DATA_FILE)
	if err != nil {
		log.Fatal(err)
	}
	defer db.Close()
	var ipTxt = "***.**.**.***"
	ip := net.ParseIP(ipTxt)
	record, err := db.City(ip)
	if err != nil || record == nil {
		log.Fatal(err)
	}
	fmt.Println("ip:", ip, "------------------------------------------")
	fmt.Println("国家:", record.Country.Names["zh-CN"])
	fmt.Println("城市:", record.City.Names["zh-CN"])
	fmt.Println("经度:", record.Location.Longitude)
	fmt.Println("纬度:", record.Location.Latitude)
	fmt.Println("准确半径:", record.Location.AccuracyRadius)
	fmt.Println("------------------------------------------")

}

geolite2,tcp/ip,网络协议,网络

 运行效果

geolite2,tcp/ip,网络协议,网络

参考内容

https://www.cnblogs.com/zccoming/p/13338493.html

GitHub - Hackl0us/GeoIP2-CN: 小巧精悍、准确、实用 GeoIP2 数据库文章来源地址https://www.toymoban.com/news/detail-516975.html

到了这里,关于GeoLite2/GeoIP2---简单的ip地址定位的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于Geoip2实现Nginx拦截国外IP访问网站

    最近公司上线了一个APP,过段时间发现告警群总有些莫名的异常,通过排查发现是被攻击了,并且攻击IP全是国外的,基于APP业务全在国内,最简单办法就是屏蔽这些IP。云上虽有产品但收费,自己动手才是王道。 目录 一、实现思路 二、配置方法    2.1 软件下载 2.1.1 Nginx下

    2024年01月16日
    浏览(31)
  • ip地址怎么精确定位 手机如何改ip地址位置

    ip地址精确定位 方法一 IP地址查询服务:使用在线的IP地址查询服务,如ip138.com、ip2location.com等,输入要查询的IP地址,系统将返回精确到地理位置的相关信息,包括国家、地区、城市、运营商等。 具体步骤如下: 1、如果想要查询自己的IP地址,则可以在任意一个浏览器的搜

    2024年02月07日
    浏览(34)
  • IP地址定位原理

    IP地址定位是一种通过IP地址来确定位置的技术,在互联网和移动网络的应用十分广泛。本文将介绍IP地址定位的原理和实现方式。 IP地址定位原理 IP地址是Internet Protocol(简称IP)的缩写,是互联网上的一个地址标识符用于识别连接到互联网或局域网的设备。IP地址定位是通过

    2024年02月08日
    浏览(24)
  • ip地址可以精确定位吗

    在互联网时代,IP地址的重要性不言而喻。作为网络通信的基础,IP地址用于标识每一台连接到互联网的设备。然而,传统的IP地址定位方式仅能粗略地确定设备的大致位置,无法实现精确定位。那么,IP地址能否实现精确定位呢?虎观代理小二二将就此展开讨论。 IP地址是由

    2024年02月07日
    浏览(32)
  • ThinkPHP中实现IP地址定位

    在网站开发中,我们经常需要获取用户的地理位置信息以提供个性化的服务。一种常见的方法是通过IP地址定位。在本文中,我们将介绍如何在ThinkPHP框架中实现IP地址定位。 一、IP地址定位的基本原理 IP地址是Internet上的设备在网络中的标识符。每个设备都有一个独一无二的

    2024年02月12日
    浏览(26)
  • 【网络安全】IP地址定位技术的应用场景

    随着科技的不断发展,网络空间已经成为人们生活中重要的一部分。而其中,IP地址定位技术又是网络空间不可或缺的一部分。IP地址定位技术是一种可以根据IP地址确定用户位置的技术这项技术不仅可以用于个人定位,也可以使用在商业领域、网络安全和政府管理等方面。本

    2024年02月11日
    浏览(35)
  • IP地址定位技术筑牢网络安全防线

    随着互联网技术的飞速发展,网络安全问题日益凸显,成为人们关注的焦点。如何有效防范和打击网络犯罪,维护国家安全和社会稳定,是摆在我们面前的一项紧迫任务。IP地址定位技术作为网络安全领域的一项重要技术,在防范和打击网络犯罪中发挥着越来越重要的作用。

    2024年02月02日
    浏览(37)
  • 准确率 99.9% 的离线IP地址定位库

    Ip2region 是一个离线 IP 地址定位库,准确率高达 99.9%,搜索性能为 0.0x 毫秒。DB 文件只有几兆字节,其中存储了所有 IP 地址。 支持 Java、PHP、C、Python、Nodejs、Golang、C#、lua 等查询绑定。查询算法使用二叉树、B树和内存搜索算法。 查询准确率高达99.9% 数据来源于一些知名的

    2024年02月12日
    浏览(33)
  • IP地址定位技术为网络安全建设提供全新方案

    随着互联网的普及和数字化进程的加速,网络安全问题日益引人关注。网络攻击、数据泄露、欺诈行为等安全威胁层出不穷,对个人隐私、企业机密和社会稳定构成严重威胁。在这样的背景下,IP地址定位技术应运而生,为网络安全建设提供了一个全新的解决方案。 IP地址定

    2024年02月04日
    浏览(61)
  • 网络基础知识(2)——简单说说IP地址

            Internet 依靠 TCP/IP 协议,在全球范围内实现不同硬件结构、不同操作系统、不同网络系统的主机之间的互联。在 Internet 上,每一个节点都依靠唯一的 IP 地址相互区分和相互联系,IP 地址用于标识互联网中的每台主机的身份,设计人员为每个接入网络中的主机都分

    2024年02月04日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包