のようなネットワーク定義が与えられた場合、 CIDR を 4 桁のネットマスク (この場合は )192.168.1.0/24
に変換したいと思います。/24
255.255.255.0
余分な宝石は使用しないでください。
のようなネットワーク定義が与えられた場合、 CIDR を 4 桁のネットマスク (この場合は )192.168.1.0/24
に変換したいと思います。/24
255.255.255.0
余分な宝石は使用しないでください。
RubyIPAddr
はこの機能を公開していないようです。@mask_addr
ただし、目的のマスクの整数値を含むと呼ばれるプライベート インスタンス変数が含まれています。
IPAddr
別のインスタンスに変換し直すことで、4 桁のサブマスクとして表すことができます。
require "ipaddr"
net = IPAddr.new("192.168.1.0/24")
subnet = IPAddr.new(net.instance_variable_get(:@mask_addr), Socket::AF_INET).to_s
# => "255.255.255.0"