Top Level Namespace
- Includes:
- Arachni
Defined Under Namespace
Modules: Arachni, Ethon, Selenium Classes: Array, Hash, Object, Set, String
Constant Summary
Constants included from Arachni
Arachni::BANNER, Arachni::Cookie, Arachni::Form, Arachni::Header, Arachni::JSON, Arachni::Link, Arachni::LinkTemplate, Arachni::NestedCookie, Arachni::Severity, Arachni::UIForm, Arachni::UIInput, Arachni::VERSION, Arachni::WEBSITE, Arachni::WIKI, Arachni::XML
Instance Method Summary collapse
- #ap(obj) ⇒ Object
- #dispatcher_connect(*args) ⇒ RPC::Client::Dispatcher
- #dispatcher_kill(*args) ⇒ Object
- #dispatcher_kill_by_instance(instance) ⇒ Object
- #dispatcher_killall ⇒ Object
- #dispatcher_light_spawn(*args) ⇒ Object
- #dispatcher_spawn(*args) ⇒ RPC::Client::Dispatcher
- #exit? ⇒ Boolean
- #instance_connect(*args) ⇒ RPC::Client::Instance
- #instance_dispatcher_spawn(*args) ⇒ RPC::Client::Instance
- #instance_grid_spawn(*args) ⇒ RPC::Client::Instance
- #instance_kill(url) ⇒ Object
- #instance_killall ⇒ Object
- #instance_light_grid_spawn(*args) ⇒ Object
- #instance_spawn(*args) ⇒ RPC::Client::Instance
-
#instance_token_for(*args) ⇒ String
Cached authentication token for the given Instance.
- #parent_alive? ⇒ Boolean
- #ppid ⇒ Object
- #print_exception(e) ⇒ Object
- #process_kill(*args) ⇒ Object
- #process_kill_many(*args) ⇒ Object
- #process_kill_reactor(*args) ⇒ Object
- #process_killall(*args) ⇒ Object
- #puts_stderr(str) ⇒ Object
Methods included from Arachni
URI, collect_young_objects, #get_long_win32_filename, jruby?, null_device, profile?, windows?
Instance Method Details
#ap(obj) ⇒ Object
15 16 17 |
# File 'lib/arachni.rb', line 15 def ap( obj ) super obj, raw: true end |
#dispatcher_connect(*args) ⇒ RPC::Client::Dispatcher
39 40 41 |
# File 'lib/arachni/processes/helpers/dispatchers.rb', line 39 def dispatcher_connect( *args ) Arachni::Processes::Dispatchers.connect( *args ) end |
#dispatcher_kill(*args) ⇒ Object
23 24 25 |
# File 'lib/arachni/processes/helpers/dispatchers.rb', line 23 def dispatcher_kill( *args ) Arachni::Processes::Dispatchers.kill( *args ) end |
#dispatcher_kill_by_instance(instance) ⇒ Object
27 28 29 |
# File 'lib/arachni/processes/helpers/dispatchers.rb', line 27 def dispatcher_kill_by_instance( instance ) dispatcher_kill instance..datastore.dispatcher_url end |
#dispatcher_killall ⇒ Object
33 34 35 |
# File 'lib/arachni/processes/helpers/dispatchers.rb', line 33 def dispatcher_killall Arachni::Processes::Dispatchers.killall end |
#dispatcher_light_spawn(*args) ⇒ Object
17 18 19 |
# File 'lib/arachni/processes/helpers/dispatchers.rb', line 17 def dispatcher_light_spawn( *args ) Arachni::Processes::Dispatchers.light_spawn( *args ) end |
#dispatcher_spawn(*args) ⇒ RPC::Client::Dispatcher
11 12 13 |
# File 'lib/arachni/processes/helpers/dispatchers.rb', line 11 def dispatcher_spawn( *args ) Arachni::Processes::Dispatchers.spawn( *args ) end |
#exit? ⇒ Boolean
11 12 13 14 15 16 17 18 19 20 |
# File 'lib/arachni/processes/executables/browser.rb', line 11 def exit? $stdin.read_nonblock( 1 ) false rescue Errno::EWOULDBLOCK false # Parent dead or willfully closed STDIN as a signal. rescue EOFError, Errno::EPIPE => e print_exception( e ) true end |
#instance_connect(*args) ⇒ RPC::Client::Instance
43 44 45 |
# File 'lib/arachni/processes/helpers/instances.rb', line 43 def instance_connect( *args ) Arachni::Processes::Instances.connect( *args ) end |
#instance_dispatcher_spawn(*args) ⇒ RPC::Client::Instance
27 28 29 |
# File 'lib/arachni/processes/helpers/instances.rb', line 27 def instance_dispatcher_spawn( *args ) Arachni::Processes::Instances.dispatcher.spawn( *args ) end |
#instance_grid_spawn(*args) ⇒ RPC::Client::Instance
17 18 19 |
# File 'lib/arachni/processes/helpers/instances.rb', line 17 def instance_grid_spawn( *args ) Arachni::Processes::Instances.grid_spawn( *args ) end |
#instance_kill(url) ⇒ Object
31 32 33 |
# File 'lib/arachni/processes/helpers/instances.rb', line 31 def instance_kill( url ) Arachni::Processes::Instances.kill url end |
#instance_killall ⇒ Object
37 38 39 |
# File 'lib/arachni/processes/helpers/instances.rb', line 37 def instance_killall Arachni::Processes::Instances.killall end |
#instance_light_grid_spawn(*args) ⇒ Object
21 22 23 |
# File 'lib/arachni/processes/helpers/instances.rb', line 21 def instance_light_grid_spawn( *args ) Arachni::Processes::Instances.light_grid_spawn( *args ) end |
#instance_spawn(*args) ⇒ RPC::Client::Instance
11 12 13 |
# File 'lib/arachni/processes/helpers/instances.rb', line 11 def instance_spawn( *args ) Arachni::Processes::Instances.spawn( *args ) end |
#instance_token_for(*args) ⇒ String
Returns Cached authentication token for the given Instance.
49 50 51 |
# File 'lib/arachni/processes/helpers/instances.rb', line 49 def instance_token_for( *args ) Arachni::Processes::Instances.token_for( *args ) end |
#parent_alive? ⇒ Boolean
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/arachni/processes/executables/base.rb', line 22 def parent_alive? # Windows is not big on POSIX so try it its own way if possible. if Gem.win_platform? begin alive = false wmi = WIN32OLE.connect( 'winmgmts://' ) processes = wmi.ExecQuery( "select ProcessId from win32_process where ProcessID='#{ppid}'") processes.each do |proc| proc.ole_free alive = true end processes.ole_free wmi.ole_free return alive rescue WIN32OLERuntimeError end end !!(Process.kill( 0, ppid ) rescue false) end |
#ppid ⇒ Object
18 19 20 |
# File 'lib/arachni/processes/executables/base.rb', line 18 def ppid $options[:ppid] end |
#print_exception(e) ⇒ Object
3 4 5 6 7 8 9 |
# File 'lib/arachni/processes/executables/browser.rb', line 3 def print_exception( e ) puts_stderr "#{Process.pid}: [#{e.class}] #{e}" e.backtrace.each do |line| puts_stderr "#{Process.pid}: #{line}" end rescue end |
#process_kill(*args) ⇒ Object
17 18 19 |
# File 'lib/arachni/processes/helpers/processes.rb', line 17 def process_kill( *args ) Arachni::Processes::Manager.kill( *args ) end |
#process_kill_many(*args) ⇒ Object
29 30 31 |
# File 'lib/arachni/processes/helpers/processes.rb', line 29 def process_kill_many( *args ) Arachni::Processes::Manager.kill_many( *args ) end |
#process_kill_reactor(*args) ⇒ Object
11 12 13 |
# File 'lib/arachni/processes/helpers/processes.rb', line 11 def process_kill_reactor( *args ) Arachni::Processes::Manager.kill_reactor( *args ) end |
#process_killall(*args) ⇒ Object
23 24 25 |
# File 'lib/arachni/processes/helpers/processes.rb', line 23 def process_killall( *args ) Arachni::Processes::Manager.killall( *args ) end |
#puts_stderr(str) ⇒ Object
44 45 46 47 48 49 |
# File 'lib/arachni/processes/executables/base.rb', line 44 def puts_stderr( str ) return if $stderr.closed? $stderr.puts str rescue end |