2017-04-19 80 views
1

Ruby是否有一種簡單的方法將一系列IP地址轉換爲CIDR?如何使用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' 
+0

這可以幫助https://stackoverflow.com/questions/13406603/ip-range-to-cidr-in-ruby-rails但是 –

+0

謝謝@VishwasNahar,在問題是他們不會將一系列IP地址轉換爲單個CIDR – mf370

回答

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