shodan 0.3.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/shodan/api.rb +39 -0
- data/lib/shodan/version.rb +1 -1
- metadata +5 -5
data/lib/shodan/api.rb
CHANGED
@@ -16,12 +16,14 @@ module Shodan
|
|
16
16
|
class WebAPI
|
17
17
|
attr_accessor :api_key
|
18
18
|
attr_accessor :base_url
|
19
|
+
attr_accessor :dataloss
|
19
20
|
attr_accessor :exploitdb
|
20
21
|
attr_accessor :msf
|
21
22
|
|
22
23
|
def initialize(api_key)
|
23
24
|
@api_key = api_key
|
24
25
|
@base_url = "http://www.shodanhq.com/api/"
|
26
|
+
@dataloss = DatalossDB.new(self)
|
25
27
|
@exploitdb = ExploitDB.new(self)
|
26
28
|
@msf = Msf.new(self)
|
27
29
|
end
|
@@ -70,6 +72,43 @@ module Shodan
|
|
70
72
|
end
|
71
73
|
end
|
72
74
|
|
75
|
+
# The DatalossDB class shouldn't be used independently,
|
76
|
+
# as it depends on the WebAPI class.
|
77
|
+
#
|
78
|
+
# Author:: achillean (mailto:jmath at surtri.com)
|
79
|
+
#
|
80
|
+
# :title:Shodan::DatalossDB
|
81
|
+
class DatalossDB
|
82
|
+
attr_accessor :api
|
83
|
+
|
84
|
+
def initialize(api)
|
85
|
+
@api = api
|
86
|
+
end
|
87
|
+
|
88
|
+
# Search the Dataloss DB archive.
|
89
|
+
#
|
90
|
+
# Arguments:
|
91
|
+
# name -- Name of the affected company/ organisation
|
92
|
+
#
|
93
|
+
# arrest -- whether the incident resulted in an arrest
|
94
|
+
# breaches -- the type of breach that occurred (Hack, MissingLaptop etc.)
|
95
|
+
# country -- country where the incident took place
|
96
|
+
# ext -- whether an external, third party was affected
|
97
|
+
# ext_names -- the name of the third party company that was affected
|
98
|
+
# lawsuit -- whether the incident resulted in a lawsuit
|
99
|
+
# records -- the number of records that were lost/ stolen
|
100
|
+
# recovered -- whether the affected items were recovered
|
101
|
+
# sub_types -- the sub-categorization of the affected company/ organization
|
102
|
+
# source -- whether the incident occurred from inside or outside the organization
|
103
|
+
# stocks -- stock symbol of the affected company
|
104
|
+
# types -- the basic type of organization (government, business, educational)
|
105
|
+
# uid -- unique ID for the incident
|
106
|
+
def search(params={})
|
107
|
+
return @api.request('datalossdb/search', params)
|
108
|
+
end
|
109
|
+
|
110
|
+
end
|
111
|
+
|
73
112
|
# The ExploitDB class shouldn't be used independently,
|
74
113
|
# as it depends on the WebAPI class.
|
75
114
|
#
|
data/lib/shodan/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shodan
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 11
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 5
|
9
|
+
- 0
|
10
|
+
version: 0.5.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- John Matherly
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2011-05-12 00:00:00 -07:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|