Method: NetworkScanner::Scanner#get_range_ips

Defined in:
lib/network_scanner.rb

#get_range_ips(range) ⇒ Object



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# File 'lib/network_scanner.rb', line 74

def get_range_ips(range)
  start, finish = range.split('-', 2).map{|ip| ip.split('.')}
  first_range = start[0]..finish[0]
  second_range = start[1]..finish[1]
  third_range = start[2]..finish[2]
  fourth_range = start[3]..finish[3]

  @ips_to_check = []

  first_range.each do |first|
    second_range.each do |second|
      third_range.each do |third|
        fourth_range.each do |fourth|
          @ips_to_check << "#{first}.#{second}.#{third}.#{fourth}"
        end
      end
    end
  end

  puts "Checking ips in (#{first_range}).(#{second_range}).(#{third_range}).(#{fourth_range})"
  return @ips_to_check
end