ipscanner 0.1.11 → 0.2.0

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: e78bf27470b0022f3ec27ce8a1593eb9f604c613
4
- data.tar.gz: 334b0a9aabc0c00af4cc95abce6df01bc6b09478
3
+ metadata.gz: d713f693bc8b3f67bf0a67a618850e820dc86808
4
+ data.tar.gz: 9d0dc0aa405369c49e4dceb3190e969a379fb7a2
5
5
  SHA512:
6
- metadata.gz: fec3ce75ee2e4b8d3e2ca2e9ed2addc5a57b252843796dc7b13390a1837eb693dc435f7e4a56edc15f1e8e1ae87388692247308e59ab630f67098a0f0d100142
7
- data.tar.gz: 2594e216f14b9cf8d8d52c33a37c6b933d0d433272b8c54a77f9a59b390925d131f28de2dd1a7760c94e898204288738172766483d9eef3dc34514c554f30b81
6
+ metadata.gz: 3558cef728e379a456c974c3fd4bb0c91a4eb08dcaee2da1f9fda9e804ea722b9829cec26cbf7d03a48868cfb7ee94c1581205f23e8eda24db678f802311a0bd
7
+ data.tar.gz: 21d8549b262334903c11027779a4ceef46ef486cddb45fef562673455dbe6199ef565c223f5ce2e0f1a81e0304158d38213c819422e40bc4ac66e8de6d61b560
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -7,6 +7,42 @@ require 'timeout'
7
7
 
8
8
  class IPScanner
9
9
 
10
+ def self.detect_new(ip_base='192.168.1.')
11
+
12
+ puts "scanning the network (#{ip_base}x)"
13
+
14
+ a1 = scan ip_base
15
+ puts "found %d IP addresses" % a1.length
16
+ k = :y
17
+
18
+ while k == :y do
19
+
20
+ print 'scan to detect new IP addresses? (y/n) '
21
+ k = gets.lstrip.chomp.to_sym
22
+ (puts 'enter y or n'; k = :y) if k != :y and k != :n
23
+
24
+ return if k == :n
25
+
26
+ a2 = scan ip_base
27
+ found = a2 - a1
28
+
29
+ if a2 == a1 then
30
+ puts 'no new IP addresses found'
31
+ else
32
+ if found.any? then
33
+ puts 'found : ' + found.inspect
34
+ else
35
+ puts "found %d IP addresses" % a1.length
36
+ end
37
+ end
38
+
39
+ a1 = a2
40
+
41
+ end
42
+
43
+
44
+ end
45
+
10
46
  def self.scan(ip_base='192.168.1.', range=1..254, t=1)
11
47
  a = []
12
48
  (range).map{|i| Thread.new {a << i if pingecho(ip_base+i.to_s, t) }}.join
@@ -26,6 +62,6 @@ class IPScanner
26
62
  return false
27
63
  end
28
64
  return true
29
- end
65
+ end
30
66
 
31
67
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ipscanner
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.11
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -31,7 +31,7 @@ cert_chain:
31
31
  3ZgxF1oanvKbXF7E/fLiX64X+j70muT9lcDYSjoUNRoqCoXZZLGhGyqFIRgAMfLC
32
32
  vXXWpmgCmyeglA==
33
33
  -----END CERTIFICATE-----
34
- date: 2015-08-08 00:00:00.000000000 Z
34
+ date: 2015-09-11 00:00:00.000000000 Z
35
35
  dependencies: []
36
36
  description: Ping every address on a IPV4 Subnet e.g. 192.168.1.x
37
37
  email: james@r0bertson.co.uk
metadata.gz.sig CHANGED
Binary file