class Enricher::Resolver

Bogons ipv4 allow for both static simple checks and for dynamic full Bogon list checks provided by Team Cymru.

>> @@mybogon = Enricher::Bogon.new(:live)^C >> @@mybogon.contains?(‘205.166.22.1’)

> true

>> @@mybogon = Enricher::Bogon.new(:ipv4)

> #<Enricher::Bogon:0x00000002fb0368 @bogon=[0.0.0.0/8, 10.0.0.0/8, 100.64.0.0/10, 127.0.0.0/8, 169.254.0.0/16, 172.16.0.0/12, 192.0.0.0/24, 192.0.2.0/24, 192.168.0.0/16, 198.18.0.0/15, 198.51.100.0/24, 203.0.113.0/24, 224.0.0.0/4, 240.0.0.0/4]>

>> @@mybogon.contains?(‘205.166.22.1’)

> false

Public Class Methods

new(nameservers = ["4.2.2.2","4.2.2.3","4.2.2.4"]) click to toggle source
# File lib/enricher/resolver.rb, line 15
def initialize(nameservers = ["4.2.2.2","4.2.2.3","4.2.2.4"])
  @res = Net::DNS::Resolver.new
  @res.nameservers = nameservers
end

Public Instance Methods

reverse?(ip) click to toggle source
# File lib/enricher/resolver.rb, line 20
def reverse?(ip)
  begin
    packet = @res.search(ip)
    return packet.answer[0].ptr
  rescue
    return ""
  end
end