【问题标题】:How to convert IP range to a single CIDR using Ruby如何使用 Ruby 将 IP 范围转换为单个 CIDR
【发布时间】:2017-04-19 11:32:37
【问题描述】:

Ruby 是否有一种将 IP 地址范围转换为 CIDR 的简单方法?

我知道在 Python 中我们可以这样做:

cidr = netaddr.iprange_to_cidrs(startip, endip)

我在 StackOverflow 上查看了其他问题,但没有一个是关于将 IP 地址范围转换为单个 CIDR,例如:

startip = '250.154.64.0'
endip = '250.154.64.255'

output: '250.154.64.0/24'

【问题讨论】:

标签: ruby ip cidr


【解决方案1】:

找到了!

require 'netaddr'

startip = '250.154.64.0'
endip = '250.154.64.255'

ip_net_range = NetAddr.range(startip, endip, :Inclusive => true, :Objectify => true)
cidrs = NetAddr.merge(ip_net_range, :Objectify => true)

puts cidrs

输出:250.154.64.0/24

【讨论】:

    猜你喜欢
    • 2018-10-27
    • 1970-01-01
    • 2012-11-10
    • 2015-11-08
    • 1970-01-01
    • 2012-04-30
    • 1970-01-01
    • 2016-04-13
    • 2012-11-04
    相关资源
    最近更新 更多