ruby-nmap 0.9.3 → 0.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.travis.yml +5 -3
- data/ChangeLog.md +8 -0
- data/LICENSE.txt +1 -1
- data/README.md +1 -1
- data/Rakefile +3 -3
- data/gemspec.yml +1 -1
- data/lib/nmap/host.rb +2 -1
- data/lib/nmap/port.rb +11 -0
- data/lib/nmap/scan_task.rb +3 -0
- data/lib/nmap/status.rb +1 -1
- data/lib/nmap/task.rb +6 -0
- data/lib/nmap/version.rb +1 -1
- data/lib/nmap/xml.rb +15 -0
- data/ruby-nmap.gemspec +38 -83
- data/spec/{local_scan.xml → fixtures/local_scan.xml} +1 -1
- data/spec/{scan.xml → fixtures/scan.xml} +1 -1
- data/spec/host_spec.rb +4 -0
- data/spec/port_spec.rb +6 -0
- data/spec/spec_helper.rb +2 -2
- data/spec/status_spec.rb +2 -1
- data/spec/xml_spec.rb +21 -2
- metadata +9 -36
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: aad3443fe83a6bdd00408ad9c95f74249bd0d4e84a67d86ab2f9e3d301b1b949
|
4
|
+
data.tar.gz: 3062ec23f7150260cd1be1bb4d82cf96bf149f6ed2471126aea86808ac0ff506
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e125594be07aea783106ecc9342b7936016cb34bee18f0ead7a22f8eecb2c78bd2ccdbfd1d05d54cb9c17868fa43d542b1bd262d9340e0c8cc3129c72756ee7a
|
7
|
+
data.tar.gz: 6aa87e42de1eaa60c84020e19142364d126c667a76ed5a906178a78fb4ec85bd997619cb21ab3bbadb903519c29b56571a183c372bfb94b43d3be1534078ac70
|
data/.travis.yml
CHANGED
data/ChangeLog.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
### 0.10.0 / 2020-03-17
|
2
|
+
|
3
|
+
* Added `Nmap::Task#exclude_ports` for the `--exclude-ports` option.
|
4
|
+
* Added {Nmap::Status#reason_ttl}.
|
5
|
+
* Added {Nmap::Port#reason_ttl}.
|
6
|
+
* Added {Nmap::XML#task}.
|
7
|
+
* Alias {Nmap::ScanTask#extra_info} to {Nmap::ScanTask#extrainfo}.
|
8
|
+
|
1
9
|
### 0.9.3 / 2018-05-01
|
2
10
|
|
3
11
|
* Added missing `Nmap::Task#defeat_icmp_ratelimit` for the
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
data/Rakefile
CHANGED
@@ -20,7 +20,7 @@ Gem::Tasks.new
|
|
20
20
|
require 'rspec/core/rake_task'
|
21
21
|
RSpec::Core::RakeTask.new
|
22
22
|
|
23
|
-
task :spec => 'spec/scan.xml'
|
23
|
+
task :spec => 'spec/fixtures/scan.xml'
|
24
24
|
task :test => :spec
|
25
25
|
task :default => :spec
|
26
26
|
|
@@ -28,7 +28,7 @@ require 'yard'
|
|
28
28
|
YARD::Rake::YardocTask.new
|
29
29
|
task :doc => :yard
|
30
30
|
|
31
|
-
file 'spec/scan.xml' do
|
31
|
+
file 'spec/fixtures/scan.xml' do |t|
|
32
32
|
puts ">>> Scanning scanme.nmap.org ..."
|
33
|
-
sh
|
33
|
+
sh "sudo nmap -v -sS -sU -A -O --script ssh2-enum-algos,ssh-hostkey -oX #{t.name} scanme.nmap.org"
|
34
34
|
end
|
data/gemspec.yml
CHANGED
data/lib/nmap/host.rb
CHANGED
data/lib/nmap/port.rb
CHANGED
@@ -59,6 +59,17 @@ module Nmap
|
|
59
59
|
@reason ||= @node.at_xpath('state/@reason').inner_text
|
60
60
|
end
|
61
61
|
|
62
|
+
#
|
63
|
+
# The reason TTL.
|
64
|
+
#
|
65
|
+
# @return [Integer]
|
66
|
+
#
|
67
|
+
# @since 0.10.0
|
68
|
+
#
|
69
|
+
def reason_ttl
|
70
|
+
@reason ||= @node.at_xpath('state/@reason_ttl').inner_text.to_i
|
71
|
+
end
|
72
|
+
|
62
73
|
#
|
63
74
|
# The fingerprinted service of the port.
|
64
75
|
#
|
data/lib/nmap/scan_task.rb
CHANGED
data/lib/nmap/status.rb
CHANGED
data/lib/nmap/task.rb
CHANGED
@@ -52,6 +52,7 @@ module Nmap
|
|
52
52
|
# ### Port Specification and Scan Order:
|
53
53
|
#
|
54
54
|
# * `-p` - `nmap.ports`
|
55
|
+
# * `--exclude-ports` - `nmap.exclude_ports`
|
55
56
|
# * `-F` - `nmap.fast`
|
56
57
|
# * `-r` - `nmap.consecutively`
|
57
58
|
# * `--top-ports` - `nmap.top_ports`
|
@@ -230,6 +231,11 @@ module Nmap
|
|
230
231
|
[opt.flag, format_port_list(value)]
|
231
232
|
end
|
232
233
|
end
|
234
|
+
long_option :flag => '--exclude-ports' do |opt,value|
|
235
|
+
unless value.empty?
|
236
|
+
[opt.flag, format_ports(value)]
|
237
|
+
end
|
238
|
+
end
|
233
239
|
short_option :flag => '-F', :name => :fast
|
234
240
|
short_option :flag => '-r', :name => :consecutively
|
235
241
|
long_option :flag => '--top-ports'
|
data/lib/nmap/version.rb
CHANGED
data/lib/nmap/xml.rb
CHANGED
@@ -241,6 +241,21 @@ module Nmap
|
|
241
241
|
each_task.to_a
|
242
242
|
end
|
243
243
|
|
244
|
+
#
|
245
|
+
# Finds the task with the given name.
|
246
|
+
#
|
247
|
+
# @param [String] name
|
248
|
+
# The task name to search for.
|
249
|
+
#
|
250
|
+
# @return [ScanTask, nil]
|
251
|
+
# The scan task with the matching name or `nil`.
|
252
|
+
#
|
253
|
+
# @since 0.10.0
|
254
|
+
#
|
255
|
+
def task(name)
|
256
|
+
each_task.find { |scan_task| scan_task.name == name }
|
257
|
+
end
|
258
|
+
|
244
259
|
#
|
245
260
|
# The NSE scripts ran before the scan.
|
246
261
|
#
|
data/ruby-nmap.gemspec
CHANGED
@@ -2,104 +2,59 @@
|
|
2
2
|
|
3
3
|
require 'yaml'
|
4
4
|
|
5
|
-
Gem::Specification.new do |
|
6
|
-
|
7
|
-
lib_dir = File.join(root,'lib')
|
8
|
-
files = `git ls-files`.split($/)
|
5
|
+
Gem::Specification.new do |gem|
|
6
|
+
gemspec = YAML.load_file('gemspec.yml')
|
9
7
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
when String
|
15
|
-
Dir[paths]
|
16
|
-
end
|
17
|
-
}
|
8
|
+
gem.name = gemspec.fetch('name')
|
9
|
+
gem.version = gemspec.fetch('version') do
|
10
|
+
lib_dir = File.join(File.dirname(__FILE__),'lib')
|
11
|
+
$LOAD_PATH << lib_dir unless $LOAD_PATH.include?(lib_dir)
|
18
12
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
}
|
13
|
+
require 'nmap/version'
|
14
|
+
Nmap::VERSION
|
15
|
+
end
|
23
16
|
|
24
|
-
|
25
|
-
|
26
|
-
'
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
'doc_files' => filter_files['*.{txt,rdoc,md,markdown,tt,textile}'],
|
31
|
-
'extra_doc_files' => filter_files['*.{txt,rdoc,md,markdown,tt,textile}']
|
32
|
-
}
|
17
|
+
gem.summary = gemspec['summary']
|
18
|
+
gem.description = gemspec['description']
|
19
|
+
gem.licenses = Array(gemspec['license'])
|
20
|
+
gem.authors = Array(gemspec['authors'])
|
21
|
+
gem.email = gemspec['email']
|
22
|
+
gem.homepage = gemspec['homepage']
|
33
23
|
|
34
|
-
|
24
|
+
glob = lambda { |patterns| gem.files & Dir[*patterns] }
|
35
25
|
|
36
|
-
|
37
|
-
|
38
|
-
metadata['version']
|
39
|
-
else
|
40
|
-
$LOAD_PATH << lib_dir unless $LOAD_PATH.include?(lib_dir)
|
26
|
+
gem.files = `git ls-files`.split($/)
|
27
|
+
gem.files = glob[gemspec['files']] if gemspec['files']
|
41
28
|
|
42
|
-
|
43
|
-
|
44
|
-
end
|
45
|
-
|
46
|
-
gemspec.summary = metadata.fetch('summary',metadata['description'])
|
47
|
-
gemspec.description = metadata.fetch('description',metadata['summary'])
|
48
|
-
|
49
|
-
gemspec.licenses = Array(metadata['license'])
|
50
|
-
gemspec.authors = Array(metadata['authors'])
|
51
|
-
|
52
|
-
gemspec.email = metadata['email']
|
53
|
-
gemspec.homepage = metadata['homepage']
|
54
|
-
|
55
|
-
gemspec.require_paths = Array(metadata['require_paths'])
|
56
|
-
gemspec.files = filter_files[metadata['files']]
|
57
|
-
gemspec.files += Array(metadata['generated_files'])
|
58
|
-
gemspec.executables = metadata['executables']
|
59
|
-
gemspec.extensions = metadata['extensions']
|
60
|
-
|
61
|
-
if Gem::VERSION < '1.7.'
|
62
|
-
gemspec.default_executable = gemspec.executables.first
|
29
|
+
gem.executables = gemspec.fetch('executables') do
|
30
|
+
glob['bin/*'].map { |path| File.basename(path) }
|
63
31
|
end
|
32
|
+
gem.default_executable = gem.executables.first if Gem::VERSION < '1.7.'
|
64
33
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
gemspec.post_install_message = metadata['post_install_message']
|
69
|
-
gemspec.requirements = Array(metadata['requirements'])
|
34
|
+
gem.extensions = glob[gemspec['extensions'] || 'ext/**/extconf.rb']
|
35
|
+
gem.test_files = glob[gemspec['test_files'] || '{test/{**/}*_test.rb']
|
36
|
+
gem.extra_rdoc_files = glob[gemspec['extra_doc_files'] || '*.{txt,md}']
|
70
37
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
if gemspec.respond_to?(:required_rubygems_version=)
|
76
|
-
gemspec.required_rubygems_version = metadata['required_ruby_version']
|
77
|
-
end
|
38
|
+
gem.require_paths = Array(gemspec.fetch('require_paths') {
|
39
|
+
%w[ext lib].select { |dir| File.directory?(dir) }
|
40
|
+
})
|
78
41
|
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
when String
|
84
|
-
versions.split(/,\s*/)
|
85
|
-
end
|
86
|
-
}
|
42
|
+
gem.requirements = Array(gemspec['requirements'])
|
43
|
+
gem.required_ruby_version = gemspec['required_ruby_version']
|
44
|
+
gem.required_rubygems_version = gemspec['required_rubygems_version']
|
45
|
+
gem.post_install_message = gemspec['post_install_message']
|
87
46
|
|
88
|
-
|
89
|
-
metadata['dependencies'].each do |name,versions|
|
90
|
-
gemspec.add_dependency(name,parse_versions[versions])
|
91
|
-
end
|
92
|
-
end
|
47
|
+
split = lambda { |string| string.split(/,\s*/) }
|
93
48
|
|
94
|
-
if
|
95
|
-
|
96
|
-
|
49
|
+
if gemspec['dependencies']
|
50
|
+
gemspec['dependencies'].each do |name,versions|
|
51
|
+
gem.add_dependency(name,split[versions])
|
97
52
|
end
|
98
53
|
end
|
99
54
|
|
100
|
-
if
|
101
|
-
|
102
|
-
|
55
|
+
if gemspec['development_dependencies']
|
56
|
+
gemspec['development_dependencies'].each do |name,versions|
|
57
|
+
gem.add_development_dependency(name,split[versions])
|
103
58
|
end
|
104
59
|
end
|
105
60
|
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<!DOCTYPE nmaprun PUBLIC "-//IDN nmap.org//DTD Nmap XML 1.04//EN" "https://svn.nmap.org/nmap/docs/nmap.dtd">
|
3
3
|
<?xml-stylesheet href="file:///usr/bin/../share/nmap/nmap.xsl" type="text/xsl"?>
|
4
4
|
<!-- Nmap 6.45 scan initiated Thu Apr 16 20:12:47 2015 as: nmap -v -sS -A -O --script ssh2-enum-algos -oX spec/local_scan.xml 10.0.0.2 -->
|
5
|
-
<nmaprun scanner="nmap" args="nmap -v -sS -A -O --script ssh2-enum-algos -oX spec/local_scan.xml 10.0.0.2" start="1429240367" startstr="Thu Apr 16 20:12:47 2015" version="6.45" xmloutputversion="1.04">
|
5
|
+
<nmaprun scanner="nmap" args="nmap -v -sS -A -O --script ssh2-enum-algos -oX spec/fixtures/local_scan.xml 10.0.0.2" start="1429240367" startstr="Thu Apr 16 20:12:47 2015" version="6.45" xmloutputversion="1.04">
|
6
6
|
<scaninfo type="syn" protocol="tcp" numservices="1000" services="1,3-4,6-7,9,13,17,19-26,30,32-33,37,42-43,49,53,70,79-85,88-90,99-100,106,109-111,113,119,125,135,139,143-144,146,161,163,179,199,211-212,222,254-256,259,264,280,301,306,311,340,366,389,406-407,416-417,425,427,443-445,458,464-465,481,497,500,512-515,524,541,543-545,548,554-555,563,587,593,616-617,625,631,636,646,648,666-668,683,687,691,700,705,711,714,720,722,726,749,765,777,783,787,800-801,808,843,873,880,888,898,900-903,911-912,981,987,990,992-993,995,999-1002,1007,1009-1011,1021-1100,1102,1104-1108,1110-1114,1117,1119,1121-1124,1126,1130-1132,1137-1138,1141,1145,1147-1149,1151-1152,1154,1163-1166,1169,1174-1175,1183,1185-1187,1192,1198-1199,1201,1213,1216-1218,1233-1234,1236,1244,1247-1248,1259,1271-1272,1277,1287,1296,1300-1301,1309-1311,1322,1328,1334,1352,1417,1433-1434,1443,1455,1461,1494,1500-1501,1503,1521,1524,1533,1556,1580,1583,1594,1600,1641,1658,1666,1687-1688,1700,1717-1721,1723,1755,1761,1782-1783,1801,1805,1812,1839-1840,1862-1864,1875,1900,1914,1935,1947,1971-1972,1974,1984,1998-2010,2013,2020-2022,2030,2033-2035,2038,2040-2043,2045-2049,2065,2068,2099-2100,2103,2105-2107,2111,2119,2121,2126,2135,2144,2160-2161,2170,2179,2190-2191,2196,2200,2222,2251,2260,2288,2301,2323,2366,2381-2383,2393-2394,2399,2401,2492,2500,2522,2525,2557,2601-2602,2604-2605,2607-2608,2638,2701-2702,2710,2717-2718,2725,2800,2809,2811,2869,2875,2909-2910,2920,2967-2968,2998,3000-3001,3003,3005-3007,3011,3013,3017,3030-3031,3052,3071,3077,3128,3168,3211,3221,3260-3261,3268-3269,3283,3300-3301,3306,3322-3325,3333,3351,3367,3369-3372,3389-3390,3404,3476,3493,3517,3527,3546,3551,3580,3659,3689-3690,3703,3737,3766,3784,3800-3801,3809,3814,3826-3828,3851,3869,3871,3878,3880,3889,3905,3914,3918,3920,3945,3971,3986,3995,3998,4000-4006,4045,4111,4125-4126,4129,4224,4242,4279,4321,4343,4443-4446,4449,4550,4567,4662,4848,4899-4900,4998,5000-5004,5009,5030,5033,5050-5051,5054,5060-5061,5080,5087,5100-5102,5120,5190,5200,5214,5221-5222,5225-5226,5269,5280,5298,5357,5405,5414,5431-5432,5440,5500,5510,5544,5550,5555,5560,5566,5631,5633,5666,5678-5679,5718,5730,5800-5802,5810-5811,5815,5822,5825,5850,5859,5862,5877,5900-5904,5906-5907,5910-5911,5915,5922,5925,5950,5952,5959-5963,5987-5989,5998-6007,6009,6025,6059,6100-6101,6106,6112,6123,6129,6156,6346,6389,6502,6510,6543,6547,6565-6567,6580,6646,6666-6669,6689,6692,6699,6779,6788-6789,6792,6839,6881,6901,6969,7000-7002,7004,7007,7019,7025,7070,7100,7103,7106,7200-7201,7402,7435,7443,7496,7512,7625,7627,7676,7741,7777-7778,7800,7911,7920-7921,7937-7938,7999-8002,8007-8011,8021-8022,8031,8042,8045,8080-8090,8093,8099-8100,8180-8181,8192-8194,8200,8222,8254,8290-8292,8300,8333,8383,8400,8402,8443,8500,8600,8649,8651-8652,8654,8701,8800,8873,8888,8899,8994,9000-9003,9009-9011,9040,9050,9071,9080-9081,9090-9091,9099-9103,9110-9111,9200,9207,9220,9290,9415,9418,9485,9500,9502-9503,9535,9575,9593-9595,9618,9666,9876-9878,9898,9900,9917,9929,9943-9944,9968,9998-10004,10009-10010,10012,10024-10025,10082,10180,10215,10243,10566,10616-10617,10621,10626,10628-10629,10778,11110-11111,11967,12000,12174,12265,12345,13456,13722,13782-13783,14000,14238,14441-14442,15000,15002-15004,15660,15742,16000-16001,16012,16016,16018,16080,16113,16992-16993,17877,17988,18040,18101,18988,19101,19283,19315,19350,19780,19801,19842,20000,20005,20031,20221-20222,20828,21571,22939,23502,24444,24800,25734-25735,26214,27000,27352-27353,27355-27356,27715,28201,30000,30718,30951,31038,31337,32768-32785,33354,33899,34571-34573,35500,38292,40193,40911,41511,42510,44176,44442-44443,44501,45100,48080,49152-49161,49163,49165,49167,49175-49176,49400,49999-50003,50006,50300,50389,50500,50636,50800,51103,51493,52673,52822,52848,52869,54045,54328,55055-55056,55555,55600,56737-56738,57294,57797,58080,60020,60443,61532,61900,62078,63331,64623,64680,65000,65129,65389"/>
|
7
7
|
<verbose level="1"/>
|
8
8
|
<debugging level="0"/>
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<!DOCTYPE nmaprun PUBLIC "-//IDN nmap.org//DTD Nmap XML 1.04//EN" "https://svn.nmap.org/nmap/docs/nmap.dtd">
|
3
3
|
<?xml-stylesheet href="file:///usr/bin/../share/nmap/nmap.xsl" type="text/xsl"?>
|
4
4
|
<!-- Nmap 6.45 scan initiated Fri Apr 17 13:23:10 2015 as: nmap -v -sS -sU -A -O --script ssh2-enum-algos,ssh-hostkey -oX spec/scan.xml scanme.nmap.org -->
|
5
|
-
<nmaprun scanner="nmap" args="nmap -v -sS -sU -A -O --script ssh2-enum-algos,ssh-hostkey -oX spec/scan.xml scanme.nmap.org" start="1429302190" startstr="Fri Apr 17 13:23:10 2015" version="6.45" xmloutputversion="1.04">
|
5
|
+
<nmaprun scanner="nmap" args="nmap -v -sS -sU -A -O --script ssh2-enum-algos,ssh-hostkey -oX spec/fixtures/scan.xml scanme.nmap.org" start="1429302190" startstr="Fri Apr 17 13:23:10 2015" version="6.45" xmloutputversion="1.04">
|
6
6
|
<scaninfo type="syn" protocol="tcp" numservices="1000" services="1,3-4,6-7,9,13,17,19-26,30,32-33,37,42-43,49,53,70,79-85,88-90,99-100,106,109-111,113,119,125,135,139,143-144,146,161,163,179,199,211-212,222,254-256,259,264,280,301,306,311,340,366,389,406-407,416-417,425,427,443-445,458,464-465,481,497,500,512-515,524,541,543-545,548,554-555,563,587,593,616-617,625,631,636,646,648,666-668,683,687,691,700,705,711,714,720,722,726,749,765,777,783,787,800-801,808,843,873,880,888,898,900-903,911-912,981,987,990,992-993,995,999-1002,1007,1009-1011,1021-1100,1102,1104-1108,1110-1114,1117,1119,1121-1124,1126,1130-1132,1137-1138,1141,1145,1147-1149,1151-1152,1154,1163-1166,1169,1174-1175,1183,1185-1187,1192,1198-1199,1201,1213,1216-1218,1233-1234,1236,1244,1247-1248,1259,1271-1272,1277,1287,1296,1300-1301,1309-1311,1322,1328,1334,1352,1417,1433-1434,1443,1455,1461,1494,1500-1501,1503,1521,1524,1533,1556,1580,1583,1594,1600,1641,1658,1666,1687-1688,1700,1717-1721,1723,1755,1761,1782-1783,1801,1805,1812,1839-1840,1862-1864,1875,1900,1914,1935,1947,1971-1972,1974,1984,1998-2010,2013,2020-2022,2030,2033-2035,2038,2040-2043,2045-2049,2065,2068,2099-2100,2103,2105-2107,2111,2119,2121,2126,2135,2144,2160-2161,2170,2179,2190-2191,2196,2200,2222,2251,2260,2288,2301,2323,2366,2381-2383,2393-2394,2399,2401,2492,2500,2522,2525,2557,2601-2602,2604-2605,2607-2608,2638,2701-2702,2710,2717-2718,2725,2800,2809,2811,2869,2875,2909-2910,2920,2967-2968,2998,3000-3001,3003,3005-3007,3011,3013,3017,3030-3031,3052,3071,3077,3128,3168,3211,3221,3260-3261,3268-3269,3283,3300-3301,3306,3322-3325,3333,3351,3367,3369-3372,3389-3390,3404,3476,3493,3517,3527,3546,3551,3580,3659,3689-3690,3703,3737,3766,3784,3800-3801,3809,3814,3826-3828,3851,3869,3871,3878,3880,3889,3905,3914,3918,3920,3945,3971,3986,3995,3998,4000-4006,4045,4111,4125-4126,4129,4224,4242,4279,4321,4343,4443-4446,4449,4550,4567,4662,4848,4899-4900,4998,5000-5004,5009,5030,5033,5050-5051,5054,5060-5061,5080,5087,5100-5102,5120,5190,5200,5214,5221-5222,5225-5226,5269,5280,5298,5357,5405,5414,5431-5432,5440,5500,5510,5544,5550,5555,5560,5566,5631,5633,5666,5678-5679,5718,5730,5800-5802,5810-5811,5815,5822,5825,5850,5859,5862,5877,5900-5904,5906-5907,5910-5911,5915,5922,5925,5950,5952,5959-5963,5987-5989,5998-6007,6009,6025,6059,6100-6101,6106,6112,6123,6129,6156,6346,6389,6502,6510,6543,6547,6565-6567,6580,6646,6666-6669,6689,6692,6699,6779,6788-6789,6792,6839,6881,6901,6969,7000-7002,7004,7007,7019,7025,7070,7100,7103,7106,7200-7201,7402,7435,7443,7496,7512,7625,7627,7676,7741,7777-7778,7800,7911,7920-7921,7937-7938,7999-8002,8007-8011,8021-8022,8031,8042,8045,8080-8090,8093,8099-8100,8180-8181,8192-8194,8200,8222,8254,8290-8292,8300,8333,8383,8400,8402,8443,8500,8600,8649,8651-8652,8654,8701,8800,8873,8888,8899,8994,9000-9003,9009-9011,9040,9050,9071,9080-9081,9090-9091,9099-9103,9110-9111,9200,9207,9220,9290,9415,9418,9485,9500,9502-9503,9535,9575,9593-9595,9618,9666,9876-9878,9898,9900,9917,9929,9943-9944,9968,9998-10004,10009-10010,10012,10024-10025,10082,10180,10215,10243,10566,10616-10617,10621,10626,10628-10629,10778,11110-11111,11967,12000,12174,12265,12345,13456,13722,13782-13783,14000,14238,14441-14442,15000,15002-15004,15660,15742,16000-16001,16012,16016,16018,16080,16113,16992-16993,17877,17988,18040,18101,18988,19101,19283,19315,19350,19780,19801,19842,20000,20005,20031,20221-20222,20828,21571,22939,23502,24444,24800,25734-25735,26214,27000,27352-27353,27355-27356,27715,28201,30000,30718,30951,31038,31337,32768-32785,33354,33899,34571-34573,35500,38292,40193,40911,41511,42510,44176,44442-44443,44501,45100,48080,49152-49161,49163,49165,49167,49175-49176,49400,49999-50003,50006,50300,50389,50500,50636,50800,51103,51493,52673,52822,52848,52869,54045,54328,55055-55056,55555,55600,56737-56738,57294,57797,58080,60020,60443,61532,61900,62078,63331,64623,64680,65000,65129,65389"/>
|
7
7
|
<scaninfo type="udp" protocol="udp" numservices="1000" services="2-3,7,9,13,17,19-23,37-38,42,49,53,67-69,80,88,111-113,120,123,135-139,158,161-162,177,192,199,207,217,363,389,402,407,427,434,443,445,464,497,500,502,512-515,517-518,520,539,559,593,623,626,631,639,643,657,664,682-689,764,767,772-776,780-782,786,789,800,814,826,829,838,902-903,944,959,965,983,989-990,996-1001,1007-1008,1012-1014,1019-1051,1053-1060,1064-1070,1072,1080-1081,1087-1088,1090,1100-1101,1105,1124,1200,1214,1234,1346,1419,1433-1434,1455,1457,1484-1485,1524,1645-1646,1701,1718-1719,1761,1782,1804,1812-1813,1885-1886,1900-1901,1993,2000,2002,2048-2049,2051,2148,2160-2161,2222-2223,2343,2345,2362,2967,3052,3130,3283,3296,3343,3389,3401,3456-3457,3659,3664,3702-3703,4000,4008,4045,4444,4500,4666,4672,5000-5003,5010,5050,5060,5093,5351,5353,5355,5500,5555,5632,6000-6002,6004,6050,6346-6347,6970-6971,7000,7938,8000-8001,8010,8181,8193,8900,9000-9001,9020,9103,9199-9200,9370,9876-9877,9950,10000,10080,11487,16086,16402,16420,16430,16433,16449,16498,16503,16545,16548,16573,16674,16680,16697,16700,16708,16711,16739,16766,16779,16786,16816,16829,16832,16838-16839,16862,16896,16912,16918-16919,16938-16939,16947-16948,16970,16972,16974,17006,17018,17077,17091,17101,17146,17184-17185,17205,17207,17219,17236-17237,17282,17302,17321,17331-17332,17338,17359,17417,17423-17424,17455,17459,17468,17487,17490,17494,17505,17533,17549,17573,17580,17585,17592,17605,17615-17616,17629,17638,17663,17673-17674,17683,17726,17754,17762,17787,17814,17823-17824,17836,17845,17888,17939,17946,17989,18004,18081,18113,18134,18156,18228,18234,18250,18255,18258,18319,18331,18360,18373,18449,18485,18543,18582,18605,18617,18666,18669,18676,18683,18807,18818,18821,18830,18832,18835,18869,18883,18888,18958,18980,18985,18987,18991,18994,18996,19017,19022,19039,19047,19075,19096,19120,19130,19140-19141,19154,19161,19165,19181,19193,19197,19222,19227,19273,19283,19294,19315,19322,19332,19374,19415,19482,19489,19500,19503-19504,19541,19600,19605,19616,19624-19625,19632,19639,19647,19650,19660,19662-19663,19682-19683,19687,19695,19707,19717-19719,19722,19728,19789,19792,19933,19935-19936,19956,19995,19998,20003-20004,20019,20031,20082,20117,20120,20126,20129,20146,20154,20164,20206,20217,20249,20262,20279,20288,20309,20313,20326,20359-20360,20366,20380,20389,20409,20411,20423-20425,20445,20449,20464-20465,20518,20522,20525,20540,20560,20665,20678-20679,20710,20717,20742,20752,20762,20791,20817,20842,20848,20851,20865,20872,20876,20884,20919,21000,21016,21060,21083,21104,21111,21131,21167,21186,21206-21207,21212,21247,21261,21282,21298,21303,21318,21320,21333,21344,21354,21358,21360,21364,21366,21383,21405,21454,21468,21476,21514,21524-21525,21556,21566,21568,21576,21609,21621,21625,21644,21649,21655,21663,21674,21698,21702,21710,21742,21780,21784,21800,21803,21834,21842,21847,21868,21898,21902,21923,21948,21967,22029,22043,22045,22053,22055,22105,22109,22123-22124,22341,22692,22695,22739,22799,22846,22914,22986,22996,23040,23176,23354,23531,23557,23608,23679,23781,23965,23980,24007,24279,24511,24594,24606,24644,24854,24910,25003,25157,25240,25280,25337,25375,25462,25541,25546,25709,25931,26407,26415,26720,26872,26966,27015,27195,27444,27473,27482,27707,27892,27899,28122,28369,28465,28493,28543,28547,28641,28840,28973,29078,29243,29256,29810,29823,29977,30263,30303,30365,30544,30656,30697,30704,30718,30975,31059,31073,31109,31189,31195,31335,31337,31365,31625,31681,31731,31891,32345,32385,32528,32768-32780,32798,32815,32818,32931,33030,33249,33281,33354-33355,33459,33717,33744,33866,33872,34038,34079,34125,34358,34422,34433,34555,34570,34577-34580,34758,34796,34855,34861-34862,34892,35438,35702,35777,35794,36108,36206,36384,36458,36489,36669,36778,36893,36945,37144,37212,37393,37444,37602,37761,37783,37813,37843,38037,38063,38293,38412,38498,38615,39213,39217,39632,39683,39714,39723,39888,40019,40116,40441,40539,40622,40708,40711,40724,40732,40805,40847,40866,40915,41058,41081,41308,41370,41446,41524,41638,41702,41774,41896,41967,41971,42056,42172,42313,42431,42434,42508,42557,42577,42627,42639,43094,43195,43370,43514,43686,43824,43967,44101,44160,44179,44185,44190,44253,44334,44508,44923,44946,44968,45247,45380,45441,45685,45722,45818,45928,46093,46532,46836,47624,47765,47772,47808,47915,47981,48078,48189,48255,48455,48489,48761,49152-49163,49165-49182,49184-49202,49204-49205,49207-49216,49220,49222,49226,49259,49262,49306,49350,49360,49393,49396,49503,49640,49968,50099,50164,50497,50612,50708,50919,51255,51456,51554,51586,51690,51717,51905,51972,52144,52225,52503,53006,53037,53571,53589,53838,54094,54114,54281,54321,54711,54807,54925,55043,55544,55587,56141,57172,57409-57410,57813,57843,57958,57977,58002,58075,58178,58419,58631,58640,58797,59193,59207,59765,59846,60172,60381,60423,61024,61142,61319,61322,61370,61412,61481,61550,61685,61961,62154,62287,62575,62677,62699,62958,63420,63555,64080,64481,64513,64590,64727,65024"/>
|
8
8
|
<verbose level="1"/>
|
data/spec/host_spec.rb
CHANGED
data/spec/port_spec.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -8,7 +8,7 @@ include Nmap
|
|
8
8
|
|
9
9
|
RSpec.configure do |spec|
|
10
10
|
spec.before(:all) do
|
11
|
-
@xml = XML.open('spec/scan.xml')
|
12
|
-
@local_xml = XML.open('spec/local_scan.xml')
|
11
|
+
@xml = XML.open('spec/fixtures/scan.xml')
|
12
|
+
@local_xml = XML.open('spec/fixtures/local_scan.xml')
|
13
13
|
end
|
14
14
|
end
|
data/spec/status_spec.rb
CHANGED
@@ -5,8 +5,9 @@ describe Status do
|
|
5
5
|
describe "#to_s" do
|
6
6
|
let(:state) { :up }
|
7
7
|
let(:reason) { 'syn-ack' }
|
8
|
+
let(:reason_ttl) { 100 }
|
8
9
|
|
9
|
-
subject { described_class.new(state,reason) }
|
10
|
+
subject { described_class.new(state,reason,reason_ttl) }
|
10
11
|
|
11
12
|
it "should return the state" do
|
12
13
|
expect(subject.to_s).to eq(state.to_s)
|
data/spec/xml_spec.rb
CHANGED
@@ -2,7 +2,8 @@ require 'spec_helper'
|
|
2
2
|
require 'nmap/xml'
|
3
3
|
|
4
4
|
describe XML do
|
5
|
-
let(:
|
5
|
+
let(:file) { 'spec/fixtures/scan.xml' }
|
6
|
+
let(:path) { File.expand_path(file) }
|
6
7
|
|
7
8
|
subject { described_class.new(path) }
|
8
9
|
|
@@ -72,7 +73,7 @@ describe XML do
|
|
72
73
|
end
|
73
74
|
|
74
75
|
it "should parse the scanner arguments" do
|
75
|
-
expect(subject.scanner.arguments).to eq(
|
76
|
+
expect(subject.scanner.arguments).to eq("nmap -v -sS -sU -A -O --script ssh2-enum-algos,ssh-hostkey -oX #{file} scanme.nmap.org")
|
76
77
|
end
|
77
78
|
|
78
79
|
it "should parse the scanner start time" do
|
@@ -163,6 +164,24 @@ describe XML do
|
|
163
164
|
it { is_expected.to all(be_kind_of(ScanTask)) }
|
164
165
|
end
|
165
166
|
|
167
|
+
describe "#task" do
|
168
|
+
context "when the task with the given name exists" do
|
169
|
+
it "must return the matching task" do
|
170
|
+
name = "Parallel DNS resolution of 1 host."
|
171
|
+
task = subject.task(name)
|
172
|
+
|
173
|
+
expect(task).to be_kind_of(ScanTask)
|
174
|
+
expect(task.name).to be == name
|
175
|
+
end
|
176
|
+
end
|
177
|
+
|
178
|
+
context "when no task with the given name can be found" do
|
179
|
+
it "must return nil" do
|
180
|
+
expect(subject.task('Foo')).to be(nil)
|
181
|
+
end
|
182
|
+
end
|
183
|
+
end
|
184
|
+
|
166
185
|
describe "#prescript" do
|
167
186
|
subject { super().prescript }
|
168
187
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-nmap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Postmodern
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-03-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '2.0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '2.0'
|
55
55
|
description: A Ruby interface to Nmap, the exploration tool and security / port scanner.
|
56
56
|
email: postmodern.mod3@gmail.com
|
57
57
|
executables: []
|
@@ -107,12 +107,13 @@ files:
|
|
107
107
|
- spec/address_spec.rb
|
108
108
|
- spec/cpe/url_spec.rb
|
109
109
|
- spec/cpe_examples.rb
|
110
|
+
- spec/fixtures/local_scan.xml
|
111
|
+
- spec/fixtures/scan.xml
|
110
112
|
- spec/hop_spec.rb
|
111
113
|
- spec/host_script_spec.rb
|
112
114
|
- spec/host_spec.rb
|
113
115
|
- spec/hostname_spec.rb
|
114
116
|
- spec/ip_id_sequence_spec.rb
|
115
|
-
- spec/local_scan.xml
|
116
117
|
- spec/nmap_spec.rb
|
117
118
|
- spec/os_class_spec.rb
|
118
119
|
- spec/os_match_spec.rb
|
@@ -121,7 +122,6 @@ files:
|
|
121
122
|
- spec/postscript_spec.rb
|
122
123
|
- spec/prescript_spec.rb
|
123
124
|
- spec/run_stat_spec.rb
|
124
|
-
- spec/scan.xml
|
125
125
|
- spec/scan_spec.rb
|
126
126
|
- spec/scan_task_spec.rb
|
127
127
|
- spec/scanner_spec.rb
|
@@ -153,38 +153,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
153
153
|
requirements:
|
154
154
|
- - ">="
|
155
155
|
- !ruby/object:Gem::Version
|
156
|
-
version:
|
156
|
+
version: '0'
|
157
157
|
requirements:
|
158
158
|
- nmap >= 5.00
|
159
|
-
|
160
|
-
rubygems_version: 2.6.14
|
159
|
+
rubygems_version: 3.0.3
|
161
160
|
signing_key:
|
162
161
|
specification_version: 4
|
163
162
|
summary: A Ruby interface to Nmap.
|
164
|
-
test_files:
|
165
|
-
- spec/address_spec.rb
|
166
|
-
- spec/cpe/url_spec.rb
|
167
|
-
- spec/hop_spec.rb
|
168
|
-
- spec/host_script_spec.rb
|
169
|
-
- spec/host_spec.rb
|
170
|
-
- spec/hostname_spec.rb
|
171
|
-
- spec/ip_id_sequence_spec.rb
|
172
|
-
- spec/nmap_spec.rb
|
173
|
-
- spec/os_class_spec.rb
|
174
|
-
- spec/os_match_spec.rb
|
175
|
-
- spec/os_spec.rb
|
176
|
-
- spec/port_spec.rb
|
177
|
-
- spec/postscript_spec.rb
|
178
|
-
- spec/prescript_spec.rb
|
179
|
-
- spec/run_stat_spec.rb
|
180
|
-
- spec/scan_spec.rb
|
181
|
-
- spec/scan_task_spec.rb
|
182
|
-
- spec/scanner_spec.rb
|
183
|
-
- spec/service_spec.rb
|
184
|
-
- spec/status_spec.rb
|
185
|
-
- spec/task_spec.rb
|
186
|
-
- spec/tcp_sequence_spec.rb
|
187
|
-
- spec/tcp_ts_sequence_spec.rb
|
188
|
-
- spec/traceroute_spec.rb
|
189
|
-
- spec/uptime_spec.rb
|
190
|
-
- spec/xml_spec.rb
|
163
|
+
test_files: []
|