Sha256: 861e9ea7765894fd03206b67678a4d4227772293d6fb38be312d0cf2c60bb820
Contents?: true
Size: 1.79 KB
Versions: 4
Compression:
Stored size: 1.79 KB
Contents
module Ownlan # Access point for the gem configurations. # # @return [Ownlan::Configuration] a configuration instance. def self.config @config ||= Configuration.new end # Configure hook used in the gem initializer. Convinient way to set all the # gem configurations. # # example: # Ownlan.configure do |config| # config.depth = 3 # end # # @return [void] def self.configure yield config if block_given? end class Configuration attr_accessor :attack, :protect, :broadcast, :capture, :client, :gateway, :ntoa, :fake_ip_conflict, :stealth, :static, :freeze, :resynchronize, :delay, :interface, :version, :help, :victim_ip, :victim_mac, :gateway_ip, :gateway_mac, :source_ip, :source_mac, :random_mac, :modes alias :target_ip :victim_ip alias :target_ip= :victim_ip= alias :target_mac :victim_mac alias :target_mac= :victim_mac= # Create a new instance. # # @return [Ownlan::Configuration] def initialize @modes = { attack: attack_sub_modes, protect: protect_sub_modes, manual: manual_sub_modes } @interface = 'wlan0' @delay = 0.5 @random_mac = false end def source_mac @source_mac ||= if self.victim_ip ::ServiceObjects::NetworkInformation.self_mac(interface) else gateway_ip = ServiceObjects::NetworkInformation.gateway_ip mac = ::Ownlan::Attack::Base.new(self).ip_to_mac(gateway_ip) end end def manual_sub_modes [:broadcast, :capture] end private def main_modes [:attack, :protect, :manual] end def attack_sub_modes [:client, :gateway, :ntoa, :fake_ip_conflict] end def protect_sub_modes [:freeze, :resynchronize, :static, :stealth] end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
ownlan-0.4.6 | lib/ownlan/config.rb |
ownlan-0.4.4 | lib/ownlan/config.rb |
ownlan-0.4.3 | lib/ownlan/config.rb |
ownlan-0.4.2 | lib/ownlan/config.rb |