censu 0.1.2 → 0.1.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1a65cae212177db3ce66c6b68aae16e212427e21
4
- data.tar.gz: 967f33e9e61180fddb1b8b16b35d6454f29c17e6
3
+ metadata.gz: 4adbb6b2c02be3d4a7b66d7c53b905229addf7ef
4
+ data.tar.gz: 33f21952c24d20dbe44e4a40bc2ab884a9896f8d
5
5
  SHA512:
6
- metadata.gz: 8b762c4f2e09e700e130515cbe32edbb7ace961de5031a291100f3d64977933977accd8507e8ca2f1958b7ad31c41c91df05dd103d8e7e1604e95d973c1344ae
7
- data.tar.gz: 3b69de965819865490e59189792b74d1ef31480a9e8fba781112f3731bdec2629191cb99f84bb997d95c1ee24fdde13623767120481bd1b4e421d5aacfc71bb7
6
+ metadata.gz: b4c74b61c504b1aea0ee7727471adbf151d8a85e548268f4364b3f911e561783d58ff7ecf840d629b47a43c0d2fef25358717020e1393bb0466f4e43c8603742
7
+ data.tar.gz: 59002048e6e93ab16efa7a516ec2880fde0567840577f1d1a6e0b2540413b61d8ae06f58d22591b29856d032e3818ac66991fb92cf2e856887e4ad0a57192135
data/README.md CHANGED
@@ -27,21 +27,16 @@ variables:
27
27
  api = Censys::API.new
28
28
  ```
29
29
 
30
- Search for IPv4 addresses:
30
+ Search:
31
31
 
32
32
  ```ruby
33
+ # Search for IPv4 addresses:
33
34
  response = api.ipv4.search(query: 'dropbox.com')
34
- ```
35
-
36
- Search for Websites:
37
35
 
38
- ```ruby
36
+ # Search for Websites:
39
37
  response = api.websites.search(query: 'dropbox.com')
40
- ```
41
-
42
- Search for Certificates:
43
38
 
44
- ```ruby
39
+ # Search for Certificates:
45
40
  response = api.certificates.search(query: 'dropbox.com')
46
41
  ```
47
42
 
@@ -56,27 +51,23 @@ response.each_page do |page|
56
51
  end
57
52
  ```
58
53
 
59
- View for IPv4 addresses:
54
+ View:
60
55
 
61
56
  ```ruby
57
+ # View for IPv4 addresses:
62
58
  view = api.ipv4["8.8.8.8"]
63
- ```
64
-
65
- View for Websites:
66
59
 
67
- ```ruby
60
+ # View for Websites:
68
61
  view = api.websites["google.com"]
69
- ```
70
-
71
- View for Certificates:
72
62
 
73
- ```ruby
63
+ # View for Certificates:
74
64
  view = api.certificates["821a712a29d8e25915f66a9771519746c5aa73a45321fd4ca7ef644e1cadda59"]
75
65
  ```
76
66
 
77
- Generate aggregate reports:
67
+ Report:
78
68
 
