ipscannerplus 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
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