从 IP 块计算网络掩码/网关

2024-01-20

我们的数据中心为我们提供了所有机器的 JSON 转储,以便导入到我们自己的库存管理系统中。这提供了 IP 块,例如 (192.168.1.1/26),但当我导入数百个块时,我还想计算网络掩码和网关。

我查看了 PHP Doxygen 上的网络功能,但找不到任何方法来做到这一点。如何从 IP 块计算网络掩码/网关?


您可以使用如下方法计算 ip 和 mask:

$ip_with_mask = '192.168.1.1/26';
list($ip, $mask_int) = explode('/', $ip_with_mask);
$mask_nr = (pow(2, $mask_int) - 1) << (32 - $mask_int); 
//pow(2, $x) - 1 changes the number to a number made of that many set bits 
//and $y << (32 - $x) shifts it to the end of the 32 bits
$mask = long2ip($mask_nr);
$subnet_ip = long2ip(ip2long($ip) & $mask_nr);
$gateway_ip = long2ip((ip2long($ip) & $mask_nr) + 1);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 IP 块计算网络掩码/网关 的相关文章

随机推荐

  • 原型范围不起作用

    我在应用程序中创建了一个原型作用域 bean 并使用 setter 将其注入到另一个 bean 中 但是当我在类中使用注入的 bean 时 它总是使用相同的实例而不是每次都使用新实例 这是代码的快照
  • 如何更改选项卡栏项目的默认灰色?

    我尝试更改默认的灰色Tab Bar项目 但 Xcode 发现错误 我使用了一些代码 该代码是 import UIKit extension UIImage func makeImageWithColorAndSize color UICol
  • paypal 10544 网关拒绝错误的原因

    您好 请告诉我 paypal DoDirectPayment 10544 Gateway Decline 错误的可能原因 我查了很多资料都找不到原因 首先是强制性的 愚蠢的人类把戏 问题 您确定您使用的卡是有效的信用卡吗 如果您在现场 而不
  • 捕获 stdout 和 stderr 到管道

    我想从子进程中读取 stderr 和 stdout 但它不起作用 main rs use std process Command Stdio use std io BufRead BufReader fn main let mut chil
  • 如何更改 git 历史记录中的文件路径?

    这是我所拥有的 我的代码的 git 存储库 projects proj1 no git repo here yet subproj1 lt current git repo here 这就是我想要的 一个 git 存储库 它现在正在跟踪使用
  • 显示 R 中函数的源代码[重复]

    这个问题在这里已经有答案了 我可以用lm or class knn查看源代码 但我未能显示 princomp 的代码 这个函数 或其他东西 是用 R 编写的还是使用了其他字节码 我也无法使用来自的建议找到源代码如何显示包中 S4 函数的源代
  • 理解 `k : Nat ** 5 * k = n` 签名

    以下函数编译 onlyModByFive n Nat gt k Nat 5 k n gt Nat onlyModByFive n k 100 但有什么作用k以其代表Nat 5 k n syntax 另外 我该如何称呼它 这是我尝试过的 但我
  • 如何读取 web.config 文件中的 appSettings 部分?

    我的 XML 看起来像这样 文件名是web config
  • “cl”未被识别为内部或外部命令

    下面是我在 windows7 中运行 scons 编译器时的错误消息 cl is not recognized as an internal or external command operable program or batch fil
  • 使用 diff 手动合并两个文件

    我想通过执行以下操作来合并两个文件 将两个文件的差异输出到临时文件中并 手动选择我想要复制 保存的行 这里的问题是diff u只给我一个文件行的上下文 而我想以统一的格式输出整个文件 有什么办法可以做到这一点吗 一种可能适合您的选择 sdi
  • 创建反应应用程序,重新加载不起作用

    我刚刚开始使用 React 进行编码创建反应应用程序 https github com facebookincubator create react app 在文档中说 如果您进行编辑 页面将重新加载 我不知道哪个模块负责自动重新加载 we
  • Textarea charCount - 防止用户粘贴

    下面的代码工作正常 只是如果我粘贴一个超过 10 个字符的字符串 它应该只粘贴前 10 个字符 目前还没有这样做 如何防止粘贴超过 10 个字符 http jsfiddle net qfzkw 2 http jsfiddle net qfz
  • 数组大小和复制性能

    我确信这个问题之前已经得到了回答 但我找不到一个好的解释 我正在编写一个图形程序 其中管道的一部分将体素数据复制到 OpenCL 页面锁定 固定 内存 我发现这个复制过程是一个瓶颈 并对一个简单的性能进行了一些测量std copy 数据是浮
  • 在 java 7 上使用 JNI 运行 java 5/6 会出现堆栈保护警告

    使用 1 5 或启用 1 5 比较模式的 1 6 构建的 java 程序会给出以下警告 Java HotSpot TM 服务器 VM 警告 您已加载库 mynativelib so 可能禁用了堆栈保护 虚拟机现在将尝试修复堆栈防护 强烈建议
  • 如何使用 git diff 显示一些不可见的字符差异?

    当我使用git diff 我看到了如下差异 self conv 2 nn Conv2d C in C out 2 1 stride 2 padding 0 bias False self conv 2 nn Conv2d C in C ou
  • 来自多个进程的 Python 日志记录

    我有一个可能长时间运行的程序 当前有 4 个进程 但可以配置为有更多进程 我研究过从多个进程记录 http docs python org howto logging cookbook html logging to a single fi
  • 如何修复 IE 渲染 border-radius 与 box-shadow 结合的问题?

    有人知道如何 修复 IE 9 和 10 中 box shadow 和 border radius 组合的渲染吗 使用嵌入阴影时尤其明显 与 webkit gecko 相比 IE 中阴影的半径有很大不同 在此图中您可以看到问题 左边是一个带有
  • 如何使 Eclipse 输出 std:out 到标准 Windows 控制台

    正如 Eclipse 用户所知 Eclipse 默认捕获 std out 和 err 的输出 并将其转储到与 IDE 集成的控制台中 我希望 Eclipse 默认情况下仅使用标准 Windows cmd 实例来显示 std out 和 st
  • Git 的“替代机制”是什么?

    我正在学习通过man gitglossary 而这个术语一直让我困惑 因为术语表中根本没有定义它 它仅被引用两次 添加星号 alternate object database Via the alternates mechanism a r
  • 从 IP 块计算网络掩码/网关

    我们的数据中心为我们提供了所有机器的 JSON 转储 以便导入到我们自己的库存管理系统中 这提供了 IP 块 例如 192 168 1 1 26 但当我导入数百个块时 我还想计算网络掩码和网关 我查看了 PHP Doxygen 上的网络功能