class ManageIQ::NetworkDiscovery::PortScanner
Public Class Methods
portAndOrScan?(ost, ports)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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