class Masscan::Program
Represents the `masscan` program.
Public Class Methods
scan(options={},exec_options={},&block)
click to toggle source
Finds the `masscan` program and performs a scan.
@param [Hash{Symbol => Object}] options
Additional options for masscan.
@param [Hash{Symbol => Object}] exec_options
Additional exec-options.
@yield [task]
If a block is given, it will be passed a task object used to specify options for masscan.
@yieldparam [Task] task
The masscan task object.
@return [Boolean]
Specifies whether the command exited normally.
@example Specifying `masscan` options via a Hash.
Masscan::Program.scan( ips: '192.168.1.1/24', ports: [22, 80, 443], )
@example Specifying `masscan` options via a {Task} object.
Masscan::Program.scan do |masscan| masscan.ips = '192.168.1.1/24' masscan.ports = [22, 80, 443] end
@see scan
# File lib/masscan/program.rb, line 46 def self.scan(options={},exec_options={},&block) find.scan(options,exec_options,&block) end
sudo_scan(options={},exec_options={},&block)
click to toggle source
Finds the `masscan` program and performs a scan, but runs `masscan` under `sudo`.
@see scan
@since 0.8.0
# File lib/masscan/program.rb, line 58 def self.sudo_scan(options={},exec_options={},&block) find.sudo_scan(options,exec_options,&block) end
Public Instance Methods
scan(options={},exec_options={},&block)
click to toggle source
Performs a scan.
@param [Hash{Symbol => Object}] options
Additional options for masscan.
@param [Hash{Symbol => Object}] exec_options
Additional exec-options.
@yield [task]
If a block is given, it will be passed a task object used to specify options for masscan.
@yieldparam [Task] task
The masscan task object.
@return [Boolean]
Specifies whether the command exited normally.
@see rubydoc.info/gems/rprogram/0.3.0/RProgram/Program#run-instance_method
For additional exec-options.
# File lib/masscan/program.rb, line 84 def scan(options={},exec_options={},&block) run_task(Task.new(options,&block),exec_options) end
sudo_scan(options={},exec_options={},&block)
click to toggle source
Performs a scan and runs `masscan` under `sudo`.
@see scan
@since 0.8.0
# File lib/masscan/program.rb, line 95 def sudo_scan(options={},exec_options={},&block) sudo_task(Task.new(options,&block),exec_options) end