检查 ipv6 是否在范围内

2023-12-28

我有maxmind的ipv6数据。这是我当前的表(带有示例数据):

+---------------+------------+
|    network    | geoname_id |
+---------------+------------+
| 2001:208::/32 |        123 |
| 2001:218::/32 |       4312 |
+---------------+------------+

Using 他们的转换器 https://github.com/maxmind/geoip2-csv-converter,我可以创建一个network_start_ipand network_last_ip列:

+------------------+----------------------------------------+------------+
| network_start_ip |            network_last_ip             | geoname_id |
+------------------+----------------------------------------+------------+
| 2001:200::       | 2001:200:ffff:ffff:ffff:ffff:ffff:ffff |        123 |
| 2001:208::       | 2001:208:ffff:ffff:ffff:ffff:ffff:ffff |       4312 |
+------------------+----------------------------------------+------------+

我期待这样的事情会起作用(尽管它可能比其他方法慢):

SELECT b.geoname_id FROM blocks b 
WHERE HEX(INET6_ATON('2001:201:ffff:ffff:ffff:ffff:ffff:ffff')) BETWEEN HEX(b.network_start_ip) AND HEX(b.network_last_ip)

那么,我错过了什么?另外,存储 ipv6 地址(范围)的最佳方式是什么

谢谢


