なので以下のような手段でチェックしてみました。
https://github.com/bluemonk/ipaddress
のipaddressというのを利用します。
インストールは
gem install ipaddress
でOKです。
以下のような感じでチェックして見ました。
require 'ipaddress' #IPアドレスチェック def check_ip begin IPAddress::IPv4.new ip rescue return false end true end #サブネットマスクチェック def check_mask begin IPAddress::IPv4.new "10.0.0.1/#{mask}" rescue return false end true end #MACアドレスチェック #これは正規表現を使っています def check_mac if /^([0-9A-F]{2}:){5}[0-9A-F]{2}$/ =~ mac.upcase true else false end end #ブロードキャストアドレス取得 def get_broadcast(ip,mask) ipa = IPAddress::IPv4.new "#{ip}/#{mask}" ipa.broadcast.address end
ブロードキャストアドレス取得以外は、rubyで普通に使えるipaddrでも似たようなことはできるような木はします。
0 件のコメント:
コメントを投稿