class Ronin::CLI::Commands::Iprange
Enumerates over the IP ranges.
## Usage
ronin iprange [options] [IP_RANGE ... | --start IP --stop IP]
## Options
-f, --file FILE Optional file to read values from --start IP Starting IP address --stop IP Stopping IP address -s, --size Prints the size of the IP range -h, --help Print help information
## Arguments
[IP_RANGE ...] The IP Range to enumerate
## Examples
ronin iprange 1.1.1.0/24 ronin iprange 1.1.1.* ronin iprange 1.1.2-4.10-50 ronin iprange --start 1.1.1.10 --stop 1.1.4.100 ronin iprange --file list.txt
Public Class Methods
new(**kwargs)
click to toggle source
Initializes the ‘ronin iprange` command.
Calls superclass method
# File lib/ronin/cli/commands/iprange.rb, line 94 def initialize(**kwargs) super(**kwargs) @start = [] @stop = [] end
Public Instance Methods
process_ip_range(ip_range)
click to toggle source
Processes a parsed IP range object.
@param [Ronin::Support::Network::IPRange,
Ronin::Support::Network::IPRange::Range] ip_range The IP range to process.
# File lib/ronin/cli/commands/iprange.rb, line 142 def process_ip_range(ip_range) if options[:size] puts ip_range.size else ip_range.each do |ip| puts ip end end end
process_value(string)
click to toggle source
Processes an IP range.
@param [String] string
# File lib/ronin/cli/commands/iprange.rb, line 129 def process_value(string) range = Support::Network::IPRange.new(string) process_ip_range(range) end
run(*ip_ranges)
click to toggle source
Runs the ‘ronin iprange` command.
@param [Array<String>] ip_ranges
Optional list of IP ranges to enumerate.
Calls superclass method
# File lib/ronin/cli/commands/iprange.rb, line 107 def run(*ip_ranges) if !@start.empty? && !@stop.empty? unless @start.length == @stop.length print_error "must specify an equal number of --start and --stop options" exit(-1) end @start.zip(@stop).each do |(start,stop)| range = Support::Network::IPRange::Range.new(start,stop) process_ip_range(range) end else super(*ip_ranges) end end