class LunaScanner::Util
Public Class Methods
begin_ip(ip)
click to toggle source
# File lib/luna_scanner/util.rb, line 14 def begin_ip(ip) ip_array = ip.to_s.split(".") raise "IP Error." if ip_array.size != 4 "#{ip_array[0]}.#{ip_array[1]}.#{ip_array[2]}.1" end
end_ip(ip)
click to toggle source
# File lib/luna_scanner/util.rb, line 21 def end_ip(ip) ip_array = ip.to_s.split(".") raise "IP Error." if ip_array.size != 4 "#{ip_array[0]}.#{ip_array[1]}.#{ip_array[2]}.255" end
ip_range(begin_ip, end_ip)
click to toggle source
# File lib/luna_scanner/util.rb, line 28 def ip_range(begin_ip, end_ip) start_ip_array = begin_ip.split(".") end_ip_array = end_ip.split(".") raise "IP not valid." if start_ip_array.size != 4 || end_ip_array.size != 4 raise "IP not valid." if start_ip_array[3].to_i > 255 || end_ip_array[3].to_i > 255 raise "Start ip and end ip must be in same range." if start_ip_array[0] != end_ip_array[0] || start_ip_array[1] != end_ip_array[1] raise "IP range not valid" if start_ip_array[2].to_i > end_ip_array[2].to_i raise "IP range not valid" if (start_ip_array[2].to_i == end_ip_array[2].to_i) && start_ip_array[3].to_i > end_ip_array[3].to_i ip_array = [] if start_ip_array[2].to_i == end_ip_array[2].to_i # 192.168.1.1 ~ 192.168.1.10 (start_ip_array[3].to_i..end_ip_array[3].to_i).step do |i| ip_array << start_ip_array[0] + "." + start_ip_array[1] + "." + start_ip_array[2] + ".#{i}" end else # 192.168.1.1 ~ 192.168.3.10 (start_ip_array[2].to_i..end_ip_array[2].to_i).step do |i| if start_ip_array[2].to_i == i (start_ip_array[3].to_i..255).step do |j| ip_array << start_ip_array[0] + "." + start_ip_array[1] + "." + start_ip_array[2] + ".#{j}" end elsif end_ip_array[2].to_i == i (1..end_ip_array[3].to_i).step do |j| ip_array << start_ip_array[0] + "." + start_ip_array[1] + "." + end_ip_array[2] + ".#{j}" end else (1..255).step do |j| ip_array << start_ip_array[0] + "." + start_ip_array[1] + ".#{i}.#{j}" end end end end ip_array end
ip_valid?(ip)
click to toggle source
# File lib/luna_scanner/util.rb, line 5 def ip_valid?(ip) ip_array = ip.to_s.split(".") return false if ip_array.size != 4 return false if ip_array[3].to_i <= 0 || ip_array[3].to_i > 255 true end