class DyNmap

Public Class Methods

new(subnet='192.168.4') click to toggle source
# 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

Public Instance Methods

save(filename='dynarex.xml') click to toggle source
# File lib/dynmap.rb, line 28
def save(filename='dynarex.xml')
  @dynarex.save filename
end
to_dynarex() click to toggle source
# File lib/dynmap.rb, line 24
def to_dynarex
  @dynarex
end