问题标签 [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.

0 投票
0 回答
82 浏览

python - 如何在 Python 中将 CIDR 列表转换为 IP 范围列表?

假设我有一个文本文件包含一堆这样的 cidr ip 符号:

然后继续……

如何在 python 的新文本文件中将这些 cidr 表示法转换为 ip 范围?

PS:这个问题和我之前的问题不一样。我在那个问题中询问了所有可能的 ip。但在这个问题中,我问“ip 范围”

0 投票
4 回答
16449 浏览

python - 如何从 Python 中的 IP 范围列表中生成所有可能的 IP?

假设我有一个文本文件包含一堆这样的 ip 范围:

xxxx 是起始值,yyyy 是范围的结束值。

如何在 python 的新文本文件中将这些 IP 范围转换为所有可能的 IP?

PS:这个问题和我之前的任何问题都不一样。我在上一个问题中问过“如何从 cidr 符号生成所有可能的 ips”。但是在这里我问“如何从ip范围列表生成”。这些是不同的东西。

0 投票
2 回答
3597 浏览

amazon-web-services - 在 CloudFormation 模板中以编程方式生成子网 CIDR 块(或将整数相加)

我们正在调整我们的应用程序 CloudFormation 模板以使用 VPC。在此模板中,我们需要以编程方式生成用于我们的 VPC 子网的 CIDR 块,以确保它们不会在 CloudFormation 堆栈之间发生冲突。

我最初的计划是通过将字符串连接在一起来生成 CIDR,例如:

然而,经过进一步考虑,我们需要使用单个 VPC,而不是为每个堆栈使用一个 VPC。

AWS 将 VPC 限制为最多使用/16CIDR 块(我们已要求提高此限制,但显然不可能)。这意味着我们不再可能使用这种连接方法,因为我们的每个堆栈都需要总共跨越 255 个地址的子网。

我想即时生成 CIDR 块,而不必将它们定义为 CloudFormation 模板的参数,

我的一个想法是每个堆栈都有一个“基本整数”,并为每个子网的 CIDR 块添加它。

例如:

whereVpcCidrStart是一个整数,它设置脚本中第三个 CIDR 八位字节应从其开始的值,并且3是子网号。

显然,Fn::Sum内在函数不存在,所以我想知道是否有人有在 VPC 中添加整数的解决方案(这似乎是不可能的,因为 CloudFormation 是面向字符串的),或者对此有更好的解决方案一般的难题。

0 投票
0 回答
652 浏览

terminal - 我怎样才能从终端命令中找到 cidr 符号?

我正在编写一个脚本,该脚本需要将命令中的网络 cidr 表示法替换为通过运行命令找到的表示法。是否有特定的命令可以告诉我网络的 cidr 符号,这样我就可以将其转换为变量,然后在命令中使用它......任何帮助都会很棒......

0 投票
2 回答
829 浏览

php - 在 PHP 中从 IPv6 CIDR 获取 IPv6 地址的数量

有没有办法从 IPv6 CIDR 中获取 IPv6 地址的数量?

例如: CIDR: 2403:3E00::/32 => 需要获取 ipv6 地址数:79228162514264337593543950336

0 投票
0 回答
1103 浏览

php - PHP5 从 cidr 前缀计算 IPv6 范围 - IP 地址数

是否可以在下面的页面上添加功能 -

PHP5从cidr前缀计算IPv6范围?

它还额外返回 CIDR 中的 IP 地址/主机数:

  • 前缀:$前缀
  • 第一个 IP:$firstaddrstr
  • 最后一个 IP:$lastaddrstr
  • 并需要“IP 地址/主机数:...”
0 投票
1 回答
14234 浏览

java - CIDR 表示法和 IP 范围验证器模式

我有一个验证普通 IP 地址的模式,即:

还有一个验证方法来检查输入是否是有效的 IP 地址:

但是,现在我需要添加对 CIDR(例如 84.240.40.0/24)表示法和没有主机的 IP 范围(例如 172.24.105)的验证,我尝试了许多不同的模式,但没有得到具体的东西。有什么建议么?

0 投票
3 回答
2943 浏览

sql - 加快对大型数据集的 CIDR 范围内 IP 地址成员资格的检查

在 Postgres 数据库中,我需要过滤表 A 中的一组数十万行,方法是仅包含行中 IP 地址列(inet 类型)与数千个 IP 地址块(类型cidr)在另一个表B中。我已经尝试了第一个表中inet地址和第二个表中的cidr范围的各种索引,但无论我做什么,规划器都会进行嵌套顺序扫描,将<<运算符应用于每对 IP 地址和前缀。

有没有办法通过索引或其他巧妙的技巧来加快速度?(我可以求助于外部程序脚本,但我想知道它在 Postgres 中是否可行。)

谢谢!

0 投票
1 回答
995 浏览

php - 使用 PHP 将大型 CIDR 块分解为更小的块

我试过搜索论坛,但在任何地方都找不到。找到了可以将 CIDR 块完全分开的东西,但我分别需要 2 个函数。

第一个函数将采用大于 /24 的 CIDR 块并将其分解为 /24 块。

我实际上主要完成的第二个功能是将每个 /24 分解为它的 256 个 IP 地址。可以在这里找到答案。 使用 PHP 扩展给定的 IP 范围

所以我试图弄清楚如何创建一个传递 /23 或更大 CIDR 块的函数并将其分解为 /24s

示例:
输入:BreakTo24(10.0.0.0/22)

输出:
10.0.0.0/24
10.0.1.0/24
10.0.2.0/24
10.0.3.0/24

编辑:我意识到我没有发布我的代码尝试,这可能使这更难帮助。这是代码:

0 投票
0 回答
331 浏览

ip - 如何比较以 CIDR 格式给出的两个 ipv4 范围

我需要编写一个脚本,其中需要比较两个 IPV4 地址范围(以 CIDR 格式给出)。总的来说,我必须对两个 IP 范围重叠、IP 范围相同、一个 IP 范围等情况采取一些措施包含另一个。比较两个 IP 范围的最佳方法是什么。不过,我想将 IP 地址转换为 long int(32 位),然后比较这些范围。这种方法都可以吗?