Sha256: aef14c9000c59897cfa0a35f7df5952bc033a52f25e8a0ada398c35888363058
Contents?: true
Size: 719 Bytes
Versions: 4
Compression:
Stored size: 719 Bytes
Contents
# frozen_string_literal: true require "net/https" module Mihari module Enrichers class Shodan < Base # @return [Boolean] def valid? true end class << self include Dry::Monads[:result] include Memist::Memoizable # # Query Shodan Internet DB # # @param [String] ip # # @return [Mihari::Structs::Shodan::InternetDBResponse, nil] # def query(ip) url = "https://internetdb.shodan.io/#{ip}" res = HTTP.get(url) data = JSON.parse(res.body.to_s) Structs::Shodan::InternetDBResponse.from_dynamic! data end memoize :query end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
mihari-5.4.7 | lib/mihari/enrichers/shodan.rb |
mihari-5.4.6 | lib/mihari/enrichers/shodan.rb |
mihari-5.4.5 | lib/mihari/enrichers/shodan.rb |
mihari-5.4.4 | lib/mihari/enrichers/shodan.rb |