Sha256: 2df14590665935dedeaf15a9fb7d2cf6e71e0c999495acd3b9a55f6895f978ba
Contents?: true
Size: 841 Bytes
Versions: 29
Compression:
Stored size: 841 Bytes
Contents
# frozen_string_literal: true module Mihari class DnsRecord < ActiveRecord::Base belongs_to :artifact class << self # # Build DNS records # # @param [String] domain # # @return [Array<Mihari::DnsRecord>] # def build_by_domain(domain) resource_types = %w[A AAAA CNAME TXT NS] resource_types.map do |resource_type| get_values domain, resource_type rescue Resolv::ResolvError nil end.flatten.compact end private def get_values(domain, resource_type) response = Enrichers::GooglePublicDNS.query(domain, resource_type) answers = response.answers || [] answers.filter_map do |answer| new(resource: answer.resource_type, value: answer.data) end end end end end
Version data entries
29 entries across 29 versions & 1 rubygems