dap 1.2.1 → 1.2.2

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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +60 -17
  3. data/dap.gemspec +1 -2
  4. data/lib/dap/version.rb +1 -1
  5. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 33fc1d8d4709faafb17e9f73e554a707351ded42
4
- data.tar.gz: d126eeefb6f0c288b03ce709110c9d77e0c8f95d
3
+ metadata.gz: 3bd85239af6fa41370c3842a05c38ebe5f6326bf
4
+ data.tar.gz: 94f2fd35a90332fcf95d297c46a076beba82d17c
5
5
  SHA512:
6
- metadata.gz: 6b4269aecb9c8bde8a1787fd72af48c1cd16956060df822503024ed101518608da2ee2afe4809d5fb3c3ff508a6b6e5255657a755d6497a9a69993a2e1e3e4e5
7
- data.tar.gz: af968e23977da4412b9f60edd1dda7366078478351339e8f0f6078589d52730f0ab7b5bf118b05b31374f4ceb0fea17a68ced5caa786428c9132ce60933bdd70
6
+ metadata.gz: d399dd8304d8b6d44349b93efb1255104145ea4d9d8181f28aeea51196ce8ab215c3844991d9b84a4798b4d0b238c5382a15012911cc632fb6b68dc44ed87868
7
+ data.tar.gz: 8fa091707e3b5920a6aea17d394f0cfb7d1adc24e02cb1e086643a20596f2c869b00e5ec23ed3da45afb7fd863fea700c20d696edcabcb89fac3f308280df7d2
data/README.md CHANGED
@@ -15,21 +15,46 @@ DAP was written to process terabyte-sized public scan datasets, such as those pr
15
15
 
16
16
  ### Prerequisites
17
17
 
18
- DAP requires Ruby, and is best suited for systems with a relatively current version with 2.1.0 being the minimum requirement.
18
+ DAP requires Ruby and is best suited for systems with a relatively current version with 2.4.x being the minimum requirement.
19
19
  Ideally, this will be managed with either
