Class: DyNmap

Inherits:
Object
  • Object
show all
Defined in:
lib/dynmap.rb

Instance Method Summary collapse

Constructor Details

#initialize(subnet = '192.168.4') ⇒ DyNmap

Returns a new instance of DyNmap.



10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/dynmap.rb', line 10

def initialize(subnet='192.168.4')

  r = `nmap -sP #{subnet}.0/24; arp -n  | grep "#{subnet}.[0-9]* *ether"`
  s = r[/Nmap scan report for .*Host is up[^\)]+\)/m]
  a = s.scan(/Nmap scan report for (?:([^\s]+)\s\((\d+\.\d+\.\d+\.\d+)\)|(\d+\.\d+\.\d+\.\d+))\nHost is up \((\d+\.\d+)/m)
  a.map! {|x| ([''] + x.compact)[-3..-1] }

  @dynarex = Dynarex.new('items/item(ip,domain, latency)')
  a.each do |domain, ip, latency|
    @dynarex.create ip: ip, domain: domain, latency: latency
  end

end

Instance Method Details

#save(filename = 'dynarex.xml') ⇒ Object



28
29
30
# File 'lib/dynmap.rb', line 28

def save(filename='dynarex.xml')
  @dynarex.save filename
end

#to_dynarexObject



24
25
26
# File 'lib/dynmap.rb', line 24

def to_dynarex
  @dynarex
end