问题标签 [cidr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - 使用 SQL 确定子网掩码的 cidr 值
我想找到一种方法来执行 SQL 查询,该查询将计算存储在数据库中的子网掩码的 cidr(位表示)。例如,我将 255.255.255.0 或其十进制值 (4294967040) 存储在数据库中。我想做一个选择并通过查询取回 /24 表示。
我已经完成了以下操作来确定子网的最后一个 IP,所以我希望做类似的事情来确定掩码的 cidr 表示。
最好这是一个可以在 mysql、postgres、oracle 等下工作的 SQL 语句。
c# - CIDR 子网是否有本机 .NET 类型?
编写一个类来存储/验证类似的东西很简单192.168.0.0/16
,但我很好奇 .NET 中是否已经存在这种本机类型?我想它会很像IPAddress
:
基本上,它只需要确保您使用的是 IPv4 或 IPv6 地址,然后您指定的位数对该类型有效。
php - 将 IP 与 PHP 5 中的 CIDR 掩码匹配?
我正在寻找快速/简单的方法来将给定的 IP4 点四 IP 与 CIDR 符号掩码匹配。
我有一堆 IP,我需要查看它们是否与一系列 IP 匹配。
例子:
会是什么样cidr_match()
子?
它并不一定很简单,但快速会很好。任何仅使用内置/常用功能的东西都是一种奖励(因为我可能会让一个人在 pear 中向我展示这样做的东西,但我不能依赖 pear 或安装在我的代码所在的位置的那个包部署)。
mysql - 有没有办法直接从 SELECT 查询中将 IP 与 IP+CIDR 匹配?
就像是
SELECT COUNT(*) AS c FROM BANS WHERE typeid=6 AND (SELECT ipaddr,cidr FROM BANS) MATCH AGAINST 'this_ip';
因此,您不必先从数据库中获取所有记录,然后将它们逐个匹配。
如果 c > 0 则匹配。
禁令表:
数据库:MySQL 5
查询时已知 IP 和 IPv 类型(4 或 6)。
IP 例如 ::1 二进制格式
禁止 IP 例如 ::1/64
python - 如何在 Python 中检查 ip 是否在网络中?
给定一个 IP 地址(比如 192.168.0.1),我如何在 Python 中检查它是否在网络中(比如 192.168.0.0/24)?
Python中有用于IP地址操作的通用工具吗?诸如主机查找,int 的 ip 地址,带有网络掩码的网络地址到 int 等的东西?希望在 2.5 的标准 Python 库中。
c# - 如何在 C# 中将 CIDR 转换为网络和 IP 地址范围?
我一直在寻找一些 C# 代码来将 CIDR 表示法 (72.20.10.0/24) 的网络转换为 IP 地址范围,但运气不佳。stackoverlow 上有一些关于 CIDR 的线程,但似乎没有任何 C# 代码并且完全涵盖了我需要的内容。所以我决定自己做,我不希望代码依赖 System.Net 在这个版本中进行任何转换。
也许它可能对某人有帮助。
参考:
来自http://www.laffeycomputer.com/whatmask.html的“Whatmask”C 代码
用法:
该代码假定所有内容均为 32 位。
随时提交您的改进。
python - Python 3:从 CIDR 表示法创建可能的 IP 地址列表
我接到了在 python (3.1) 中创建一个函数的任务,该函数将采用 CIDR 表示法并返回可能的 IP 地址列表。我查看了 python.org 并发现了这个: http ://docs.python.org/dev/py3k/library/ipaddr.html
但我还没有看到任何可以满足这种需求的东西......我将非常感谢任何人关心我的方式的任何帮助。提前致谢。:-)
vb6 - VB6 IP4 - 从位数计算网络掩码(长)
给定 0 到 32 的输入,表示 IP4 网络掩码中的一位数(对应于 /19 中的 CIDR 块大小),什么是
- 一种将其转换为四字节长网络掩码的优雅方法
- 一种将其转换为四字节长网络掩码的快速方法
原型:
请注意,由于 VB6 不做无符号运算,这很复杂,因此常规的数学技巧通常不起作用。如果(Number And &H80000000)
为非零,则Number \ 2
与 SHR 操作不同。
我想出了一些方法,但我不认为它们很优雅,而且它们可能没有那么快。
我的一个想法是战略性地使用 CopyMemory API,它非常快。我过去解决了一些有符号/无符号的 Long 问题,只需将 Long 放入一个字节(0 到 3)并根据需要处理每个部分。
由于我还在使用 inet_ntoa() 和 inet_addr() Windows API 函数,它们以反向字节顺序返回 IP 序列号,因此以反向顺序返回字节的解决方案非常棒(我已经有一个函数来翻转如果需要,字节顺序,但避免它也会很好)。
例子:
可行的解决方案很好,但我正在寻找优雅或快速的解决方案。
python - python 3:ipaddr/netaddr 模块
我必须在这里做错事......我目前正在尝试使用内置模块验证 ip 是否在特定子网内。
我正在使用activepython:
在变更日志中有这个:
那个和其他谷歌搜索让我相信 ipaddr 是一个内置的,但是:
所以我想我会安装 netaddr 并尝试使用它,而我从 netaddr 得到的只是:
我感到相当沮丧,我不知道从这里去哪里......建议?
java - 将 CIDR 地址转换为子网掩码和网络地址
给定一个 CIDR 地址,例如192.168.10.0/24
- 如何确定掩码长度?(
24
) - 如何确定掩码地址?(
255.255.255.0
) - 如何确定网络地址?(
192.168.10.0
)