Class: Enricher::Resolver

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

Overview

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

Instance Method Summary collapse

Constructor Details

#initialize(nameservers = ["4.2.2.2","4.2.2.3","4.2.2.4"]) ⇒ Resolver

Returns a new instance of Resolver.



15
16
17
18
# 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

Instance Method Details

#reverse?(ip) ⇒ Boolean

Returns:

  • (Boolean)


20
21
22
23
24
25
26
27
# File 'lib/enricher/resolver.rb', line 20

def reverse?(ip)
  begin
    packet = @res.search(ip)
    return packet.answer[0].ptr
  rescue
    return ""
  end
end