Method: Rex::Socket::SubnetWalker#next_ip

Defined in:
lib/rex/socket/subnet_walker.rb

#next_ipObject

Returns the next IP address.



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/rex/socket/subnet_walker.rb', line 38

def next_ip
  if (curr_ip_idx >= num_ips)
    return nil
  end

  if (curr_ip_idx > 0)
    self.curr_ip[3] = (curr_ip[3].to_i + 1) % 256
    self.curr_ip[2] = (curr_ip[2].to_i + 1) % 256 if (curr_ip[3] == 0)
    self.curr_ip[1] = (curr_ip[1].to_i + 1) % 256 if (curr_ip[2] == 0)
    self.curr_ip[0] = (curr_ip[0].to_i + 1) % 256 if (curr_ip[1] == 0)
  end

  self.curr_ip_idx += 1

  self.curr_ip.join('.')
end