79
69
  ```ruby
70
+ # Generate aggregate reports:
80
71
  response = api.websites.report(
81
72
  query: '80.http.get.headers.server: Apache',
82
73
  field: 'location.country_code',
@@ -4,6 +4,7 @@ require 'censys/report'
4
4
  require 'censys/ipv4'
5
5
  require 'censys/website'
6
6
  require 'censys/certificate'
7
+ require 'censys/data'
7
8
 
8
9
  require 'net/https'
9
10
  require 'json'
@@ -168,6 +169,25 @@ module Censys
168
169
  end
169
170
  end
170
171
 
172
+ def data(params = {})
173
+ series = params[:series]
174
+ result = params[:result]
175
+ type, path =
176
+ if series && result.nil? then [:series, "/data/#{series}"]
177
+ elsif series && result then [:result, "/data/#{series}/#{result}"]
178
+ else
179
+ [:series_list, "/data"]
180
+ end
181
+ get(path) do |response|
182
+ case type
183
+ when :series then Data::Series.new(response)
184
+ when :result then Data::Result.new(response)
185
+ else
186
+ Data::SeriesList.new(response)
187
+ end
188
+ end
189
+ end
190
+
171
191
  private
172
192
 
173
193
  #
@@ -0,0 +1 @@
1
+ require 'censys/data/response'
@@ -0,0 +1,23 @@
1
+ require 'censys/data/result'
2
+ require 'censys/data/series_list'
3
+ require 'censys/data/series'
4
+
5
+ module Censys
6
+ module Data
7
+ class Response
8
+ RESULTS = {
9
+ series_list: SeriesList,
10
+ series: Series,
11
+ result: Result
12
+ }.freeze
13
+
14
+ def initialize(result_type, response)
15
+ unless (result_class = RESULTS[result_type])
16
+ raise(ArgumentError, "invalid result type: #{result_type}")
17
+ end
18
+
19
+ result_class.new(response)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,19 @@
1
+ require 'time'
2
+
3
+ module Censys
4
+ module Data
5
+ class Result
6
+ attr_reader :id
7
+
8
+ attr_reader :files
9
+
10
+ attr_reader :timestamp
11
+
12
+ def initialize(attributes)
13
+ @id = attributes["id"]
14
+ @files = attributes["files"]
15
+ @timestamp = Time.parse(attributes["timestamp"])
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,32 @@
1
+ module Censys
2
+ module Data
3
+ class Series
4
+ attr_reader :id
5
+
6
+ attr_reader :port
7
+
8
+ attr_reader :protocol
9
+
10
+ attr_reader :subprotocol
11
+
12
+ attr_reader :destination
13
+
14
+ attr_reader :name
15
+
16
+ attr_reader :description
17
+
18
+ attr_reader :results
19
+
20
+ def initialize(attributes)
21
+ @id = attributes["id"]
22
+ @port = attributes["port"]
23
+ @protocol = attributes["protocol"]
24
+ @subprotocol = attributes["subprotocol"]
25
+ @destination = attributes["destination"]
26
+ @name = attributes["name"]
27
+ @description = attributes["description"]
28
+ @results = attributes["results"]
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ module Censys
2
+ module Data
3
+ class SeriesList
4
+ attr_reader :primary_series
5
+ attr_reader :raw_series
6
+
7
+ def initialize(attributes)
8
+ @primary_series = attributes["primary_series"]
9
+ @raw_series = attributes["raw_series"]
10
+ end
11
+ end
12
+ end
13
+ end
@@ -9,9 +9,24 @@ module Censys
9
9
  @attributes = attributes
10
10
  end
11
11
 
12
+ #
13
+ # Provides arbitrary access to the attributes
14
+ #
15
+ # @param [String] name
16
+ # The dot-separated field name.
17
+ #
18
+ # @return [Object]
19
+ #
20
+ def [](name)
21
+ keys = name.split(".")
22
+ dig(*keys)
23
+ end
24
+
12
25
  #
13
26
  # Dig attributes
14
27
  #
28
+ # @param [Array<String>] keys
29
+ #
15
30
  # @return [Object]
16
31
  #
17
32
  def dig(*keys)
@@ -1,4 +1,4 @@
1
1
  module Censys
2
2
  # censys version
3
- VERSION = "0.1.2".freeze
3
+ VERSION = "0.1.3".freeze
4
4
  end
@@ -0,0 +1,43 @@
1
+ require 'spec_helper'
2
+
3
+ describe Censys::API do
4
+ before(:context) do
5
+ @api = Censys::API.new
6
+ end
7
+
8
+ describe "#data", :vcr do
9
+ context "series_list" do
10
+ it "should return SeriesList response" do
11
+ data = @api.data
12
+ expect(data).to be_a(Censys::Data::SeriesList)
13
+ expect(data.primary_series).to be_a(Hash)
14
+ expect(data.raw_series).to be_a(Hash)
15
+ end
16
+ end
17
+
18
+ context "series" do
19
+ it "should return Series response" do
20
+ series = @api.data(series: "22-ssh-banner-full_ipv4")
21
+ expect(series).to be_a(Censys::Data::Series)
22
+ expect(series.id).to eq("22-ssh-banner-full_ipv4")
23
+ expect(series.port).to be_a(Integer)
24
+ expect(series.protocol).to be_a(String)
25
+ expect(series.subprotocol).to be_a(String)
26
+ expect(series.destination).to be_a(String)
27
+ expect(series.name).to be_a(String)
28
+ expect(series.description).to be_a(String)
29
+ expect(series.results).to be_a(Hash)
30
+ end
31
+ end
32
+
33
+ context "result" do
34
+ it "should return Result response" do
35
+ result = @api.data(series: "22-ssh-banner-full_ipv4", result: "20150930T0056")
36
+ expect(result).to be_a(Censys::Data::Result)
37
+ expect(result.id).to eq("20150930T0056")
38
+ expect(result.files).to be_a(Hash)
39
+ expect(result.timestamp).to be_a(Time)
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,101 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20150930T0056
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ Host:
17
+ - www.censys.io
18
+ Authorization:
19
+ - "<CENSORED>"
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Content-Type:
26
+ - application/json
27
+ Access-Control-Allow-Origin:
28
+ - "*"
29
+ Strict-Transport-Security:
30
+ - max-age=15768000; includeSubDomains; preload
31
+ X-Cloud-Trace-Context:
32
+ - 2e3f7e022d23e8360d35eb1ace04344f
33
+ Date:
34
+ - Sun, 17 Dec 2017 23:16:29 GMT
35
+ Server:
36
+ - Google Frontend
37
+ Content-Length:
38
+ - '5739'
39
+ body:
40
+ encoding: UTF-8
41
+ string: '{"files": {"ztee-zgrab-updates": {"compressed_size": 0, "compressed_sha256_fingerprint":
42
+ null, "compressed_download_path": "https://scans.io/zsearch/3j47m8n1enw5je0b-22-ssh-banner-full_ipv4-20150929T040000-ztee-zgrab-updates.csv.lz4",
43
+ "sha256_fingerprint": "54343f2a45b30cf277346cfcafe8ef452ade80d007c3bdcb9bf51a0a3471718a",
44
+ "download_path": "https://scans.io/zsearch/3j47m8n1enw5je0b-22-ssh-banner-full_ipv4-20150929T040000-ztee-zgrab-updates.csv.lz4",
45
+ "file_type": "csv", "schema": null, "compression_type": "lz4", "size": 1},
46
+ "zgrab-metadata": {"compressed_size": 0, "compressed_sha256_fingerprint":
47
+ null, "compressed_download_path": "https://scans.io/zsearch/3j47m8n1enw5je0b-22-ssh-banner-full_ipv4-20150929T040000-zgrab-metadata.json.lz4",
48
+ "sha256_fingerprint": "d28c74ee6799309e48b8d4a1e868c91a4550af08630966fb09682116666df532",
49
+ "download_path": "https://scans.io/zsearch/3j47m8n1enw5je0b-22-ssh-banner-full_ipv4-20150929T040000-zgrab-metadata.json.lz4",
50
+ "file_type": "json", "schema": null, "compression_type": "lz4", "size": 0},
51
+ "zgrab-results": {"compressed_size": 1971, "compressed_sha256_fingerprint":
52
+ null, "compressed_download_path": "https://scans.io/zsearch/3j47m8n1enw5je0b-22-ssh-banner-full_ipv4-20150929T040000-zgrab-results.json.lz4",
53
+ "sha256_fingerprint": "cdd962fe956674749ef5d40d59c423a0be77432a246bcd223c3346576c9479ff",
54
+ "download_path": "https://scans.io/zsearch/3j47m8n1enw5je0b-22-ssh-banner-full_ipv4-20150929T040000-zgrab-results.json.lz4",
55
+ "file_type": "json", "schema": null, "compression_type": "lz4", "size": 21707},
56
+ "zmap-log": {"compressed_size": 0, "compressed_sha256_fingerprint": null,
57
+ "compressed_download_path": "https://scans.io/zsearch/3j47m8n1enw5je0b-22-ssh-banner-full_ipv4-20150929T040000-zmap-log.log.lz4",
58
+ "sha256_fingerprint": "94084c5003ac2afd9056df57c7e9e100dea93b2d9105a2ab6d7d43faba79b01a",
59
+ "download_path": "https://scans.io/zsearch/3j47m8n1enw5je0b-22-ssh-banner-full_ipv4-20150929T040000-zmap-log.log.lz4",
60
+ "file_type": "log", "schema": null, "compression_type": "lz4", "size": 0},
61
+ "zgrab-log": {"compressed_size": 386, "compressed_sha256_fingerprint": null,
62
+ "compressed_download_path": "https://scans.io/zsearch/3j47m8n1enw5je0b-22-ssh-banner-full_ipv4-20150929T040000-zgrab-log.log.lz4",
63
+ "sha256_fingerprint": "19f453de32fccc1756b01b8b200fe9c85802efcf8f6034175d918a11fc4c0813",
64
+ "download_path": "https://scans.io/zsearch/3j47m8n1enw5je0b-22-ssh-banner-full_ipv4-20150929T040000-zgrab-log.log.lz4",
65
+ "file_type": "log", "schema": null, "compression_type": "lz4", "size": 2659},
66
+ "ztag-metadata": {"compressed_size": 0, "compressed_sha256_fingerprint": null,
67
+ "compressed_download_path": "https://scans.io/zsearch/3j47m8n1enw5je0b-22-ssh-banner-full_ipv4-20150929T040000-ztag-metadata.json.lz4",
68
+ "sha256_fingerprint": "eb1dc7b9affe0fef7d8c933ff96657f9a97c561fe9cde439e4ad5bfe239db5c3",
69
+ "download_path": "https://scans.io/zsearch/3j47m8n1enw5je0b-22-ssh-banner-full_ipv4-20150929T040000-ztag-metadata.json.lz4",
70
+ "file_type": "json", "schema": null, "compression_type": "lz4", "size": 0},
71
+ "zmap-results": {"compressed_size": 211, "compressed_sha256_fingerprint":
72
+ null, "compressed_download_path": "https://scans.io/zsearch/3j47m8n1enw5je0b-22-ssh-banner-full_ipv4-20150929T040000-zmap-results.csv.lz4",
73
+ "sha256_fingerprint": "693b6bdd6b954aed3981ca9d801bb1317bfdb19f560f968781823b9abef8eaa3",
74
+ "download_path": "https://scans.io/zsearch/3j47m8n1enw5je0b-22-ssh-banner-full_ipv4-20150929T040000-zmap-results.csv.lz4",
75
+ "file_type": "csv", "schema": null, "compression_type": "lz4", "size": 304},
76
+ "ztee-zmap-updates": {"compressed_size": 0, "compressed_sha256_fingerprint":
77
+ null, "compressed_download_path": "https://scans.io/zsearch/3j47m8n1enw5je0b-22-ssh-banner-full_ipv4-20150929T040000-ztee-zmap-updates.csv.lz4",
78
+ "sha256_fingerprint": "e97fae9aaf878f58a2d030c938d6b9f52e3607b9a50ac8eed00960aeb61fd7d4",
79
+ "download_path": "https://scans.io/zsearch/3j47m8n1enw5je0b-22-ssh-banner-full_ipv4-20150929T040000-ztee-zmap-updates.csv.lz4",
80
+ "file_type": "csv", "schema": null, "compression_type": "lz4", "size": 1},
81
+ "zmap-metadata": {"compressed_size": 0, "compressed_sha256_fingerprint": null,
82
+ "compressed_download_path": "https://scans.io/zsearch/3j47m8n1enw5je0b-22-ssh-banner-full_ipv4-20150929T040000-zmap-metadata.json.lz4",
83
+ "sha256_fingerprint": "76d22d5edd952bdcab1f5e217ee78463abe2353fa30682f6d548edef8e95a4ad",
84
+ "download_path": "https://scans.io/zsearch/3j47m8n1enw5je0b-22-ssh-banner-full_ipv4-20150929T040000-zmap-metadata.json.lz4",
85
+ "file_type": "json", "schema": null, "compression_type": "lz4", "size": 0},
86
+ "ztag-log": {"compressed_size": 42, "compressed_sha256_fingerprint": null,
87
+ "compressed_download_path": "https://scans.io/zsearch/3j47m8n1enw5je0b-22-ssh-banner-full_ipv4-20150929T040000-ztag-log.log.lz4",
88
+ "sha256_fingerprint": "ce56484153ad89d1926287040dcb77022a8599ce0876190c330bd9935c8292ac",
89
+ "download_path": "https://scans.io/zsearch/3j47m8n1enw5je0b-22-ssh-banner-full_ipv4-20150929T040000-ztag-log.log.lz4",
90
+ "file_type": "log", "schema": null, "compression_type": "lz4", "size": 469}},
91
+ "task_id": null, "series": {"id": "22-ssh-banner-full_ipv4", "name": "22-ssh-banner-full_ipv4"},
92
+ "primary_file": {"schema": null, "compressed_size": 1971, "compressed_download_path":
93
+ "https://scans.io/zsearch/3j47m8n1enw5je0b-22-ssh-banner-full_ipv4-20150929T040000-zgrab-results.json.lz4",
94
+ "sha256_fingerprint": "cdd962fe956674749ef5d40d59c423a0be77432a246bcd223c3346576c9479ff",
95
+ "download_path": "https://scans.io/zsearch/3j47m8n1enw5je0b-22-ssh-banner-full_ipv4-20150929T040000-zgrab-results.json.lz4",
96
+ "file_type": "json", "compressed_sha256_fingerprint": null, "compression_type":
97
+ "lz4", "size": 21707}, "timestamp": "20150930T005634", "id": "20150930T0056",
98
+ "metadata": null}'
99
+ http_version:
100
+ recorded_at: Sun, 17 Dec 2017 23:16:29 GMT
101
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,130 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ Host:
17
+ - www.censys.io
18
+ Authorization:
19
+ - "<CENSORED>"
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Content-Type:
26
+ - application/json
27
+ Access-Control-Allow-Origin:
28
+ - "*"
29
+ Strict-Transport-Security:
30
+ - max-age=15768000; includeSubDomains; preload
31
+ X-Cloud-Trace-Context:
32
+ - 6d1db0235792d0414f88b2a763333fd8
33
+ Date:
34
+ - Sun, 17 Dec 2017 23:06:44 GMT
35
+ Server:
36
+ - Google Frontend
37
+ Content-Length:
38
+ - '12115'
39
+ body:
40
+ encoding: UTF-8
41
+ string: '{"protocol": "ssh", "description": "This dataset is composed of a ZMap
42
+ TCP SYN scan on port 22 and a ZGrab SSH Banner Grab\r\nfor the for responsive
43
+ hosts. The connection is terminated after a banner has been\r\nreceived. We
44
+ do not currently capture SSH host keys, but we are planning to add this\r\nfunctionality
45
+ in the future.", "destination": "full_ipv4", "results": {"historical": [{"timestamp":
46
+ "20150912T132919", "id": "20150912T1329", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20150912T1329"},
47
+ {"timestamp": "20150916T003327", "id": "20150916T0033", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20150916T0033"},
48
+ {"timestamp": "20150923T003330", "id": "20150923T0033", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20150923T0033"},
49
+ {"timestamp": "20150924T084359", "id": "20150924T0843", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20150924T0843"},
50
+ {"timestamp": "20150930T005634", "id": "20150930T0056", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20150930T0056"},
51
+ {"timestamp": "20151014T220421", "id": "20151014T2204", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20151014T2204"},
52
+ {"timestamp": "20151028T005728", "id": "20151028T0057", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20151028T0057"},
53
+ {"timestamp": "20151125T041417", "id": "20151125T0414", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20151125T0414"},
54
+ {"timestamp": "20151202T032212", "id": "20151202T0322", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20151202T0322"},
55
+ {"timestamp": "20151209T030107", "id": "20151209T0301", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20151209T0301"},
56
+ {"timestamp": "20151216T025441", "id": "20151216T0254", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20151216T0254"},
57
+ {"timestamp": "20151223T030549", "id": "20151223T0305", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20151223T0305"},
58
+ {"timestamp": "20160106T030212", "id": "20160106T0302", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160106T0302"},
59
+ {"timestamp": "20160113T034640", "id": "20160113T0346", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160113T0346"},
60
+ {"timestamp": "20160120T041018", "id": "20160120T0410", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160120T0410"},
61
+ {"timestamp": "20160127T041326", "id": "20160127T0413", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160127T0413"},
62
+ {"timestamp": "20160203T014336", "id": "20160203T0143", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160203T0143"},
63
+ {"timestamp": "20160210T004738", "id": "20160210T0047", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160210T0047"},
64
+ {"timestamp": "20160217T004700", "id": "20160217T0047", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160217T0047"},
65
+ {"timestamp": "20160224T004708", "id": "20160224T0047", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160224T0047"},
66
+ {"timestamp": "20160302T004632", "id": "20160302T0046", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160302T0046"},
67
+ {"timestamp": "20160316T131459", "id": "20160316T1314", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160316T1314"},
68
+ {"timestamp": "20160330T010518", "id": "20160330T0105", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160330T0105"},
69
+ {"timestamp": "20160406T004438", "id": "20160406T0044", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160406T0044"},
70
+ {"timestamp": "20160413T003753", "id": "20160413T0037", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160413T0037"},
71
+ {"timestamp": "20160420T000407", "id": "20160420T0004", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160420T0004"},
72
+ {"timestamp": "20160427T111650", "id": "20160427T1116", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160427T1116"},
73
+ {"timestamp": "20160504T015848", "id": "20160504T0158", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160504T0158"},
74
+ {"timestamp": "20160511T003739", "id": "20160511T0037", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160511T0037"},
75
+ {"timestamp": "20160518T010002", "id": "20160518T0100", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160518T0100"},
76
+ {"timestamp": "20160525T001742", "id": "20160525T0017", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160525T0017"},
77
+ {"timestamp": "20160601T003659", "id": "20160601T0036", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160601T0036"},
78
+ {"timestamp": "20160608T184521", "id": "20160608T1845", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160608T1845"},
79
+ {"timestamp": "20160615T100506", "id": "20160615T1005", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160615T1005"},
80
+ {"timestamp": "20160622T000402", "id": "20160622T0004", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160622T0004"},
81
+ {"timestamp": "20160629T000334", "id": "20160629T0003", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160629T0003"},
82
+ {"timestamp": "20160706T000219", "id": "20160706T0002", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160706T0002"},
83
+ {"timestamp": "20160720T001305", "id": "20160720T0013", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160720T0013"},
84
+ {"timestamp": "20160727T151020", "id": "20160727T1510", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160727T1510"},
85
+ {"timestamp": "20160803T001345", "id": "20160803T0013", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160803T0013"},
86
+ {"timestamp": "20160810T001337", "id": "20160810T0013", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160810T0013"},
87
+ {"timestamp": "20160817T000540", "id": "20160817T0005", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160817T0005"},
88
+ {"timestamp": "20160824T001410", "id": "20160824T0014", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160824T0014"},
89
+ {"timestamp": "20160831T001405", "id": "20160831T0014", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160831T0014"},
90
+ {"timestamp": "20160907T001107", "id": "20160907T0011", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160907T0011"},
91
+ {"timestamp": "20160914T184132", "id": "20160914T1841", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160914T1841"},
92
+ {"timestamp": "20160921T183603", "id": "20160921T1836", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20160921T1836"},
93
+ {"timestamp": "20161012T000817", "id": "20161012T0008", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20161012T0008"},
94
+ {"timestamp": "20161019T001944", "id": "20161019T0019", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20161019T0019"},
95
+ {"timestamp": "20161026T001324", "id": "20161026T0013", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20161026T0013"},
96
+ {"timestamp": "20161102T001516", "id": "20161102T0015", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20161102T0015"},
97
+ {"timestamp": "20161108T231501", "id": "20161108T2315", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20161108T2315"},
98
+ {"timestamp": "20161116T001520", "id": "20161116T0015", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20161116T0015"},
99
+ {"timestamp": "20161123T001319", "id": "20161123T0013", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20161123T0013"},
100
+ {"timestamp": "20161130T001924", "id": "20161130T0019", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20161130T0019"},
101
+ {"timestamp": "20161214T001941", "id": "20161214T0019", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20161214T0019"},
102
+ {"timestamp": "20161221T001930", "id": "20161221T0019", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20161221T0019"},
103
+ {"timestamp": "20170125T001456", "id": "20170125T0014", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20170125T0014"},
104
+ {"timestamp": "20170215T001530", "id": "20170215T0015", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20170215T0015"},
105
+ {"timestamp": "20170222T001908", "id": "20170222T0019", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20170222T0019"},
106
+ {"timestamp": "20170301T001908", "id": "20170301T0019", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20170301T0019"},
107
+ {"timestamp": "20170315T201132", "id": "20170315T2011", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20170315T2011"},
108
+ {"timestamp": "20170322T190113", "id": "20170322T1901", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20170322T1901"},
109
+ {"timestamp": "20170329T191039", "id": "20170329T1910", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20170329T1910"},
110
+ {"timestamp": "20170405T185945", "id": "20170405T1859", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20170405T1859"},
111
+ {"timestamp": "20170412T191024", "id": "20170412T1910", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20170412T1910"},
112
+ {"timestamp": "20170419T191027", "id": "20170419T1910", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20170419T1910"},
113
+ {"timestamp": "20170426T191042", "id": "20170426T1910", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20170426T1910"},
114
+ {"timestamp": "20170503T001502", "id": "20170503T0015", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20170503T0015"},
115
+ {"timestamp": "20170510T001328", "id": "20170510T0013", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20170510T0013"},
116
+ {"timestamp": "20170517T001511", "id": "20170517T0015", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20170517T0015"},
117
+ {"timestamp": "20170524T001502", "id": "20170524T0015", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20170524T0015"},
118
+ {"timestamp": "20170531T001328", "id": "20170531T0013", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20170531T0013"},
119
+ {"timestamp": "20170607T001520", "id": "20170607T0015", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20170607T0015"},
120
+ {"timestamp": "20170614T001525", "id": "20170614T0015", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20170614T0015"},
121
+ {"timestamp": "20170621T001910", "id": "20170621T0019", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20170621T0019"},
122
+ {"timestamp": "20170628T001925", "id": "20170628T0019", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20170628T0019"},
123
+ {"timestamp": "20170705T001914", "id": "20170705T0019", "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20170705T0019"}],
124
+ "latest": {"timestamp": "20170705T001914", "id": "20170705T0019", "details_url":
125
+ "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20170705T0019"}},
126
+ "port": 22, "subprotocol": "banner", "id": "22-ssh-banner-full_ipv4", "name":
127
+ "22-ssh-banner-full_ipv4"}'
128
+ http_version:
129
+ recorded_at: Sun, 17 Dec 2017 23:06:45 GMT
130
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,454 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://www.censys.io/api/v1/data
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ Host:
17
+ - www.censys.io
18
+ Authorization:
19
+ - "<CENSORED>"
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Content-Type:
26
+ - application/json
27
+ Access-Control-Allow-Origin:
28
+ - "*"
29
+ Strict-Transport-Security:
30
+ - max-age=15768000; includeSubDomains; preload
31
+ X-Cloud-Trace-Context:
32
+ - b078497d92c2bcdb818e8c092dc764d4
33
+ Date:
34
+ - Sun, 17 Dec 2017 13:29:17 GMT
35
+ Server:
36
+ - Google Frontend
37
+ Content-Length:
38
+ - '35691'
39
+ body:
40
+ encoding: UTF-8
41
+ string: '{"primary_series": {"Alexa Top 1 Million Snapshots": {"description":
42
+ "This dataset contains the latest information we know about each domain the
43
+ Alexa Top 1 Million. Each record describes a single Alexa domain and matches
44
+ the data that is available in the Top Million Websites search index. All protocols
45
+ are updated daily.", "details_url": "https://www.censys.io/api/v1/data/domain",
46
+ "latest_result": {"timestamp": "20171217T000306", "name": "20171217T0003",
47
+ "details_url": "https://www.censys.io/api/v1/data/domain/20171217T0003"},
48
+ "id": "domain", "name": "Alexa Top 1 Million Snapshots"}, "IPv4 Snapshots":
49
+ {"description": "This dataset contains the latest information we know about
50
+ each public host in the IPv4 address space. Each record describes a single
51
+ host and matches the data that is available in the IPv4 search index. All
52
+ protocols are updated at least weekly.", "details_url": "https://www.censys.io/api/v1/data/ipv4",
53
+ "latest_result": {"timestamp": "20171216T063143", "name": "20171216T0631",
54
+ "details_url": "https://www.censys.io/api/v1/data/ipv4/20171216T0631"}, "id":
55
+ "ipv4", "name": "IPv4 Snapshots"}, "All X.509 Certificates": {"description":
56
+ "This datasets consists of the X.509 certificates we''ve seen in Censys. Each
57
+ record contains the raw certificate and parsed data (from ZGrab). Records
58
+ are identical to what is found in the certificate search index.", "details_url":
59
+ "https://www.censys.io/api/v1/data/certificates", "latest_result": {"timestamp":
60
+ "20171215T133617", "name": "20171215T1336", "details_url": "https://www.censys.io/api/v1/data/certificates/20171215T1336"},
61
+ "id": "certificates", "name": "All X.509 Certificates"}}, "raw_series": {"22-ssh-banner-full_ipv4":
62
+ {"port": 22, "subprotocol": "banner", "protocol": "ssh", "name": "22-ssh-banner-full_ipv4",
63
+ "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4",
64
+ "latest_result": {"timestamp": "20170705T001914", "name": "20170705T0019",
65
+ "details_url": "https://www.censys.io/api/v1/data/22-ssh-banner-full_ipv4/20170705T0019"},
66
+ "destination": "full_ipv4", "id": "22-ssh-banner-full_ipv4", "description":
67
+ "This dataset is composed of a ZMap TCP SYN scan on port 22 and a ZGrab SSH
68
+ Banner Grab\r\nfor the for responsive hosts. The connection is terminated
69
+ after a banner has been\r\nreceived. We do not currently capture SSH host
70
+ keys, but we are planning to add this\r\nfunctionality in the future."}, "25-smtp-starttls-alexa_top1mil":
71
+ {"port": 25, "subprotocol": "starttls", "protocol": "smtp", "name": "25-smtp-starttls-alexa_top1mil",
72
+ "details_url": "https://www.censys.io/api/v1/data/25-smtp-starttls-alexa_top1mil",
73
+ "latest_result": {"timestamp": "20171216T124315", "name": "20171216T1243",
74
+ "details_url": "https://www.censys.io/api/v1/data/25-smtp-starttls-alexa_top1mil/20171216T1243"},
75
+ "destination": "alexa_top1mil", "id": "25-smtp-starttls-alexa_top1mil", "description":
76
+ "This dataset is composed of the MX dns lookups for each domain on the Alexa
77
+ Top Million and an SMTP and StartTLS handshake with those servers. Data is
78
+ keyed by Alexa domain."}, "110-pop3-starttls-full_ipv4": {"port": 110, "subprotocol":
79
+ "starttls", "protocol": "pop3", "name": "110-pop3-starttls-full_ipv4", "details_url":
80
+ "https://www.censys.io/api/v1/data/110-pop3-starttls-full_ipv4", "latest_result":
81
+ {"timestamp": "20171217T001643", "name": "20171217T0016", "details_url": "https://www.censys.io/api/v1/data/110-pop3-starttls-full_ipv4/20171217T0016"},
82
+ "destination": "full_ipv4", "id": "110-pop3-starttls-full_ipv4", "description":
83
+ "This dataset is composed of a ZMap TCP SYN scan on port 110 against the public\r\nIPv4
84
+ address space and a POP3 banner grab, STARTTLS initiation, and normal TLS\r\nhandshake.
85
+ This is our priamry scan for finding POP3 servers and measuring STARTTLS\r\nadoption."},
86
+ "2323-telnet-banner-full_ipv4": {"port": 2323, "subprotocol": "banner", "protocol":
87
+ "telnet", "name": "2323-telnet-banner-full_ipv4", "details_url": "https://www.censys.io/api/v1/data/2323-telnet-banner-full_ipv4",
88
+ "latest_result": {"timestamp": "20171213T223111", "name": "20171213T2231",
89
+ "details_url": "https://www.censys.io/api/v1/data/2323-telnet-banner-full_ipv4/20171213T2231"},
90
+ "destination": "full_ipv4", "id": "2323-telnet-banner-full_ipv4", "description":
91
+ null}, "443-https-ssl_3-full_ipv4": {"port": 443, "subprotocol": "ssl_3",
92
+ "protocol": "https", "name": "443-https-ssl_3-full_ipv4", "details_url": "https://www.censys.io/api/v1/data/443-https-ssl_3-full_ipv4",
93
+ "latest_result": {"timestamp": "20171213T225405", "name": "20171213T2254",
94
+ "details_url": "https://www.censys.io/api/v1/data/443-https-ssl_3-full_ipv4/20171213T2254"},
95
+ "destination": "full_ipv4", "id": "443-https-ssl_3-full_ipv4", "description":
96
+ "This dataset is composed of a ZMap TCP SYN scan on port 443 against the public\r\nIPv4
97
+ address space and an SSLv3 handshake with responsive hosts."}, "443-https-heartbleed-full_ipv4":
98
+ {"port": 443, "subprotocol": "heartbleed", "protocol": "https", "name": "443-https-heartbleed-full_ipv4",
99
+ "details_url": "https://www.censys.io/api/v1/data/443-https-heartbleed-full_ipv4",
100
+ "latest_result": {"timestamp": "20171213T004144", "name": "20171213T0041",
101
+ "details_url": "https://www.censys.io/api/v1/data/443-https-heartbleed-full_ipv4/20171213T0041"},
102
+ "destination": "full_ipv4", "id": "443-https-heartbleed-full_ipv4", "description":
103
+ "This dataset is composed of TCP SYN scan on port 443 against the public\r\nIPv4
104
+ address space and a typical looking TLS handshake and safe check for whether
105
+ the host\r\nis vulnerable to the Heartbleed attack. Details on our Heartbleed
106
+ check can be found at \r\nhttps://jhalderm.com/pub/papers/heartbleed-imc14.pdf."},
107
+ "1911-fox-device_id-full_ipv4": {"port": 1911, "subprotocol": "device_id",
108
+ "protocol": "fox", "name": "1911-fox-device_id-full_ipv4", "details_url":
109
+ "https://www.censys.io/api/v1/data/1911-fox-device_id-full_ipv4", "latest_result":
110
+ {"timestamp": "20171211T120101", "name": "20171211T1201", "details_url": "https://www.censys.io/api/v1/data/1911-fox-device_id-full_ipv4/20171211T1201"},
111
+ "destination": "full_ipv4", "id": "1911-fox-device_id-full_ipv4", "description":
112
+ "This dataset is composed of a TCP SYN scan on port 1911 and then Niagara
113
+ Tridium Fox handshake."}, "443-https-dhe-full_ipv4": {"port": 443, "subprotocol":
114
+ "dhe", "protocol": "https", "name": "443-https-dhe-full_ipv4", "details_url":
115
+ "https://www.censys.io/api/v1/data/443-https-dhe-full_ipv4", "latest_result":
116
+ {"timestamp": "20171210T231706", "name": "20171210T2317", "details_url": "https://www.censys.io/api/v1/data/443-https-dhe-full_ipv4/20171210T2317"},
117
+ "destination": "full_ipv4", "id": "443-https-dhe-full_ipv4", "description":
118
+ "This dataset is composed of TCP SYN scan on port 443 against the public\r\nIPv4
119
+ address space and a TLS handshake that only offers Diffie-Hellman \r\ncipher
120
+ suites."}, "0-icmp-echo_request-full_ipv4": {"port": null, "subprotocol":
121
+ "echo_request", "protocol": "icmp", "name": "0-icmp-echo_request-full_ipv4",
122
+ "details_url": "https://www.censys.io/api/v1/data/0-icmp-echo_request-full_ipv4",
123
+ "latest_result": {"timestamp": "20171215T231608", "name": "20171215T2316",
124
+ "details_url": "https://www.censys.io/api/v1/data/0-icmp-echo_request-full_ipv4/20171215T2316"},
125
+ "destination": "full_ipv4", "id": "0-icmp-echo_request-full_ipv4", "description":
126
+ "Raw ZMap output from ICMP echo request scan of the public IPv4 address space.\r\n"},
127
+ "465-smtps-ssl_2-full_ipv4": {"port": 465, "subprotocol": "ssl_2", "protocol":
128
+ "smtps", "name": "465-smtps-ssl_2-full_ipv4", "details_url": "https://www.censys.io/api/v1/data/465-smtps-ssl_2-full_ipv4",
129
+ "latest_result": {"timestamp": "20160706T222426", "name": "20160706T2224",
130
+ "details_url": "https://www.censys.io/api/v1/data/465-smtps-ssl_2-full_ipv4/20160706T2224"},
131
+ "destination": "full_ipv4", "id": "465-smtps-ssl_2-full_ipv4", "description":
132
+ null}, "22-ssh-v2-full_ipv4": {"port": 22, "subprotocol": "v2", "protocol":
133
+ "ssh", "name": "22-ssh-v2-full_ipv4", "details_url": "https://www.censys.io/api/v1/data/22-ssh-v2-full_ipv4",
134
+ "latest_result": {"timestamp": "20171213T001607", "name": "20171213T0016",
135
+ "details_url": "https://www.censys.io/api/v1/data/22-ssh-v2-full_ipv4/20171213T0016"},
136
+ "destination": "full_ipv4", "id": "22-ssh-v2-full_ipv4", "description": null},
137
+ "20000-dnp3-status-full_ipv4": {"port": 20000, "subprotocol": "status", "protocol":
138
+ "dnp3", "name": "20000-dnp3-status-full_ipv4", "details_url": "https://www.censys.io/api/v1/data/20000-dnp3-status-full_ipv4",
139
+ "latest_result": {"timestamp": "20171216T133249", "name": "20171216T1332",
140
+ "details_url": "https://www.censys.io/api/v1/data/20000-dnp3-status-full_ipv4/20171216T1332"},
141
+ "destination": "full_ipv4", "id": "20000-dnp3-status-full_ipv4", "description":
142
+ "This dataset is composed of a DNP3 scan on port on port 20000 that detects
143
+ whether a device speaks the DNP3 protocol. "}, "102-s7-szl-full_ipv4": {"port":
144
+ 102, "subprotocol": "szl", "protocol": "s7", "name": "102-s7-szl-full_ipv4",
145
+ "details_url": "https://www.censys.io/api/v1/data/102-s7-szl-full_ipv4", "latest_result":
146
+ {"timestamp": "20171213T123907", "name": "20171213T1239", "details_url": "https://www.censys.io/api/v1/data/102-s7-szl-full_ipv4/20171213T1239"},
147
+ "destination": "full_ipv4", "id": "102-s7-szl-full_ipv4", "description": null},
148
+ "110-pop3-ssl_2-full_ipv4": {"port": 110, "subprotocol": "ssl_2", "protocol":
149
+ "pop3", "name": "110-pop3-ssl_2-full_ipv4", "details_url": "https://www.censys.io/api/v1/data/110-pop3-ssl_2-full_ipv4",
150
+ "latest_result": {"timestamp": "20160728T222721", "name": "20160728T2227",
151
+ "details_url": "https://www.censys.io/api/v1/data/110-pop3-ssl_2-full_ipv4/20160728T2227"},
152
+ "destination": "full_ipv4", "id": "110-pop3-ssl_2-full_ipv4", "description":
153
+ null}, "25-smtp-dhe_export-1%_sample_ipv4": {"port": 25, "subprotocol": "dhe_export",
154
+ "protocol": "smtp", "name": "25-smtp-dhe_export-1%_sample_ipv4", "details_url":
155
+ "https://www.censys.io/api/v1/data/25-smtp-dhe_export-1%_sample_ipv4", "latest_result":
156
+ {"timestamp": "20171216T141506", "name": "20171216T1415", "details_url": "https://www.censys.io/api/v1/data/25-smtp-dhe_export-1%_sample_ipv4/20171216T1415"},
157
+ "destination": "1%_sample_ipv4", "id": "25-smtp-dhe_export-1%_sample_ipv4",
158
+ "description": "This dataset is composed of a ZMap TCP SYN scan on port 25
159
+ against a random 1% sample\r\nof the IPv4 address space and an SMTP Banner
160
+ Grab, STARTTLS handshake, and a \r\nTLS handshake in which we only offer Export
161
+ Diffie-Hellman cipher suites.\r\nA different 1% random sample is generated
162
+ for each scan. This series can be used\r\nto track how well mail servers are
163
+ patching to protect against the Logjam attack."}, "25-smtp-ssl_2-full_ipv4":
164
+ {"port": 25, "subprotocol": "ssl_2", "protocol": "smtp", "name": "25-smtp-ssl_2-full_ipv4",
165
+ "details_url": "https://www.censys.io/api/v1/data/25-smtp-ssl_2-full_ipv4",
166
+ "latest_result": {"timestamp": "20160725T222738", "name": "20160725T2227",
167
+ "details_url": "https://www.censys.io/api/v1/data/25-smtp-ssl_2-full_ipv4/20160725T2227"},
168
+ "destination": "full_ipv4", "id": "25-smtp-ssl_2-full_ipv4", "description":
169
+ null}, "443-https-heartbleed-1%_sample_ipv4": {"port": 443, "subprotocol":
170
+ "heartbleed", "protocol": "https", "name": "443-https-heartbleed-1%_sample_ipv4",
171
+ "details_url": "https://www.censys.io/api/v1/data/443-https-heartbleed-1%_sample_ipv4",
172
+ "latest_result": {"timestamp": "20160127T041744", "name": "20160127T0417",
173
+ "details_url": "https://www.censys.io/api/v1/data/443-https-heartbleed-1%_sample_ipv4/20160127T0417"},
174
+ "destination": "1%_sample_ipv4", "id": "443-https-heartbleed-1%_sample_ipv4",
175
+ "description": "This dataset is composed of a ZMap TCP SYN scan on port 443
176
+ against a random 1% sample\r\nof the IPv4 address space a TLS handshake and
177
+ safe check for whether the host\r\nis vulnerable to the Heartbleed attack.
178
+ Details on our Heartbleed check can be found at \r\nhttps://jhalderm.com/pub/papers/heartbleed-imc14.pdf.
179
+ "}, "80-http-get-full_ipv4": {"port": 80, "subprotocol": "get", "protocol":
180
+ "http", "name": "80-http-get-full_ipv4", "details_url": "https://www.censys.io/api/v1/data/80-http-get-full_ipv4",
181
+ "latest_result": {"timestamp": "20171214T081504", "name": "20171214T0815",
182
+ "details_url": "https://www.censys.io/api/v1/data/80-http-get-full_ipv4/20171214T0815"},
183
+ "destination": "full_ipv4", "id": "80-http-get-full_ipv4", "description":
184
+ "This dataset is composed of a ZMap TCP SYN scan on port 80 against the public\r\nIPv4
185
+ address space and a GET / HTTP request for the root page (e.g., http://google.com).\r\nNote:
186
+ this scan does not currently follow HTTP redirects. However, we plan to add
187
+ this \r\nfunctionality moving forward. The ZGrab output includes any HTTP
188
+ headers and the first\r\n64 kb of the HTTP page."}, "993-imaps-ssl_2-full_ipv4":
189
+ {"port": 993, "subprotocol": "ssl_2", "protocol": "imaps", "name": "993-imaps-ssl_2-full_ipv4",
190
+ "details_url": "https://www.censys.io/api/v1/data/993-imaps-ssl_2-full_ipv4",
191
+ "latest_result": {"timestamp": "20160728T222714", "name": "20160728T2227",
192
+ "details_url": "https://www.censys.io/api/v1/data/993-imaps-ssl_2-full_ipv4/20160728T2227"},
193
+ "destination": "full_ipv4", "id": "993-imaps-ssl_2-full_ipv4", "description":
194
+ null}, "995-pop3s-rsa_export-full_ipv4": {"port": 995, "subprotocol": "rsa_export",
195
+ "protocol": "pop3s", "name": "995-pop3s-rsa_export-full_ipv4", "details_url":
196
+ "https://www.censys.io/api/v1/data/995-pop3s-rsa_export-full_ipv4", "latest_result":
197
+ {"timestamp": "20160426T150810", "name": "20160426T1508", "details_url": "https://www.censys.io/api/v1/data/995-pop3s-rsa_export-full_ipv4/20160426T1508"},
198
+ "destination": "full_ipv4", "id": "995-pop3s-rsa_export-full_ipv4", "description":
199
+ "This dataset is composed of a ZMap TCP SYN scan on port 995 against the public\r\nIPv4
200
+ address space and TLS handshake with responsive hosts that only offer\r\nexport-grade
201
+ RSA ciphers."}, "1900-upnp-discovery-full_ipv4": {"port": 1900, "subprotocol":
202
+ "discovery", "protocol": "upnp", "name": "1900-upnp-discovery-full_ipv4",
203
+ "details_url": "https://www.censys.io/api/v1/data/1900-upnp-discovery-full_ipv4",
204
+ "latest_result": {"timestamp": "20171211T020656", "name": "20171211T0206",
205
+ "details_url": "https://www.censys.io/api/v1/data/1900-upnp-discovery-full_ipv4/20171211T0206"},
206
+ "destination": "full ipv4", "id": "1900-upnp-discovery-full_ipv4", "description":
207
+ null}, "993-imaps-dhe_export-full_ipv4": {"port": 993, "subprotocol": "dhe_export",
208
+ "protocol": "imaps", "name": "993-imaps-dhe_export-full_ipv4", "details_url":
209
+ "https://www.censys.io/api/v1/data/993-imaps-dhe_export-full_ipv4", "latest_result":
210
+ {"timestamp": "20171217T041452", "name": "20171217T0414", "details_url": "https://www.censys.io/api/v1/data/993-imaps-dhe_export-full_ipv4/20171217T0414"},
211
+ "destination": "full_ipv4", "id": "993-imaps-dhe_export-full_ipv4", "description":
212
+ "This dataset is composed of a ZMap TCP SYN scan on port 993 against the public\r\nIPv4
213
+ address space and TLS handshake with responsive hosts in which we only\r\noffer
214
+ Diffie-Hellman export cipher suites."}, "443-https-dhe_export-alexa_top1mil":
215
+ {"port": 443, "subprotocol": "dhe_export", "protocol": "https", "name": "443-https-dhe_export-alexa_top1mil",
216
+ "details_url": "https://www.censys.io/api/v1/data/443-https-dhe_export-alexa_top1mil",
217
+ "latest_result": {"timestamp": "20171216T110837", "name": "20171216T1108",
218
+ "details_url": "https://www.censys.io/api/v1/data/443-https-dhe_export-alexa_top1mil/20171216T1108"},
219
+ "destination": "alexa_top1mil", "id": "443-https-dhe_export-alexa_top1mil",
220
+ "description": "This dataset is composed of the DNS lookups for each domain
221
+ on the Alexa Top\r\nMillion and a TLS handshake with responsive hosts that
222
+ only offers export-grade Diffie-Hellman \r\ncipher suites."}, "25-smtp-rsa_export-full_ipv4":
223
+ {"port": 25, "subprotocol": "rsa_export", "protocol": "smtp", "name": "25-smtp-rsa_export-full_ipv4",
224
+ "details_url": "https://www.censys.io/api/v1/data/25-smtp-rsa_export-full_ipv4",
225
+ "latest_result": {"timestamp": "20160425T130732", "name": "20160425T1307",
226
+ "details_url": "https://www.censys.io/api/v1/data/25-smtp-rsa_export-full_ipv4/20160425T1307"},
227
+ "destination": "full_ipv4", "id": "25-smtp-rsa_export-full_ipv4", "description":
228
+ "This dataset is composed of a ZMap TCP SYN scan on port 25 against the public\r\nIPv4
229
+ address space and an SMTP Banner Grab, STARTTLS handshake, and complete\r\nTLS
230
+ handshake in which we only offer RSA Export cipher suites. This scan measures\r\nwhether
231
+ mail servers are vulneable to the FREAK attack."}, "80-http-open_proxy-full_ipv4":
232
+ {"port": 80, "subprotocol": "open_proxy", "protocol": "http", "name": "80-http-open_proxy-full_ipv4",
233
+ "details_url": "https://www.censys.io/api/v1/data/80-http-open_proxy-full_ipv4",
234
+ "latest_result": {"timestamp": "20160108T005110", "name": "20160108T0051",
235
+ "details_url": "https://www.censys.io/api/v1/data/80-http-open_proxy-full_ipv4/20160108T0051"},
236
+ "destination": "full_ipv4", "id": "80-http-open_proxy-full_ipv4", "description":
237
+ "This dataset is composed of a ZMap TCP SYN scan on port 80 against the public\r\nIPv4
238
+ address space and a HTTP CONNECT to a test service and GET / of our test site."},
239
+ "80-http-get-alexa_top1mil": {"port": 80, "subprotocol": "get", "protocol":
240
+ "http", "name": "80-http-get-alexa_top1mil", "details_url": "https://www.censys.io/api/v1/data/80-http-get-alexa_top1mil",
241
+ "latest_result": {"timestamp": "20171216T131604", "name": "20171216T1316",
242
+ "details_url": "https://www.censys.io/api/v1/data/80-http-get-alexa_top1mil/20171216T1316"},
243
+ "destination": "alexa_top1mil", "id": "80-http-get-alexa_top1mil", "description":
244
+ "This dataset is composed of the DNS lookups for each domain on the Alexa
245
+ Top\r\nMillion and a ZGrab GET / HTTP request for the root page (e.g., http://google.com).\r\nNote:
246
+ this scan does not currently follow HTTP redirects. However, we plan to add
247
+ this \r\nfunctionality moving forward. The ZGrab output includes any HTTP
248
+ headers and the first\r\n64 kb of the HTTP page."}, "143-imap-ssl_2-full_ipv4":
249
+ {"port": 143, "subprotocol": "ssl_2", "protocol": "imap", "name": "143-imap-ssl_2-full_ipv4",
250
+ "details_url": "https://www.censys.io/api/v1/data/143-imap-ssl_2-full_ipv4",
251
+ "latest_result": {"timestamp": "20160725T222739", "name": "20160725T2227",
252
+ "details_url": "https://www.censys.io/api/v1/data/143-imap-ssl_2-full_ipv4/20160725T2227"},
253
+ "destination": "full_ipv4", "id": "143-imap-ssl_2-full_ipv4", "description":
254
+ null}, "443-https-ssl_2-full_ipv4": {"port": 443, "subprotocol": "ssl_2",
255
+ "protocol": "https", "name": "443-https-ssl_2-full_ipv4", "details_url": "https://www.censys.io/api/v1/data/443-https-ssl_2-full_ipv4",
256
+ "latest_result": {"timestamp": "20160723T224229", "name": "20160723T2242",
257
+ "details_url": "https://www.censys.io/api/v1/data/443-https-ssl_2-full_ipv4/20160723T2242"},
258
+ "destination": "full_ipv4", "id": "443-https-ssl_2-full_ipv4", "description":
259
+ null}, "993-imaps-rsa_export-full_ipv4": {"port": 993, "subprotocol": "rsa_export",
260
+ "protocol": "imaps", "name": "993-imaps-rsa_export-full_ipv4", "details_url":
261
+ "https://www.censys.io/api/v1/data/993-imaps-rsa_export-full_ipv4", "latest_result":
262
+ {"timestamp": "20160425T133521", "name": "20160425T1335", "details_url": "https://www.censys.io/api/v1/data/993-imaps-rsa_export-full_ipv4/20160425T1335"},
263
+ "destination": "full_ipv4", "id": "993-imaps-rsa_export-full_ipv4", "description":
264
+ "This dataset is composed of a ZMap TCP SYN scan on port 993 against the public\r\nIPv4
265
+ address space and TLS handshake with responsive hosts that only offer\r\nexport-grade
266
+ RSA ciphers."}, "443-https-heartbleed-alexa_top1mil": {"port": 443, "subprotocol":
267
+ "heartbleed", "protocol": "https", "name": "443-https-heartbleed-alexa_top1mil",
268
+ "details_url": "https://www.censys.io/api/v1/data/443-https-heartbleed-alexa_top1mil",
269
+ "latest_result": {"timestamp": "20171216T141542", "name": "20171216T1415",
270
+ "details_url": "https://www.censys.io/api/v1/data/443-https-heartbleed-alexa_top1mil/20171216T1415"},
271
+ "destination": "alexa_top1mil", "id": "443-https-heartbleed-alexa_top1mil",
272
+ "description": "This dataset is composed of the DNS lookups for each domain
273
+ on the Alexa Top\r\nMillion and a safe check for whether the host\r\nis vulnerable
274
+ to the Heartbleed attack. Details on our Heartbleed check can be found at\r\nhttps://jhalderm.com/pub/papers/heartbleed-imc14.pdf."},
275
+ "443-https-rsa_export-alexa_top1mil": {"port": 443, "subprotocol": "rsa_export",
276
+ "protocol": "https", "name": "443-https-rsa_export-alexa_top1mil", "details_url":
277
+ "https://www.censys.io/api/v1/data/443-https-rsa_export-alexa_top1mil", "latest_result":
278
+ {"timestamp": "20171216T140827", "name": "20171216T1408", "details_url": "https://www.censys.io/api/v1/data/443-https-rsa_export-alexa_top1mil/20171216T1408"},
279
+ "destination": "alexa_top1mil", "id": "443-https-rsa_export-alexa_top1mil",
280
+ "description": "This dataset is composed of the DNS lookups for each domain
281
+ on the Alexa Top\r\nMillion and a TLS handshake with responsive hosts that
282
+ only offers\r\nexport-grade RSA ciphers."}, "443-https-tls-full_ipv4": {"port":
283
+ 443, "subprotocol": "tls", "protocol": "https", "name": "443-https-tls-full_ipv4",
284
+ "details_url": "https://www.censys.io/api/v1/data/443-https-tls-full_ipv4",
285
+ "latest_result": {"timestamp": "20171215T100527", "name": "20171215T1005",
286
+ "details_url": "https://www.censys.io/api/v1/data/443-https-tls-full_ipv4/20171215T1005"},
287
+ "destination": "full_ipv4", "id": "443-https-tls-full_ipv4", "description":
288
+ "This dataset is composed of TCP SYN scan on port 443 against the public\r\nIPv4
289
+ address space and a typical looking TLS handshake that offers Chrome cipher
290
+ suites.\r\nThis is our primary scan finding HTTPS sites."}, "47808-bacnet-device_id-full_ipv4":
291
+ {"port": 47808, "subprotocol": "device_id", "protocol": "bacnet", "name":
292
+ "47808-bacnet-device_id-full_ipv4", "details_url": "https://www.censys.io/api/v1/data/47808-bacnet-device_id-full_ipv4",
293
+ "latest_result": {"timestamp": "20171215T120056", "name": "20171215T1200",
294
+ "details_url": "https://www.censys.io/api/v1/data/47808-bacnet-device_id-full_ipv4/20171215T1200"},
295
+ "destination": "full_ipv4", "id": "47808-bacnet-device_id-full_ipv4", "description":
296
+ "This dataset is composed of a BACNET UDP scan on port on port 47808 and then
297
+ queries for additional information."}, "143-imap-starttls-full_ipv4": {"port":
298
+ 143, "subprotocol": "starttls", "protocol": "imap", "name": "143-imap-starttls-full_ipv4",
299
+ "details_url": "https://www.censys.io/api/v1/data/143-imap-starttls-full_ipv4",
300
+ "latest_result": {"timestamp": "20171210T224754", "name": "20171210T2247",
301
+ "details_url": "https://www.censys.io/api/v1/data/143-imap-starttls-full_ipv4/20171210T2247"},
302
+ "destination": "full_ipv4", "id": "143-imap-starttls-full_ipv4", "description":
303
+ "This dataset is composed of a ZMap TCP SYN scan on port 143 against the public\r\nIPv4
304
+ address space and a POP3 banner grab, STARTTLS initiation, and normal TLS\r\nhandshake."},
305
+ "53-dns-lookup-full_ipv4": {"port": 53, "subprotocol": "lookup", "protocol":
306
+ "dns", "name": "53-dns-lookup-full_ipv4", "details_url": "https://www.censys.io/api/v1/data/53-dns-lookup-full_ipv4",
307
+ "latest_result": {"timestamp": "20171214T230425", "name": "20171214T2304",
308
+ "details_url": "https://www.censys.io/api/v1/data/53-dns-lookup-full_ipv4/20171214T2304"},
309
+ "destination": "full_ipv4", "id": "53-dns-lookup-full_ipv4", "description":
310
+ null}, "465-smtps-tls-full_ipv4": {"port": 465, "subprotocol": "tls", "protocol":
311
+ "smtps", "name": "465-smtps-tls-full_ipv4", "details_url": "https://www.censys.io/api/v1/data/465-smtps-tls-full_ipv4",
312
+ "latest_result": {"timestamp": "20171212T225232", "name": "20171212T2252",
313
+ "details_url": "https://www.censys.io/api/v1/data/465-smtps-tls-full_ipv4/20171212T2252"},
314
+ "destination": "full_ipv4", "id": "465-smtps-tls-full_ipv4", "description":
315
+ null}, "443-https_www-tls-alexa_top1mil": {"port": 443, "subprotocol": "tls",
316
+ "protocol": "https_www", "name": "443-https_www-tls-alexa_top1mil", "details_url":
317
+ "https://www.censys.io/api/v1/data/443-https_www-tls-alexa_top1mil", "latest_result":
318
+ {"timestamp": "20171216T113140", "name": "20171216T1131", "details_url": "https://www.censys.io/api/v1/data/443-https_www-tls-alexa_top1mil/20171216T1131"},
319
+ "destination": "alexa_top1mil", "id": "443-https_www-tls-alexa_top1mil", "description":
320
+ null}, "993-imaps-tls-full_ipv4": {"port": 993, "subprotocol": "tls", "protocol":
321
+ "imaps", "name": "993-imaps-tls-full_ipv4", "details_url": "https://www.censys.io/api/v1/data/993-imaps-tls-full_ipv4",
322
+ "latest_result": {"timestamp": "20171214T001814", "name": "20171214T0018",
323
+ "details_url": "https://www.censys.io/api/v1/data/993-imaps-tls-full_ipv4/20171214T0018"},
324
+ "destination": "full_ipv4", "id": "993-imaps-tls-full_ipv4", "description":
325
+ "This dataset is composed of a ZMap TCP SYN scan on port 993 against the public\r\nIPv4
326
+ address space and a TLS handshake and IMAP banner grab with responsive hosts.\r\nThis
327
+ is our primary scan for measuring IMAPS deployment."}, "25-smtp-starttls-full_ipv4":
328
+ {"port": 25, "subprotocol": "starttls", "protocol": "smtp", "name": "25-smtp-starttls-full_ipv4",
329
+ "details_url": "https://www.censys.io/api/v1/data/25-smtp-starttls-full_ipv4",
330
+ "latest_result": {"timestamp": "20171217T001304", "name": "20171217T0013",
331
+ "details_url": "https://www.censys.io/api/v1/data/25-smtp-starttls-full_ipv4/20171217T0013"},
332
+ "destination": "full_ipv4", "id": "25-smtp-starttls-full_ipv4", "description":
333
+ "This dataset is composed of a ZMap TCP SYN scan on port 25 against the public\r\nIPv4
334
+ address space and an SMTP Banner Grab, STARTTLS handshake, and complete\r\nTLS
335
+ handshake. This scan is our primary approach for finding SMTP servers\r\nand
336
+ measuring the adoption of STARTTLS."}, "21-ftp-banner-full_ipv4": {"port":
337
+ 21, "subprotocol": "banner", "protocol": "ftp", "name": "21-ftp-banner-full_ipv4",
338
+ "details_url": "https://www.censys.io/api/v1/data/21-ftp-banner-full_ipv4",
339
+ "latest_result": {"timestamp": "20171211T223147", "name": "20171211T2231",
340
+ "details_url": "https://www.censys.io/api/v1/data/21-ftp-banner-full_ipv4/20171211T2231"},
341
+ "destination": "full_ipv4", "id": "21-ftp-banner-full_ipv4", "description":
342
+ "This dataset is composed of a ZMap TCP SYN scan of the IPv4 address space\r\non
343
+ port 21 and a ZGrab FTP Banner Grab for the for responsive hosts.\r\nThe connection
344
+ is terminated after a banner has been received."}, "443-https-dhe_export-1%_sample_ipv4":
345
+ {"port": 443, "subprotocol": "dhe_export", "protocol": "https", "name": "443-https-dhe_export-1%_sample_ipv4",
346
+ "details_url": "https://www.censys.io/api/v1/data/443-https-dhe_export-1%_sample_ipv4",
347
+ "latest_result": {"timestamp": "20171217T041458", "name": "20171217T0414",
348
+ "details_url": "https://www.censys.io/api/v1/data/443-https-dhe_export-1%_sample_ipv4/20171217T0414"},
349
+ "destination": "1%_sample_ipv4", "id": "443-https-dhe_export-1%_sample_ipv4",
350
+ "description": "This dataset is composed of a ZMap TCP SYN scan on port 443
351
+ against a random 1% sample\r\nof the IPv4 address space and a TLS handshake
352
+ with responsive hosts that\r\nonly offers export-grade Diffie-Hellman cipher
353
+ suites."}, "443-https-rsa_export-1%_sample_ipv4": {"port": 443, "subprotocol":
354
+ "rsa_export", "protocol": "https", "name": "443-https-rsa_export-1%_sample_ipv4",
355
+ "details_url": "https://www.censys.io/api/v1/data/443-https-rsa_export-1%_sample_ipv4",
356
+ "latest_result": {"timestamp": "20171217T041459", "name": "20171217T0414",
357
+ "details_url": "https://www.censys.io/api/v1/data/443-https-rsa_export-1%_sample_ipv4/20171217T0414"},
358
+ "destination": "1%_sample_ipv4", "id": "443-https-rsa_export-1%_sample_ipv4",
359
+ "description": "This dataset is composed of a ZMap TCP SYN scan on port 443
360
+ against a random 1% sample\r\nof the IPv4 address space and a TLS handshake
361
+ with responsive hosts that only offers\r\nexport-grade RSA ciphers."}, "502-modbus-device_id-full_ipv4":
362
+ {"port": 502, "subprotocol": "device_id", "protocol": "modbus", "name": "502-modbus-device_id-full_ipv4",
363
+ "details_url": "https://www.censys.io/api/v1/data/502-modbus-device_id-full_ipv4",
364
+ "latest_result": {"timestamp": "20171217T080113", "name": "20171217T0801",
365
+ "details_url": "https://www.censys.io/api/v1/data/502-modbus-device_id-full_ipv4/20171217T0801"},
366
+ "destination": "full_ipv4", "id": "502-modbus-device_id-full_ipv4", "description":
367
+ "This dataset is composed of a ZMap TCP SYN scan on port 502 against the public\r\nIPv4
368
+ address space and a modbus MEI DEVICE ID query with responsive hosts."}, "445-smb-banner-full_ipv4":
369
+ {"port": 445, "subprotocol": "banner", "protocol": "smb", "name": "445-smb-banner-full_ipv4",
370
+ "details_url": "https://www.censys.io/api/v1/data/445-smb-banner-full_ipv4",
371
+ "latest_result": {"timestamp": "20171213T210120", "name": "20171213T2101",
372
+ "details_url": "https://www.censys.io/api/v1/data/445-smb-banner-full_ipv4/20171213T2101"},
373
+ "destination": "full_ipv4", "id": "445-smb-banner-full_ipv4", "description":
374
+ null}, "995-pop3s-tls-full_ipv4": {"port": 995, "subprotocol": "tls", "protocol":
375
+ "pop3s", "name": "995-pop3s-tls-full_ipv4", "details_url": "https://www.censys.io/api/v1/data/995-pop3s-tls-full_ipv4",
376
+ "latest_result": {"timestamp": "20171216T001637", "name": "20171216T0016",
377
+ "details_url": "https://www.censys.io/api/v1/data/995-pop3s-tls-full_ipv4/20171216T0016"},
378
+ "destination": "full_ipv4", "id": "995-pop3s-tls-full_ipv4", "description":
379
+ "This dataset is composed of a ZMap TCP SYN scan on port 995 against the public\r\nIPv4
380
+ address space and a TLS handshake and POP3 banner grab.\r\nThis is our primary
381
+ scan for measuring POP3S deployment."}, "443-https-rsa_export-full_ipv4":
382
+ {"port": 443, "subprotocol": "rsa_export", "protocol": "https", "name": "443-https-rsa_export-full_ipv4",
383
+ "details_url": "https://www.censys.io/api/v1/data/443-https-rsa_export-full_ipv4",
384
+ "latest_result": {"timestamp": "20171214T223729", "name": "20171214T2237",
385
+ "details_url": "https://www.censys.io/api/v1/data/443-https-rsa_export-full_ipv4/20171214T2237"},
386
+ "destination": "full_ipv4", "id": "443-https-rsa_export-full_ipv4", "description":
387
+ "This dataset is composed of a ZMap TCP SYN scan on port 80 against the public\r\nIPv4
388
+ address space and TLS handshake with responsive hosts that only offers\r\nexport-grade
389
+ RSA ciphers."}, "443-https-ssl_3-alexa_top1mil": {"port": 443, "subprotocol":
390
+ "ssl_3", "protocol": "https", "name": "443-https-ssl_3-alexa_top1mil", "details_url":
391
+ "https://www.censys.io/api/v1/data/443-https-ssl_3-alexa_top1mil", "latest_result":
392
+ {"timestamp": "20171216T150904", "name": "20171216T1509", "details_url": "https://www.censys.io/api/v1/data/443-https-ssl_3-alexa_top1mil/20171216T1509"},
393
+ "destination": "alexa_top1mil", "id": "443-https-ssl_3-alexa_top1mil", "description":
394
+ "This dataset is composed of the DNS lookups for each domain on the Alexa
395
+ Top\r\nMillion and an SSLv3 handshake with responsive hosts."}, "80-http_www-get-alexa_top1mil":
396
+ {"port": 80, "subprotocol": "get", "protocol": "http_www", "name": "80-http_www-get-alexa_top1mil",
397
+ "details_url": "https://www.censys.io/api/v1/data/80-http_www-get-alexa_top1mil",
398
+ "latest_result": {"timestamp": "20171216T160533", "name": "20171216T1605",
399
+ "details_url": "https://www.censys.io/api/v1/data/80-http_www-get-alexa_top1mil/20171216T1605"},
400
+ "destination": "alexa_top1mil", "id": "80-http_www-get-alexa_top1mil", "description":
401
+ null}, "443-https-dhe_export-full_ipv4": {"port": 443, "subprotocol": "dhe_export",
402
+ "protocol": "https", "name": "443-https-dhe_export-full_ipv4", "details_url":
403
+ "https://www.censys.io/api/v1/data/443-https-dhe_export-full_ipv4", "latest_result":
404
+ {"timestamp": "20171214T223715", "name": "20171214T2237", "details_url": "https://www.censys.io/api/v1/data/443-https-dhe_export-full_ipv4/20171214T2237"},
405
+ "destination": "full_ipv4", "id": "443-https-dhe_export-full_ipv4", "description":
406
+ "This dataset is composed of TCP SYN scan on port 443 against the public\r\nIPv4
407
+ address space and a TLS handshake with responsive hosts that only offers export-grade
408
+ Diffie-Hellman \r\ncipher suites."}, "443-https-dhe-alexa_top1mil": {"port":
409
+ 443, "subprotocol": "dhe", "protocol": "https", "name": "443-https-dhe-alexa_top1mil",
410
+ "details_url": "https://www.censys.io/api/v1/data/443-https-dhe-alexa_top1mil",
411
+ "latest_result": {"timestamp": "20171216T123943", "name": "20171216T1239",
412
+ "details_url": "https://www.censys.io/api/v1/data/443-https-dhe-alexa_top1mil/20171216T1239"},
413
+ "destination": "alexa_top1mil", "id": "443-https-dhe-alexa_top1mil", "description":
414
+ "This dataset is composed of the DNS lookups for each domain on the Alexa
415
+ Top\r\nMillion and a TLS handshake (on port 443) that only offers Diffie-Hellman
416
+ cipher suites."}, "23-telnet-banner-full_ipv4": {"port": 23, "subprotocol":
417
+ "banner", "protocol": "telnet", "name": "23-telnet-banner-full_ipv4", "details_url":
418
+ "https://www.censys.io/api/v1/data/23-telnet-banner-full_ipv4", "latest_result":
419
+ {"timestamp": "20171213T000150", "name": "20171213T0001", "details_url": "https://www.censys.io/api/v1/data/23-telnet-banner-full_ipv4/20171213T0001"},
420
+ "destination": "full_ipv4", "id": "23-telnet-banner-full_ipv4", "description":
421
+ null}, "8080-http-get-full_ipv4": {"port": 8080, "subprotocol": "get", "protocol":
422
+ "http", "name": "8080-http-get-full_ipv4", "details_url": "https://www.censys.io/api/v1/data/8080-http-get-full_ipv4",
423
+ "latest_result": {"timestamp": "20171215T225328", "name": "20171215T2253",
424
+ "details_url": "https://www.censys.io/api/v1/data/8080-http-get-full_ipv4/20171215T2253"},
425
+ "destination": "full_ipv4", "id": "8080-http-get-full_ipv4", "description":
426
+ null}, "443-https-tls-alexa_top1mil": {"port": 443, "subprotocol": "tls",
427
+ "protocol": "https", "name": "443-https-tls-alexa_top1mil", "details_url":
428
+ "https://www.censys.io/api/v1/data/443-https-tls-alexa_top1mil", "latest_result":
429
+ {"timestamp": "20171216T103132", "name": "20171216T1031", "details_url": "https://www.censys.io/api/v1/data/443-https-tls-alexa_top1mil/20171216T1031"},
430
+ "destination": "alexa_top1mil", "id": "443-https-tls-alexa_top1mil", "description":
431
+ "This dataset is composed of the DNS lookups for each domain on the Alexa
432
+ Top\r\nMillion and a typical looking TLS handshake that offers Chrome cipher
433
+ suites.\r\nThis is our primary scan for determining whether a website supports
434
+ HTTPS."}, "995-pop3s-ssl_2-full_ipv4": {"port": 995, "subprotocol": "ssl_2",
435
+ "protocol": "pop3s", "name": "995-pop3s-ssl_2-full_ipv4", "details_url": "https://www.censys.io/api/v1/data/995-pop3s-ssl_2-full_ipv4",
436
+ "latest_result": {"timestamp": "20160727T144541", "name": "20160727T1445",
437
+ "details_url": "https://www.censys.io/api/v1/data/995-pop3s-ssl_2-full_ipv4/20160727T1445"},
438
+ "destination": "full_ipv4", "id": "995-pop3s-ssl_2-full_ipv4", "description":
439
+ null}, "7547-cwmp-get-full_ipv4": {"port": 7547, "subprotocol": "get", "protocol":
440
+ "cwmp", "name": "7547-cwmp-get-full_ipv4", "details_url": "https://www.censys.io/api/v1/data/7547-cwmp-get-full_ipv4",
441
+ "latest_result": {"timestamp": "20171213T223618", "name": "20171213T2236",
442
+ "details_url": "https://www.censys.io/api/v1/data/7547-cwmp-get-full_ipv4/20171213T2236"},
443
+ "destination": "full_ipv4", "id": "7547-cwmp-get-full_ipv4", "description":
444
+ "This dataset is composed of a ZMap TCP SYN scan on port 7457 against the
445
+ public\r\nIPv4 address space and CPE WAN Management Protocol (CWMP) GET /."},
446
+ "8888-http-get-full_ipv4": {"port": 8888, "subprotocol": "get", "protocol":
447
+ "http", "name": "8888-http-get-full_ipv4", "details_url": "https://www.censys.io/api/v1/data/8888-http-get-full_ipv4",
448
+ "latest_result": {"timestamp": "20171210T223213", "name": "20171210T2232",
449
+ "details_url": "https://www.censys.io/api/v1/data/8888-http-get-full_ipv4/20171210T2232"},
450
+ "destination": "full_ipv4", "id": "8888-http-get-full_ipv4", "description":
451
+ null}}}'
452
+ http_version:
453
+ recorded_at: Sun, 17 Dec 2017 13:29:17 GMT
454
+ recorded_with: VCR 4.0.0
@@ -16,6 +16,7 @@ describe Censys::API do
16
16
  expect(view.location).to be_a(Location)
17
17
  expect(view.ports).to be_a(Hash)
18
18
  expect(view.protocols).to be_a(Array)
19
+ expect(view["location.city"]).to eq("Mountain View")
19
20
  expect(view.dig("location", "city")).to eq("Mountain View")
20
21
 
21
22
  expect(view.ip).to eq("8.8.8.8")
@@ -32,6 +33,8 @@ describe Censys::API do
32
33
  expect(view.to_s).to eq("google.com")
33
34
  expect(view.alexa_rank).to be_a(Integer)
34
35
 
36
+ expect(view["80.http.get.body"]).to be_a(String)
37
+
35
38
  expect(view.http_response).to be_a(Censys::HTTPResponse)
36
39
  expect(view.http_response.body).to be_a(String)
37
40
  expect(view.http_response.header).to be_a(Hash)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: censu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Manabu Niseki
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-17 00:00:00.000000000 Z
11
+ date: 2018-01-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -146,6 +146,11 @@ files:
146
146
  - lib/censys/api.rb
147
147
  - lib/censys/autonomous_system.rb
148
148
  - lib/censys/certificate.rb
149
+ - lib/censys/data.rb
150
+ - lib/censys/data/response.rb
151
+ - lib/censys/data/result.rb
152
+ - lib/censys/data/series.rb
153
+ - lib/censys/data/series_list.rb
149
154
  - lib/censys/document.rb
150
155
  - lib/censys/document/has_asn.rb
151
156
  - lib/censys/document/has_http_response.rb
@@ -168,6 +173,10 @@ files:
168
173
  - lib/censys/version.rb
169
174
  - lib/censys/website.rb
170
175
  - spec/censys_spec.rb
176
+ - spec/data_spec.rb
177
+ - spec/fixtures/vcr_cassettes/Censys_API/_data/result/should_return_Result_response.yml
178
+ - spec/fixtures/vcr_cassettes/Censys_API/_data/series/should_return_Series_response.yml
179
+ - spec/fixtures/vcr_cassettes/Censys_API/_data/series_list/should_return_SeriesList_response.yml
171
180
  - spec/fixtures/vcr_cassettes/Censys_API/_report/certificates/should_return_certificate_response.yml
172
181
  - spec/fixtures/vcr_cassettes/Censys_API/_report/ipv4/should_return_ipv4_response.yml
173
182
  - spec/fixtures/vcr_cassettes/Censys_API/_report/websites/should_return_website_response.yml
@@ -207,6 +216,10 @@ specification_version: 4
207
216
  summary: API client for censys.io
208
217
  test_files:
209
218
  - spec/censys_spec.rb
219
+ - spec/data_spec.rb
220
+ - spec/fixtures/vcr_cassettes/Censys_API/_data/result/should_return_Result_response.yml
221
+ - spec/fixtures/vcr_cassettes/Censys_API/_data/series/should_return_Series_response.yml
222
+ - spec/fixtures/vcr_cassettes/Censys_API/_data/series_list/should_return_SeriesList_response.yml
210
223
  - spec/fixtures/vcr_cassettes/Censys_API/_report/certificates/should_return_certificate_response.yml
211
224
  - spec/fixtures/vcr_cassettes/Censys_API/_report/ipv4/should_return_ipv4_response.yml
212
225
  - spec/fixtures/vcr_cassettes/Censys_API/_report/websites/should_return_website_response.yml