20
20
  [`rbenv`](https://github.com/rbenv/rbenv) or [`rvm`](https://rvm.io/) with the bundler gem also installed and up to date.
21
21
  Using system managed/installed Rubies is possible but fraught with peril.
22
22
 
23
- DAP depends on [Maxmind's geoip database](http://dev.maxmind.com/geoip/legacy/downloadable/) to be able to append geographic metadata to analyzed datasets. If you intend on using this capability, run the following as `root`:
23
+ #### Maxmind IP Location Databases
24
24
 
25
- ```bash
26
- sudo mkdir -p /var/lib/geoip && cd /var/lib/geoip && sudo wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz && sudo gunzip GeoLiteCity.dat.gz && sudo wget http://geolite.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz && sudo gunzip GeoIPASNum.dat.gz
25
+ If you intend on using any of the `geo_ip*` or `geo_ip2*` filters, you must
26
+ install the databases that provide the data for these filters. If you do not
27
+ intend on using these filters, you can skip this step.
27
28
 
28
- ```
29
- ### Ubuntu 16.04
29
+ `dap` versions 1.4.x and later depend on [Maxmind's geoip2/geolite2
30
+ databases](https://dev.maxmind.com/geoip/geoip2/geolite2/) to be able to append
31
+ geographic and related metadata to analyzed datasets. In order to use this
32
+ functionality you must put your copy of the relevant Maxmind databases in the
33
+ correct location in `/var/lib/geoip2` or the `data` directory of your `dap`
34
+ installation or override with an environment variable that specifies the full
35
+ path to the database in question:
36
+
37
+ * ASN: `GeoLite2-ASN.mmdb` (environment override: `GEOIP2_ASN_DATABASE_PATH`)
38
+ * City: `GeoLite2-City.mmdb` (environment override: `GEOIP2_CITY_DATABASE_PATH`)
39
+ * ISP: `GeoIP2-ISP.mmdb` (environment override: `GEOIP2_ISP_DATABASE_PATH`)
40
+
41
+ *NOTE*: Prior to `dap` version 1.4.x there was a dependency on [Maxmind's geoip
42
+ database](http://dev.maxmind.com/geoip/legacy/downloadable/)
43
+ to be able to append geographic metadata to analyzed datasets. However, since
44
+ that time Maxmind has dropped support for these legacy databases. If you
45
+ intend to continue using this deprecated functionality, you must put your copy
46
+ of the relevant Maxmind legacy databases in the correct location in
47
+ `/var/lib/geoip` or the `data` directory of your `dap` installation or override
48
+ with an environment variable that specifies the full path to the database in question:
49
+
50
+ * ASN: `GeoIPASNum.dat` (environment override in 1.4.x+: `GEOIP_ASN_DATABASE_PATH`)
51
+ * City: `geoip_city.dat` (environment override in 1.4.x+: `GEOIP_CITY_DATABASE_PATH`)
52
+ * Org: `geoip_org.dat` (environment override in 1.4.x+: `GEOIP_ORG_DATABASE_PATH`)
53
+
54
+ ### Ubuntu 16.04+
30
55
 
31
56
  ```bash
32
- sudo apt-get install libgeoip-dev zlib1g-dev ruby ruby-dev gcc make ruby-bundler
57
+ sudo apt-get install zlib1g-dev ruby ruby-dev gcc make ruby-bundler
33
58
  gem install dap
34
59
  ```
35
60
 
@@ -37,7 +62,6 @@ gem install dap
37
62
 
38
63
  ```bash
39
64
  brew update
40
- brew install geoip
41
65
  gem install dap
42
66
  ```
43
67
 
@@ -57,15 +81,34 @@ To see which input/output formats are supported and what filters are available,
57
81
  This example reads as input a single IP address from `STDIN` in line form, applies geo-ip transformations as a filter on that line, and then returns the output as JSON:
58
82
 
59
83
  ```
60
- $ echo 8.8.8.8 | bin/dap + lines + geo_ip line + json
61
- {"line":"8.8.8.8","line.country_code":"US","line.country_code3":"USA","line.country_name":"United States","line.latitude":"38.0","line.longitude":"-97.0"}
62
- ```
63
-
64
- This example does the same, but only outputs the geo-ip country code:
65
-
66
- ```
67
- $ echo 8.8.8.8 | bin/dap + lines + geo_ip line + select line.country_code3 + lines
68
- USA
84
+ $ echo 8.8.8.8 | bin/dap + lines + geo_ip2_city line + json | jq .
85
+ {
86
+ "line": "8.8.8.8",
87
+ "line.geoip2.city.city.geoname_id": "0",
88
+ "line.geoip2.city.continent.code": "NA",
89
+ "line.geoip2.city.continent.geoname_id": "6255149",
90
+ "line.geoip2.city.country.geoname_id": "6252001",
91
+ "line.geoip2.city.country.iso_code": "US",
92
+ "line.geoip2.city.country.is_in_european_union": "false",
93
+ "line.geoip2.city.location.accuracy_radius": "1000",
94
+ "line.geoip2.city.location.latitude": "37.751",
95
+ "line.geoip2.city.location.longitude": "-97.822",
96
+ "line.geoip2.city.location.metro_code": "0",
97
+ "line.geoip2.city.location.time_zone": "America/Chicago",
98
+ "line.geoip2.city.postal.code": "",
99
+ "line.geoip2.city.registered_country.geoname_id": "6252001",
100
+ "line.geoip2.city.registered_country.iso_code": "US",
101
+ "line.geoip2.city.registered_country.is_in_european_union": "false",
102
+ "line.geoip2.city.represented_country.geoname_id": "0",
103
+ "line.geoip2.city.represented_country.iso_code": "",
104
+ "line.geoip2.city.represented_country.is_in_european_union": "false",
105
+ "line.geoip2.city.represented_country.type": "",
106
+ "line.geoip2.city.traits.is_anonymous_proxy": "false",
107
+ "line.geoip2.city.traits.is_satellite_provider": "false",
108
+ "line.geoip2.city.continent.name": "North America",
109
+ "line.geoip2.city.country.name": "United States",
110
+ "line.geoip2.city.registered_country.name": "United States"
111
+ }
69
112
  ```
70
113
 
71
114
  There are also several examples of how to use DAP along with sample datasets [here](samples).
@@ -5,7 +5,7 @@ require 'dap/version'
5
5
  Gem::Specification.new do |s|
6
6
  s.name = 'dap'
7
7
  s.version = Dap::VERSION
8
- s.required_ruby_version = '>= 2.1'
8
+ s.required_ruby_version = '>= 2.4'
9
9
  s.authors = [
10
10
  'Rapid7 Research'
11
11
  ]
@@ -40,5 +40,4 @@ Gem::Specification.new do |s|
40
40
  s.add_runtime_dependency 'geoip-c'
41
41
  s.add_runtime_dependency 'recog'
42
42
  s.add_runtime_dependency 'maxmind-db'
43
-
44
43
  end
@@ -1,3 +1,3 @@
1
1
  module Dap
2
- VERSION = "1.2.1"
2
+ VERSION = "1.2.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dap
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rapid7 Research
@@ -275,7 +275,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
275
275
  requirements:
276
276
  - - ">="
277
277
  - !ruby/object:Gem::Version
278
- version: '2.1'
278
+ version: '2.4'
279
279
  required_rubygems_version: !ruby/object:Gem::Requirement
280
280
  requirements:
281
281
  - - ">="
@@ -283,7 +283,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
283
283
  version: '0'
284
284
  requirements: []
285
285
  rubyforge_project:
286
- rubygems_version: 2.6.14.3
286
+ rubygems_version: 2.6.11
287
287
  signing_key:
288
288
  specification_version: 4
289
289
  summary: 'DAP: The Data Analysis Pipeline'