这是我的工作方式:

  1. 创建了另一个具有相同列的表,但是network_start_ip and network_last_ip are VARBINARY(16)
  2. 使用以下语句填充该表:INSERT INTO blocks SELECT INET6_ATON(b2.network_start_ip), INET6_ATON(b2.network_last_ip), b2.geoname_id FROM blocks_copy b2;
  3. 然后,要检查 IPv6 地址是否在范围内,我只需运行以下查询:SELECT geoname_id FROM blocks b WHERE INET6_ATON('2a01:4ff:ffff:ffff::ffff') BETWEEN b.network_start_ip AND b.network_last_ip
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检查 ipv6 是否在范围内 的相关文章

  • MySQL有两个不同的密码?

    我确信它们是不同事物的密码 但我不确定是什么 当在终端连接到 MySQL 时 我输入 usr LOCAL mysql BIN mysql h host u username p然后系统会提示我输入密码 密码是 但是当使用 PHP 连接到 M
  • 当数据表输入来自服务器的 JSON 数据时,更改 Google 图表栏颜色

    我一直在努力使用谷歌图表 API 我在 SO 上发现了这个出色的例子PHP MySQL Google Chart JSON 完整示例 https stackoverflow com questions 12994282 php mysql
  • SQL 检查一组日期是否在指定的日期范围内

    我有一个表 其中保存架构中房间不可用的日期 ROOM ID DATE UNAVAILABLE 我需要一个 sql 查询来检查两个日期范围内是否有可用房间 类似于 Select All rooms that are constantly av
  • 如何使PHP中的激活链接过期?

    我有一个 php 脚本 它通过电子邮件向用户发送激活链接 以便他们可以激活他们的帐户 链接是这样的 mysite com activation phpid id 20 如何创建 24 小时后过期的链接 我还没有尝试过任何东西 因为我找不到任
  • MySQL InnoDB 查询性能

    我正在尝试优化一个简单的 sql 查询 该查询将多次运行大量数据 这是场景 MySQL 与 InnoDB 表 where 和 join 中使用的所有字段都已索引 表有 FK 我不需要查询的整个缓存 但每个表的缓存是可能的 表有更多的更新 插
  • Preg_replace() 删除除查询结尾之外的所有内容

    首先 为我糟糕的英语感到抱歉 我有这样的疑问 SELECT t1 SELECT COUNT FROM table a t2 WHERE t1 id t2 id c AND t2 status 1 AS aula FROM table c t
  • mysql语句中的*星号是什么意思?

    Ex mysql query SELECT FROM members WHERE id id 这意味着选择表中的所有列
  • MySQL+子串怎么做? + 替换?

    我不太擅长 SQL 希望能够变得更好 我在尝试执行某些表操作时遇到一些麻烦 我希望能够从下面的 ProgUID 列中选择子字符串 就像是 SUBSTRING table ProgUID 3 12 这将为我提供 ProgUID P CAMVE
  • 单行的总和值?

    我有一个 MySQL 查询 它返回由一系列 1 和 0 组成的单行 它用于进度条指示器 我现在在代码中对它进行求和 但我尝试对查询中的值求和 并意识到我无法使用 SUM 因为它们有很多列 但只有一行 有没有办法可以在查询中自动求和 就像这样
  • 将记录分成两列

    我的数据库中有一个 学生 表 其中包含大约 5 000 条记录 我想将这些记录显示在two分区 如何在不执行查询两次的情况下做到这一点 仅使用单个查询 显示示例http www freeimagehosting net uploads f1
  • ActiveRecord3死锁重试

    Rails 3 或 ActiveRecord 3 是否有任何插件可以复制旧版本死锁重试 http agilewebdevelopment com plugins deadlock retry插入 或者 该插件仍然适用于 Rails 3 吗
  • 当“修复表”查询在 mysql 中不起作用时该怎么办?

    我收到此错误 表的存储引擎不支持修复 当我尝试使用查询修复表时repair table tbl college master 表是 innodb 类型 但我不知道我收到此错误 See 手册 http dev mysql com doc re
  • Mysql innoDB 不断崩溃[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我的数据库 mysql 服务器不断崩溃 重新启动 我不知道该怎么办 我不断在 dbname org err 文件中收到以下内容 13120
  • 使 pdo::query 静态

    当我运行下面的代码时出现此错误 我通常使用 msql 函数 但我尝试使用 PDO 代替 怎么了 致命错误 第 14 行无法静态调用非静态方法 PDO query
  • 无法启动 MySQL 服务器 - 控制进程退出并出现错误代码

    我的 mysql 服务器停止后无法启动 命令使用 sudo etc init d mysql restart Error 重新启动 mysql 通过 systemctl mysql serviceJob for mysql service
  • java mysql 准备好的语句

    我正在尝试使用 java 向数据库中进行简单的插入 它告诉我我的 sql 语法已关闭 但是 当我复制打印出来的字符串并将其放入 phpmyadmin 中的 sql 命令中时 它会正确执行该命令 并且我似乎无法弄清楚 java 中的字符串查询
  • mysql-如何向列申请补助?

    用户名 撤销对数据库的选择 Person I set GRANT SELECT id ON database Person TO username localhost 不是工作 gt SELECT secret FROM Person Go
  • MySQL 使用 ALTER IGNORE TABLE 出现重复错误

    我的 MySQL 中有一个有重复项的表 我尝试删除重复项并保留一项 我没有主键 我可以通过以下方式找到重复项 select user id server id count as NumDuplicates from user server
  • 如何在Sequelize中设置查询超时?

    我想看看如何在 Sequelize 中设置查询的超时时间 我查看了 Sequelize 文档以获取一些信息 但我找不到我要找的东西 我发现的最接近的是 pools acquire 选项 但我不想设置传入连接的超时 而是设置正在进行的查询的超
  • Mysql 创建定义器

    我创建了一个在 CentOS Web 服务器上运行的 Intranet Web 应用程序 该应用程序使用另一个本地服务器 始终是 CentOS 作为 MySQL 数据库 在数据库内部我创建了例程 这些例程总是这样开始 CREATE DEFI

随机推荐

  • 使用变量的 Pandas Sqlite 查询

    使用Python中的sqlite3 如果我想使用变量而不是固定命令进行数据库查询 我可以这样做 name MSFT c execute INSERT INTO Symbol VALUES name 当我尝试使用 pandas 数据框访问 S
  • Action Mailer 模板的优雅降级/渐进增强?

    是否有一些宝石或技术可以让我们只写 html erb我们的 Rails 3 邮件程序的模板 并通过剥离 HTML 标签来优雅地降级它们text plain版本 而不是必须创建每个部分两次 谷歌严重让我失望 所以我一定是搜索了错误的术语 看一
  • 使用ajax和nodejs服务器不会改变会话cookie

    我想在异步请求后更改会话 cookie 但无论我尝试什么 我总是失败 我的要求如下 ajax type POST url setStatus data userId userId token token tokenSecret tokenS
  • 使 sfinae 适用于具有推导返回类型的函数?

    考虑以下代码 Preprocessor include
  • Metro风格从网上加载Js

    我正在 Windows 8 上使用 Visual studio 2012 Ultimate 我正在开发一个 html5 js 地铁风格应用程序 我想从网上动态加载我的js文件 喜欢 但地铁应用程序说 APPHOST9601 无法加载http
  • 使用 Play 框架的 Scala 函数定义中的“Action”一词有何作用?

    我正在开发 Play 应用程序 并且刚刚开始使用 Scala 我看到有这个词Action下面函数中的等号之后和大括号之前 def index Action Ok views html index Hi there 这段代码有什么作用 我见过
  • 默认 XML 命名空间、JDOM 和 XPath

    我想使用 JDOM 读取 XML 文件 然后使用 XPath 从 JDOM 文档中提取数据 它很好地创建了 Document 对象 但是当我使用 XPath 查询 Document 中的元素列表时 我什么也没得到 我的 XML 文档在根元素
  • Java 8 流 API - 是否有标准方法将 Map 中的每个值处理为不同类型?

    I learn Java 8 Lambda 表达式 http docs oracle com javase tutorial java javaOO lambdaexpressions html and 流API http docs ora
  • 更新 Spring 版本后上下文初始化失败

    我最近将 Spring 版本从 3 2 4 RELEASE 更新到 4 0 7 RELEASE 从那时起我在加载上下文时收到此错误 请告诉我在更新 spring 版本后是否需要对 context xml 进行任何更改 这里是复仇者流上下文
  • asm.js 如何处理被零除?

    在 javascript 中 使用 整数 参数除以零的行为就像浮点应该 1 0 Infinity 1 0 Infinity 0 0 NaN asm js 规范规定 带有整数参数的除法返回intish 必须立即强制签名或未签名 如果我们在 j
  • 如何使
    水平布局?

    我正在尝试为我的网站开发一个布局 其中定义列表的元素将水平布局 有点像这样 term 1 term 2 term 3 definition 1 definition 2 definition 3 有人知道如何使用有效的 CSS 使定义列表看
  • 将在 MinGW 7 中使用的 VC Runtime 2017 中 scanf 函数系列的位置

    我在用 VS 2017 MinGW 与 GCC G 7 4 0 基本上发生的事情如下 使用 VS 2017 构建可执行文件 so 是用 GCC 构建的 so 由步骤 1 中创建的可执行文件加载 问题源于MSVCRT MinGW默认情况下链接
  • 本地工作中的 nuget 包

    在我们的产品中 我们有一些项目 几乎每一个都依赖于一个称为 核心 的核心 我们将每个项目作为单独的 nuget 包进行分发 对于部署 我们为其他团队 产品所做的工作 nuget 效果很好 但在我们的本地工作中这确实是一个很大的痛苦 每次 核
  • 使用 WebDriver 和 Ruby 与 JavaScript 下拉菜单交互?

    我正在使用 Ruby 和 Selenium WebDriver 为网页编写自动化 但遇到了网站上某些使用 JavaScript 而不是标准 HTML 制作的下拉菜单的阻塞问题 在这些下拉菜单中 用户可以从下拉菜单中选择一个选项 或者单击它并
  • 在 html5 画布上旋转单个图像(而不是其他图像)?

    我有一个精灵 我正在使用普通精灵表位块传输在 html 画布上制作动画 在某些关键事件上 我想更改精灵的方向 即翻转它或旋转 180 度 而不更改画布上的任何内容 其他精灵 有谁知道如何做到这一点 所以我的游戏遇到了这个问题 我有用于向上
  • 为 MSVC 预构建的 Boost 1.37

    我找不到 Boost 1 37 0 的一组预构建的 MSVC 库 只有源代码 我不明白他们奇怪的构建系统是如何工作的 有什么地方可以找到视觉工作室项目或其他东西的下载吗 The BoostPro 计算 http www boostpro c
  • Django objects.create 产生的输出比应有的要多

    有两个列表 主值
  • Angular 2 中的bundle.js.gz 文件是什么?

    我正在为我的应用程序使用 ng cli 当我运行 ng build prod 时 我得到两个文件 main budle js 和 main bundle js gz 第二个是什么 它有什么好处 服务器和客户端之间的 HTTP 传输几乎总是使
  • 将类型数组转换为通用数组?

    问题的简短版本 为什么我不能这样做 我仅限于 NET 3 5 T genericArray Obviously T should be float genericArray new T 3 1 0f 2 0f 0 0f Can t do t
  • 检查 ipv6 是否在范围内

    我有maxmind的ipv6数据 这是我当前的表 带有示例数据 network geoname id 2001 208 32 123 2001 218 32 4312 Using 他们的转换器 https github com maxmin