Sha256: e909f09e48754e8d79ee9bd77bfee7f5602d25438eeef23fd2cdb1ed3e8431d4
Contents?: true
Size: 641 Bytes
Versions: 4
Compression:
Stored size: 641 Bytes
Contents
# frozen_string_literal: true require "net/https" module Mihari module Enrichers class Shodan < Base 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 private def http HTTP::Factory.build timeout: timeout end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
mihari-5.6.2 | lib/mihari/enrichers/shodan.rb |
mihari-5.6.1 | lib/mihari/enrichers/shodan.rb |
mihari-5.6.0 | lib/mihari/enrichers/shodan.rb |
mihari-5.5.0 | lib/mihari/enrichers/shodan.rb |