ipscannerplus 0.3.0 → 0.3.1
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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/ipscannerplus.rb +49 -10
- metadata +26 -25
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1b367772cae655f1f155bdfe1489dcc2c28287a748e974ca37e095ba9ba93943
|
4
|
+
data.tar.gz: 9e7411b5a2df45e6018fded5c4fe99bb7a464cdb98f46d582efc9c504ad37690
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7022e7cbcc9e9bd8ecb911f3fc9c11cfd38082738e17297a09c824a8a6ede5a28fdacae03f1ff2729a7b4799f1764e4a6c195e3f9a938aab630fbe231c13812c
|
7
|
+
data.tar.gz: f5f3e34f474794512f661248669235c0e7b129aa7dd4bc298c15477e896ff6ba42c0305721eecf7105d8467b9ae967a4474d85be4efe7ada0f0ad92fbc919277
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/ipscannerplus.rb
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
# file: ipscannerplus.rb
|
4
4
|
|
5
5
|
require 'ipscanner'
|
6
|
+
require 'resolv'
|
6
7
|
require 'fast_port_scanner'
|
7
8
|
|
8
9
|
|
@@ -240,6 +241,7 @@ class IPScannerPlus
|
|
240
241
|
end.to_h
|
241
242
|
|
242
243
|
@ports = @known_ports.merge(@custom_ports)
|
244
|
+
@nameserver = Resolv::DNS::Config.new.lazy_initialize.nameserver_port[0][0]
|
243
245
|
|
244
246
|
end
|
245
247
|
|
@@ -252,7 +254,20 @@ class IPScannerPlus
|
|
252
254
|
end
|
253
255
|
|
254
256
|
end
|
255
|
-
|
257
|
+
|
258
|
+
def ipscan()
|
259
|
+
|
260
|
+
@result = IPScanner.scan.map do |ip|
|
261
|
+
|
262
|
+
deviceid = @devices[ip[/\d+$/]] || [nslookup(ip)]
|
263
|
+
|
264
|
+
[
|
265
|
+
[ip, deviceid],
|
266
|
+
]
|
267
|
+
end
|
268
|
+
|
269
|
+
end
|
270
|
+
|
256
271
|
def scan()
|
257
272
|
|
258
273
|
@result = IPScanner.scan.map do |ip|
|
@@ -260,8 +275,10 @@ class IPScannerPlus
|
|
260
275
|
ports = FastPortScanner.scan(ip, ports: (1..1000).to_a \
|
261
276
|
+ @custom_ports.keys.map(&:to_i))
|
262
277
|
|
278
|
+
deviceid = @devices[ip[/\d+$/]] || [nslookup(ip)]
|
279
|
+
|
263
280
|
[
|
264
|
-
[ip,
|
281
|
+
[ip, deviceid],
|
265
282
|
ports.map { |port| [port, @ports[port.to_s]] }
|
266
283
|
]
|
267
284
|
|
@@ -277,8 +294,9 @@ class IPScannerPlus
|
|
277
294
|
|
278
295
|
#header = "" % rawheader.join(' ')
|
279
296
|
header = [
|
280
|
-
rawheader[0].green,
|
281
|
-
rawheader[1].to_a[0].to_s.length > 1 ? rawheader[1][0].brown.bold :
|
297
|
+
rawheader[0][/\d+$/].green,
|
298
|
+
rawheader[1].to_a[0].to_s.length > 1 ? rawheader[1][0].brown.bold : \
|
299
|
+
'unknown'.red,
|
282
300
|
rawheader[1] ? rawheader[1][1] : ''
|
283
301
|
].join(' ')
|
284
302
|
|
@@ -288,16 +306,37 @@ class IPScannerPlus
|
|
288
306
|
header
|
289
307
|
end
|
290
308
|
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
309
|
+
if body then
|
310
|
+
|
311
|
+
head + "\n\n" + body.map do |x|
|
312
|
+
desc = x[1].to_s.length > 38 ? (x[1][0..34] + '...') : x[1]
|
313
|
+
colour = (x[0].to_i < 1024) ? :gray : :cyan
|
314
|
+
" %+14s %s" % [x[0].to_s.send(colour), desc]
|
315
|
+
end.join("\n") + "\n"
|
316
|
+
|
317
|
+
else
|
318
|
+
|
319
|
+
head
|
320
|
+
|
321
|
+
end
|
296
322
|
|
297
323
|
end
|
298
324
|
|
299
|
-
|
325
|
+
"%s devices found on subnet %s\n\n%s " % [lines.length.to_s,
|
326
|
+
@result[0][0][0][/\d+\.\d+\.\d+/],
|
327
|
+
lines.join("\n") ]
|
300
328
|
|
301
329
|
end
|
302
330
|
|
331
|
+
private
|
332
|
+
|
333
|
+
def nslookup(ip)
|
334
|
+
#`nslookup #{ip}`.strip.lines.last[/(?<=\tname = ).*(?=\.$)/]
|
335
|
+
begin
|
336
|
+
Resolv::DNS.new(:nameserver => [@nameserver]).getname(ip).to_s
|
337
|
+
rescue
|
338
|
+
nil
|
339
|
+
end
|
340
|
+
end
|
341
|
+
|
303
342
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ipscannerplus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -11,31 +11,31 @@ cert_chain:
|
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
13
|
MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
14
|
+
YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjEwNDI4MTkzMjQyWhcN
|
15
|
+
MjIwNDI4MTkzMjQyWjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
|
16
|
+
cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCncR+u
|
17
|
+
zH8mX+XlvMlZ7Nm7h664XU3pgxgR7pIaSGoWnHCw4CguukZkFvOtfDHF7HH8y2mt
|
18
|
+
1ke1saeccwPwjlE0Wai9B9YC07GVDKvRZY93Gpg7Lze1CqZS26qPwxWIdALDwhPU
|
19
|
+
/pltojb7nQtCJEKtxV+qdiVm+HDJ66h2MW2TSLZUoLJaNOs4ReZtvgN/JkkQ/GYh
|
20
|
+
6c/ZSIgxGHhUj/d4k3/XnZQoiIWgd7vGbbNFbR3eNHkoBeZc0+jNZt2Vh1Js7e0o
|
21
|
+
gh6+iM+nIzOCGIsI0hm0tcHuy1JXjkZF2sgsvGWFGLJCNosg8ba1ofqvRvtFeYlR
|
22
|
+
sfWYevin9G+OwVd9zeZYsF9SoTA3RVOX+/culsasRVxqa+2fDNx56d4XWqc0v+MZ
|
23
|
+
oDFR/fbVqIEB5FEe0d3nCVDYn9TXWplEuPRd1VOl0US3H4Bt2u5xYaR27Ta5LPcG
|
24
|
+
1THEvsS5G/L9XhKCUcOpLNwP7MLUm/29P878Sfrb/3pIteGdoAnA4BXJG/8CAwEA
|
25
|
+
AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUfHwfjOTm
|
26
|
+
pRSvCTjwa6cZ9EoxOAQwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
|
27
27
|
c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
28
|
+
BgkqhkiG9w0BAQsFAAOCAYEAmCcN+CHUx+/Fggy2JZoaX2HnUvDumH6pb6GaL9iR
|
29
|
+
aUbWD5jHwxJlbBsiwfvf10VldPNAko06I0A0NPwXuYPMoDl4WJ2SnorjAhRsEnRa
|
30
|
+
tJL596fgFzSx35kjnKwlI9WsiR2TDSSkqFZeXDayDEchakFb7iEn7ubAf10yo+OQ
|
31
|
+
C2XwWGJ5b6gN19X/MoPdeU13ymkHOrhD1EBtGeFAG4ujetF+ekBx9q1in4HLsyMY
|
32
|
+
JB+XD9/5TIq7gic6A1HStWDS8yPnSRg1W9WIFzP/jLBbtfYwqiUAS+mvNt9YN27L
|
33
|
+
adc3NjRCEVCOxdol7j/fA6K7+R7xiediU216461GfFnubI8SdcR9nbF/tTSV9Yvr
|
34
|
+
so6OHP0PByaRr2sr2WnWzx8/iKEMpoS5dTJ16/MSCOuF9pR0tEo76VQgtAEslDj+
|
35
|
+
5XCa8qokYdaepmBuLObywPjFpRcRusI0j3NgiF0ow38uCK770MWzz6jN4Ua02LHt
|
36
|
+
ovz7KRk7grgIsQ4FhE9JNCPb
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date:
|
38
|
+
date: 2021-04-28 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: ipscanner
|
@@ -103,7 +103,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
103
103
|
- !ruby/object:Gem::Version
|
104
104
|
version: '0'
|
105
105
|
requirements: []
|
106
|
-
|
106
|
+
rubyforge_project:
|
107
|
+
rubygems_version: 2.7.10
|
107
108
|
signing_key:
|
108
109
|
specification_version: 4
|
109
110
|
summary: Helps find out what service is running where in the network.
|
metadata.gz.sig
CHANGED
Binary file
|