Class: Nmap::OS
Instance Method Summary collapse
-
#classes ⇒ Array<OSClass>
Parses the OS class information.
-
#each(&block) ⇒ Object
Parses the OS match information.
-
#each_class {|class| ... } ⇒ OS, Enumerator
Parses the OS class information.
-
#each_match {|match| ... } ⇒ OS, Enumerator
Parses the OS match information.
-
#fingerprint ⇒ String
Parses the OS fingerprint used by Nmap.
-
#initialize(node) {|os| ... } ⇒ OS
constructor
Creates a new OS object.
-
#matches ⇒ Array<OSMatch>
Parses the OS match information.
-
#ports_used ⇒ Array<Integer>
Parses the ports used for guessing the OS.
Constructor Details
#initialize(node) {|os| ... } ⇒ OS
Creates a new OS object.
21 22 23 24 25 |
# File 'lib/nmap/os.rb', line 21 def initialize(node) @node = node yield self if block_given? end |
Instance Method Details
#classes ⇒ Array<OSClass>
Parses the OS class information.
63 64 65 |
# File 'lib/nmap/os.rb', line 63 def classes each_class.to_a end |
#each(&block) ⇒ Object
Parses the OS match information.
132 133 134 |
# File 'lib/nmap/os.rb', line 132 def each(&block) each_match(&block) end |
#each_class {|class| ... } ⇒ OS, Enumerator
Parses the OS class information.
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/nmap/os.rb', line 40 def each_class return enum_for(:each_class) unless block_given? @node.xpath("osclass").map do |osclass| os_class = OSClass.new( osclass['type'].to_sym, osclass['vendor'], osclass['osfamily'].to_sym, osclass['accuracy'].to_i ) yield os_class end return self end |
#each_match {|match| ... } ⇒ OS, Enumerator
Parses the OS match information.
80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/nmap/os.rb', line 80 def each_match return enum_for(:each_match) unless block_given? @node.xpath("osmatch").map do |osclass| os_match = OSMatch.new( osclass['name'], osclass['accuracy'].to_i ) yield os_match end return self end |
#fingerprint ⇒ String
Parses the OS fingerprint used by Nmap.
123 124 125 |
# File 'lib/nmap/os.rb', line 123 def fingerprint @fingerprint ||= @node.at("osfingerprint/@fingerprint").inner_text end |
#matches ⇒ Array<OSMatch>
Parses the OS match information.
101 102 103 |
# File 'lib/nmap/os.rb', line 101 def matches each_match.to_a end |
#ports_used ⇒ Array<Integer>
Parses the ports used for guessing the OS.
111 112 113 114 115 |
# File 'lib/nmap/os.rb', line 111 def ports_used @ports_used ||= @node.xpath("portused/@portid").map do |port| port.inner_text.to_i end end |