mirror of
https://github.com/rapid7/metasploit-framework
synced 2024-10-29 18:07:27 +01:00
Land #4921, db_nmap help and tab completion
This commit is contained in:
commit
e176b21bcd
@ -1647,11 +1647,18 @@ class Db
|
||||
print_status("Usage: db_nmap [nmap options]")
|
||||
return
|
||||
end
|
||||
|
||||
save = false
|
||||
if args.include?("save")
|
||||
save = active?
|
||||
args.delete("save")
|
||||
arguments = ''
|
||||
while (arg = args.shift)
|
||||
case arg
|
||||
when 'save'
|
||||
save = active?
|
||||
when '--help', '-h'
|
||||
cmd_db_nmap_help
|
||||
return
|
||||
else
|
||||
arguments << arg + ' '
|
||||
end
|
||||
end
|
||||
|
||||
nmap =
|
||||
@ -1682,7 +1689,7 @@ class Db
|
||||
end
|
||||
|
||||
begin
|
||||
nmap_pipe = ::Open3::popen3([nmap, "nmap"], *args)
|
||||
nmap_pipe = ::Open3::popen3([nmap, 'nmap'], arguments)
|
||||
temp_nmap_threads = []
|
||||
temp_nmap_threads << framework.threads.spawn("db_nmap-Stdout", false, nmap_pipe[1]) do |np_1|
|
||||
np_1.each_line do |nmap_out|
|
||||
@ -1715,6 +1722,45 @@ class Db
|
||||
}
|
||||
end
|
||||
|
||||
def cmd_db_nmap_help
|
||||
nmap =
|
||||
Rex::FileUtils.find_full_path('nmap') ||
|
||||
Rex::FileUtils.find_full_path('nmap.exe')
|
||||
|
||||
stdout, stderr = Open3.capture3([nmap, 'nmap'], '--help')
|
||||
|
||||
stdout.each_line do |out_line|
|
||||
next if out_line.strip.empty?
|
||||
print_status(out_line.strip);
|
||||
end
|
||||
|
||||
stderr.each_line do |err_line|
|
||||
next if err_line.strip.empty?
|
||||
print_error(err_line.strip)
|
||||
end
|
||||
end
|
||||
|
||||
def cmd_db_nmap_tabs(str, words)
|
||||
nmap =
|
||||
Rex::FileUtils.find_full_path('nmap') ||
|
||||
Rex::FileUtils.find_full_path('nmap.exe')
|
||||
|
||||
stdout, stderr = Open3.capture3([nmap, 'nmap'], '--help')
|
||||
tabs = []
|
||||
stdout.each_line do |out_line|
|
||||
if out_line.strip.starts_with?('-')
|
||||
tabs.push(out_line.strip.split(':').first)
|
||||
end
|
||||
end
|
||||
|
||||
stderr.each_line do |err_line|
|
||||
next if err_line.strip.empty?
|
||||
print_error(err_line.strip)
|
||||
end
|
||||
|
||||
tabs
|
||||
end
|
||||
|
||||
#
|
||||
# Store some locally-generated data as a file, similiar to store_loot.
|
||||
#
|
||||
|
Loading…
Reference in New Issue
Block a user