Class: Prenus::Output::Hostinfoout

Inherits:
Baseout
  • Object
show all
Defined in:
lib/output/hostinfoout.rb

Instance Method Summary collapse

Constructor Details

#initialize(events, hosts, options) ⇒ Object

Initialises the Hostinfoout class into an object

Examples:

object = Prenus::Output::Hostinfoout(events,hosts,options)


21
22
23
# File 'lib/output/hostinfoout.rb', line 21

def initialize(events,hosts,options)
	super
end

Instance Method Details

#runObject

Run the Hostinfoout class - this will generate a simple CSV output of applicable host information

Examples:

object.run

Returns:

  • Returns nothing



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/output/hostinfoout.rb', line 34

def run
	#File.open(@options[:outputdir] + "/prenus.glow", 'w') do |f|
	@events.each do |k,v|
		unless @options[:filter].nil?
			next unless @options[:filter].include?(k.to_s)
		end
		# The graphs were getting too mental, so I hard coded to ignore everything except High and Critical findings
		next if v[:severity].to_i < @options[:severity].to_i
		impacted_hosts = []
		v[:ports].each do |k2,v2|
			v2[:hosts].each do |h,w|
				impacted_hosts << h
			end
		end

		impacted_hosts.uniq.each do |host|
			#f.puts k.to_s + " (" + v[:severity].to_s + ")," + @hosts[host][:ip] + "\n"
			@oFile.syswrite @hosts[host][:ip] + "," + @hosts[host][:hostname].to_s + "," + @hosts[host][:os].to_s.gsub("\n","/") + "\n"
		end

	end
	#end

end