ipscanner 0.2.0 → 0.2.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
  SHA1:
3
- metadata.gz: d713f693bc8b3f67bf0a67a618850e820dc86808
4
- data.tar.gz: 9d0dc0aa405369c49e4dceb3190e969a379fb7a2
3
+ metadata.gz: d4269db5b6ff801468eb7966f9af40daabc749a4
4
+ data.tar.gz: 7421ee850e3b75e06f2d14e088012f3cbc5ba1ac
5
5
  SHA512:
6
- metadata.gz: 3558cef728e379a456c974c3fd4bb0c91a4eb08dcaee2da1f9fda9e804ea722b9829cec26cbf7d03a48868cfb7ee94c1581205f23e8eda24db678f802311a0bd
7
- data.tar.gz: 21d8549b262334903c11027779a4ceef46ef486cddb45fef562673455dbe6199ef565c223f5ce2e0f1a81e0304158d38213c819422e40bc4ac66e8de6d61b560
6
+ metadata.gz: c38413c9735de70eeae4f2a263f9f2a8100e04563e9cb5447e8aa6a3c4e6dda3327f62eb5341ce9dc1028ceef824546fcce6de249dcef4171fdea57e5e76093d
7
+ data.tar.gz: a5e2fc3a2bad2d5935a8b544d5f4603a5c4584dc7cf64c8414741bbbcff55fa38c2cd5de15601ac93c0ce772f8706fe7e3289ec40652adf7a29f6241a5e162bc
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -7,7 +7,9 @@ require 'timeout'
7
7
 
8
8
  class IPScanner
9
9
 
10
- def self.detect_new(ip_base='192.168.1.')
10
+ def self.detect_new(ip_base=nil)
11
+
12
+ ip_base = local_ip.ip_address[/\d+\.\d+\.\d+\./] unless ip_base
11
13
 
12
14
  puts "scanning the network (#{ip_base}x)"
13
15
 
@@ -43,10 +45,18 @@ class IPScanner
43
45
 
44
46
  end
45
47
 
46
- def self.scan(ip_base='192.168.1.', range=1..254, t=1)
48
+ def self.local_ip()
49
+ Socket.ip_address_list.find { |ai| ai.ipv4? && !ai.ipv4_loopback? }
50
+ end
51
+
52
+ def self.scan(ip_base=nil, range=1..254, t=1)
53
+
54
+ ip_base = local_ip.ip_address[/\d+\.\d+\.\d+\./] unless ip_base
55
+
47
56
  a = []
48
57
  (range).map{|i| Thread.new {a << i if pingecho(ip_base+i.to_s, t) }}.join
49
58
  sleep t + 0.25
59
+
50
60
  a.sort.map{|x| ip_base + x.to_s}
51
61
  end
52
62
 
@@ -64,4 +74,4 @@ class IPScanner
64
74
  return true
65
75
  end
66
76
 
67
- end
77
+ 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.2.0
4
+ version: 0.2.1
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-09-11 00:00:00.000000000 Z
34
+ date: 2015-09-12 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