Class: ManageIQ::NetworkDiscovery::PortScanner
- Inherits:
-
Object
- Object
- ManageIQ::NetworkDiscovery::PortScanner
- Defined in:
- lib/manageiq/network_discovery/port_scanner.rb
Class Method Summary collapse
- .portAndOrScan?(ost, ports) ⇒ Boolean
- .portOpen(ost, port) ⇒ Object
- .portOrScan?(ost, ports) ⇒ Boolean
- .scanPortArray(ost, ports) ⇒ Object
- .scanPortRange(ost, startPort, endPort) ⇒ Object
Class Method Details
.portAndOrScan?(ost, ports) ⇒ Boolean
19 20 21 22 |
# File 'lib/manageiq/network_discovery/port_scanner.rb', line 19 def self.portAndOrScan?(ost, ports) ports.each { |p| return false unless portOrScan?(ost, p) } true end |
.portOpen(ost, port) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/manageiq/network_discovery/port_scanner.rb', line 30 def self.portOpen(ost, port) ost.timeout ||= 10 begin Timeout.timeout(ost.timeout) do s = TCPSocket.open(ost.ipaddr, port) s.close $log.debug "PortScan: ip = #{ost.ipaddr}, port = #{port}, Found port" if $log true end rescue Timeout::Error, StandardError => err $log.debug "PortScan: ip = #{ost.ipaddr}, port = #{port}, #{err}" if $log false end end |
.portOrScan?(ost, ports) ⇒ Boolean
24 25 26 27 28 |
# File 'lib/manageiq/network_discovery/port_scanner.rb', line 24 def self.portOrScan?(ost, ports) ports = [ports] unless ports.kind_of?(Array) ports.each { |p| return true if portOpen(ost, p) } false end |
.scanPortArray(ost, ports) ⇒ Object
7 8 9 10 11 |
# File 'lib/manageiq/network_discovery/port_scanner.rb', line 7 def self.scanPortArray(ost, ports) portsFound = [] ports.each { |p| portsFound << p if portOpen(ost, p) } portsFound end |
.scanPortRange(ost, startPort, endPort) ⇒ Object
13 14 15 16 17 |
# File 'lib/manageiq/network_discovery/port_scanner.rb', line 13 def self.scanPortRange(ost, startPort, endPort) portsFound = [] startPort.upto(endPort) { |p| portsFound << p if portOpen(ost, p) } portsFound end |