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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4427d15b369e6288e581b80a0828c732592015eac6e14cf362e9f2cd976f87d9
4
- data.tar.gz: 635bfe4623b24fe9af2d21dfe5b017b9b08acb90b737e586454ea6c970444d99
3
+ metadata.gz: 1b367772cae655f1f155bdfe1489dcc2c28287a748e974ca37e095ba9ba93943
4
+ data.tar.gz: 9e7411b5a2df45e6018fded5c4fe99bb7a464cdb98f46d582efc9c504ad37690
5
5
  SHA512:
6
- metadata.gz: 07563a5226b8f2280bf2628e34d761ca2716b7d4bd1289fdc6f0d62e21c333bc70a39408be65ea1bc96a4b85c4cbd510df51ec31d7aad2086912973d290255fd
7
- data.tar.gz: 79f6cab959f7d41e24e069a1650324df4aaf32f4f12b6904946ab4acb1bc7c76031a3246ccad065836a61401aba6ce9dd5ff9ce9c1b1afe84c3c38144429afa2
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, @devices[ip[/\d+$/]]],
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
- head + "\n\n" + body.map do |x|
292
- desc = x[1].to_s.length > 38 ? (x[1][0..34] + '...') : x[1]
293
- colour = (x[0].to_i < 1024) ? :gray : :cyan
294
- " %+14s %s" % [x[0].to_s.send(colour), desc]
295
- end.join("\n") + "\n"
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
- lines.length.to_s + ' devices found' + "\n\n" + lines.join("\n")
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.0
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
- YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjAwMjEwMDAzNzAzWhcN
15
- MjEwMjA5MDAzNzAzWjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
- cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDmxKpW
17
- xXjk2pc/BW0+agc2jcx30eYPOvezUUvrJzS/+JPQRhD+HBWEu+cw98DDMrdx8ZmL
18
- xBC89bL+mXC5rvoJVgqZItEy2ir9w8FfA6VThtI5N1A4WaaZqpXa9MRLfz6/E7Gf
19
- rIEUUtf+Z5v7WuWTtmkSt202vIFK6+fbjsrLTOApMRS55mkJPmSCvbnhugpYGzMC
20
- pTTgJtymixePIykXukt40Hb4iQ2Fx8L7OTQydaCDGKwSgE4agJYzF5wjygpx9IDQ
21
- d+WDZIhlMzzIUpSt1TPsXeZ5nNPfzy/uctamxk+utEqAbk3G0zI9UDulOfcAn8Jp
22
- 4NBF76F0JWVqTcy+p0AkWsjzthXCeKYuP9tDXIA7fo8pzyhMeXzCjYB65apw1EL4
23
- KHb1CF3b002LZNgk9qEyjB3Mr/8pz0e66GreaYx/xeaXXEy74yLmBXJMATd1vZG+
24
- KvWKtIoRRMRtzcGw4gcnyFUy9nwLYzpj6S3IYcMgtYab3aNh5/+2mUQbMvsCAwEA
25
- AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUHN/C/+Sx
26
- NM70I5nA6oIhDO5YXKUwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
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
- BgkqhkiG9w0BAQsFAAOCAYEAGZbZURBsAPFwugAj6p43zQbD8dmc0o6BfBKQGNfO
29
- phe9stTsamBTURA3Pyzpn5kglbD7qVvsR52dPiWZk9cdDZ8O+kdmQcmIDjdMhpMi
30
- Ldf/md7NjwV3pVFTs7u6PLe83Iysyml83PKyVrVdYyPZJvlCiPGy81GTRb138ntg
31
- 3UyfY1tqPyy/0bp0jvOJ2IMN+W2VJ+89x3Vwz3y2F/Ux0Y0nG4e9ETrc1O+9mEsR
32
- J7ytqcZZdqFFpIs68iNN1uszYsWnp6ZWCJa1Li8lwDsBCBJADNxrs8K+9QimkqJi
33
- EfBSoCtcinIHlgEnulqGK7r5clwXB/GdIBTOSlUe0vP0K3SYP9j1/WYRgtDdNYkF
34
- KEioxU2JqOP6fUhQpXnxQUk/kIw9YUWG9a9Biq/2NylKx7kKNjp0RVFUvIgFMGvV
35
- Q36Io7+P0a6/QUCyXyvqOV7+wdwLRxZI/xovFVhCo5vfEQjzXPOnLCyyADtrr287
36
- GYf+zjxtwaOh87Ywi7PjCu3D
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: 2020-08-23 00:00:00.000000000 Z
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
- rubygems_version: 3.0.3
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