wmap 2.5.9 → 2.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/wmap +4 -4
- data/lib/wmap/site_tracker.rb +30 -35
- data/version.txt +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b514075e869f95275a03d0d7a3951338b0307a3cd948cdcb074cb71c268c163d
|
4
|
+
data.tar.gz: 933123a0a7a51ec74edb3e7ac58c9247c329715301fbd02ed5d5f8b902c3d135
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1ee291ad43397feb0ac7a20466eb373c2eed2f7ff516d00a2f6ebc4f94b597dd2ac8a21d1321d60dfc1155884703759602e63431a7bd8a11f30aa893192d5f0e
|
7
|
+
data.tar.gz: 69a4b53667c5c8c4bd24134c4c7122e5db9ee274c3f79cde037f7278c373d536933d6fbbed464e6f176e0cece4c6621eb951e884e9f61d881c64074721019ad3
|
data/bin/wmap
CHANGED
@@ -128,8 +128,8 @@ else
|
|
128
128
|
puts "Start the SiteTracker with the optional directory setter. "
|
129
129
|
inventory=Wmap::SiteTracker.instance
|
130
130
|
inventory.data_dir = ARGV[1]
|
131
|
-
inventory.sites_file = inventory.data_dir + "sites"
|
132
|
-
inventory.load_site_stores_from_file
|
131
|
+
inventory.sites_file = inventory.data_dir + "/" + "sites"
|
132
|
+
inventory.load_site_stores_from_file(inventory.sites_file)
|
133
133
|
else
|
134
134
|
aborts "Error firing up SiteTracker instance!"
|
135
135
|
end
|
@@ -150,8 +150,8 @@ elsif ARGV.length == 2
|
|
150
150
|
host_tracker = Wmap::HostTracker.instance
|
151
151
|
host_tracker.verbose=true
|
152
152
|
host_tracker.data_dir = ARGV[1]
|
153
|
-
host_tracker.hosts_file = host_tracker.data_dir + "hosts"
|
154
|
-
host_tracker.load_known_hosts_from_file
|
153
|
+
host_tracker.hosts_file = host_tracker.data_dir + "/" + "hosts"
|
154
|
+
host_tracker.load_known_hosts_from_file(host_tracker.hosts_file)
|
155
155
|
else
|
156
156
|
aborts "Error firing up HostTracker instance!"
|
157
157
|
end
|
data/lib/wmap/site_tracker.rb
CHANGED
@@ -124,9 +124,9 @@ class Wmap::SiteTracker
|
|
124
124
|
raise "Invalid web site format. Please check your record again."
|
125
125
|
else
|
126
126
|
domain_tracker=Wmap::DomainTracker.instance
|
127
|
-
domain_tracker.domains_file=@data_dir+
|
127
|
+
domain_tracker.domains_file=@data_dir + "/" + "domains"
|
128
128
|
File.write(domain_tracker.domains_file, "") unless File.exist?(domain_tracker.domains_file)
|
129
|
-
domain_tracker.load_domains_from_file
|
129
|
+
domain_tracker.load_domains_from_file(domain_tracker.domains_file)
|
130
130
|
trusted=domain_tracker.domain_known?(root)
|
131
131
|
domain_tracker=nil
|
132
132
|
end
|
@@ -143,15 +143,17 @@ class Wmap::SiteTracker
|
|
143
143
|
raise "Site is currently down. Skip #{site}" if checker['code']==10000
|
144
144
|
end
|
145
145
|
raise "Exception on add method - Fail to resolve the host-name: Host - #{host}, IP - #{ip}. Skip #{site}" unless is_ip?(ip)
|
146
|
-
|
147
|
-
|
146
|
+
host_tracker = Wmap::HostTracker.instance
|
147
|
+
host_tracker.data_dir= @data_dir
|
148
|
+
host_tracker.hosts_file = host_tracker.data_dir + "/" + "hosts"
|
149
|
+
host_tracker.load_known_hosts_from_file(host_tracker.hosts_file)
|
148
150
|
# Update the local host table when necessary
|
149
151
|
if is_ip?(host)
|
150
152
|
# Case #1: Trusted site contains IP
|
151
|
-
if
|
153
|
+
if host_tracker.ip_known?(host)
|
152
154
|
# Try local reverse DNS lookup first
|
153
155
|
puts "Local hosts table lookup for IP: #{ip}" if @verbose
|
154
|
-
host=
|
156
|
+
host=host_tracker.local_ip_2_host(host)
|
155
157
|
puts "Host found from the local hosts table for #{ip}: #{host}" if @verbose
|
156
158
|
site.sub!(/\d+\.\d+\.\d+\.\d+/,host)
|
157
159
|
else
|
@@ -160,17 +162,12 @@ class Wmap::SiteTracker
|
|
160
162
|
host1=ip_2_host(host)
|
161
163
|
puts "host1: #{host1}" if @verbose
|
162
164
|
if is_fqdn?(host1)
|
163
|
-
host_tracker=Wmap::HostTracker.instance
|
164
|
-
host_tracker.data_dir=@data_dir
|
165
|
-
host_tracker.hosts_file=host_tracker.data_dir + "hosts"
|
166
|
-
host_tracker.load_known_hosts_from_file
|
167
165
|
if host_tracker.domain_known?(host1)
|
168
166
|
# replace IP with host-name only if domain root is known
|
169
167
|
puts "Host found from the Internet reverse DNS lookup for #{ip}: #{host1}" if @verbose
|
170
168
|
host=host1
|
171
169
|
site.sub!(/\d+\.\d+\.\d+\.\d+/,host)
|
172
170
|
end
|
173
|
-
host_tracker=nil
|
174
171
|
end
|
175
172
|
end
|
176
173
|
# Adding site for Case #1
|
@@ -187,17 +184,17 @@ class Wmap::SiteTracker
|
|
187
184
|
# Add logic to update the hosts table for case #1 variance
|
188
185
|
# - case that reverse DNS lookup successful
|
189
186
|
puts "Update local hosts table for host: #{host}"
|
190
|
-
if
|
191
|
-
old_ip=
|
187
|
+
if host_tracker.host_known?(host)
|
188
|
+
old_ip=host_tracker.local_host_2_ip(host)
|
192
189
|
if old_ip != ip
|
193
|
-
|
194
|
-
|
190
|
+
host_tracker.refresh(host)
|
191
|
+
host_tracker.save!
|
195
192
|
else
|
196
193
|
puts "Host resolve to the same IP #{ip} - no need to update the local host table." if @verbose
|
197
194
|
end
|
198
195
|
else
|
199
|
-
|
200
|
-
|
196
|
+
host_tracker.add(host)
|
197
|
+
host_tracker.save!
|
201
198
|
end
|
202
199
|
end
|
203
200
|
else
|
@@ -212,27 +209,25 @@ class Wmap::SiteTracker
|
|
212
209
|
puts "Site entry loaded: #{checker}"
|
213
210
|
# Add logic to update the hosts table for case #2
|
214
211
|
puts "Update local hosts table for host: #{host}"
|
215
|
-
if
|
216
|
-
old_ip=
|
212
|
+
if host_tracker.host_known?(host)
|
213
|
+
old_ip=host_tracker.local_host_2_ip(host)
|
217
214
|
if old_ip != ip
|
218
|
-
|
219
|
-
|
215
|
+
host_tracker.refresh(host)
|
216
|
+
host_tracker.save!
|
220
217
|
else
|
221
218
|
# Skip - no need to update the local hosts table
|
222
219
|
end
|
223
220
|
else
|
224
|
-
|
225
|
-
|
221
|
+
host_tracker.add(host)
|
222
|
+
host_tracker.save!
|
226
223
|
end
|
227
224
|
end
|
228
225
|
deact=nil
|
229
|
-
my_tracker=nil
|
230
226
|
host_tracker=nil
|
231
|
-
return
|
227
|
+
return checker
|
232
228
|
else
|
233
229
|
puts "Problem found: untrusted Internet domain or IP. Skip #{site}"
|
234
230
|
deact=nil
|
235
|
-
my_tracker=nil
|
236
231
|
host_tracker=nil
|
237
232
|
return nil
|
238
233
|
end
|
@@ -556,15 +551,15 @@ class Wmap::SiteTracker
|
|
556
551
|
#primary_host_tracker=Wmap::HostTracker::PrimaryHost.instance
|
557
552
|
sites=Hash.new
|
558
553
|
#uniqueness=Hash.new
|
559
|
-
|
560
|
-
|
561
|
-
|
554
|
+
host_tracker=Wmap::HostTracker.instance
|
555
|
+
host_tracker.hosts_file=@data_dir + 'hosts'
|
556
|
+
host_tracker.load_known_hosts_from_file
|
562
557
|
@known_sites.keys.map do |key|
|
563
558
|
port=url_2_port(key).to_s
|
564
559
|
host=url_2_host(key)
|
565
560
|
md5=@known_sites[key]['md5']
|
566
561
|
code=@known_sites[key]['code']
|
567
|
-
ip=
|
562
|
+
ip=host_tracker.local_host_2_ip(host)
|
568
563
|
ip=host_2_ip(host) if ip.nil?
|
569
564
|
# filtering out 'un-reachable' sites
|
570
565
|
next if (code == 10000 or code == 20000)
|
@@ -591,7 +586,7 @@ class Wmap::SiteTracker
|
|
591
586
|
end
|
592
587
|
end
|
593
588
|
#primary_host_tracker=nil
|
594
|
-
|
589
|
+
host_tracker=nil
|
595
590
|
return sites.values
|
596
591
|
rescue Exception => ee
|
597
592
|
puts "Exception on method #{__method__}: #{ee}" if @verbose
|
@@ -650,12 +645,12 @@ class Wmap::SiteTracker
|
|
650
645
|
puts "Resolve sites that contain an IP address. Update the site cache table once a hostname is found in the local host table." if @verbose
|
651
646
|
updates=Array.new
|
652
647
|
sites=get_ip_sites
|
653
|
-
|
654
|
-
|
648
|
+
host_tracker=Wmap::HostTracker.instance
|
649
|
+
host_tracker.data_dir=@data_dir
|
655
650
|
sites.map do |site|
|
656
651
|
puts "Work on resolve the IP site: #{site}" if @verbose
|
657
652
|
ip=url_2_host(site)
|
658
|
-
hostname=
|
653
|
+
hostname=host_tracker.local_ip_2_host(ip)
|
659
654
|
if hostname.nil?
|
660
655
|
puts "Can't resolve #{ip} from the local host store. Skip #{site}" if @verbose
|
661
656
|
else
|
@@ -666,7 +661,7 @@ class Wmap::SiteTracker
|
|
666
661
|
end
|
667
662
|
updates.sort!
|
668
663
|
puts "The following sites are now refreshed: #{updates}" if @verbose
|
669
|
-
|
664
|
+
host_tracker=nil
|
670
665
|
return updates
|
671
666
|
rescue Exception => ee
|
672
667
|
puts "Exception on method #{__method__}: #{ee}" if @verbose
|
data/version.txt
CHANGED