
واجهة روبي لـ nmap، أداة الاستكشاف وماسح الأمان / المنافذ. تتيح أتمتة nmap وتحليل ملفات XML الخاصة بـ nmap.
واجهة برمجة تطبيقات (API) بلغة Ruby لأداة nmap، أداة الاستكشاف ومسح المنافذ الأمنية. تتيح أتمتة nmap وتحليل ملفات nmap بصيغة XML.
تشغيل Nmap من Ruby:
require 'nmap/command'
Nmap::Command.run do |nmap|
nmap.connect_scan = true
nmap.service_scan = true
nmap.output_xml = 'scan.xml'
nmap.verbose = true
nmap.ports = [20, 21, 22, 23, 25, 80, 110, 443, 512, 522, 8080, 1080]
nmap.targets = '192.168.1.*'
end
تشغيل sudo nmap من Ruby:
require 'nmap/command'
Nmap::Command.sudo do |nmap|
nmap.syn_scan = true
nmap.os_fingerprint = true
nmap.service_scan = true
nmap.output_xml = 'scan.xml'
nmap.verbose = true
nmap.ports = [20, 21, 22, 23, 25, 80, 110, 443, 512, 522, 8080, 1080]
nmap.targets = '192.168.1.*'
end
تحليل ملفات مسح Nmap بصيغة XML:
require 'nmap/xml'
Nmap::XML.open('scan.xml') do |xml|
xml.each_host do |host|
puts "[#{host.ip}]"
host.each_port do |port|
puts " #{port.number}/#{port.protocol}\t#{port.state}\t#{port.service}"
end
end
end
طباعة إخراج البرامج النصية لـ NSE من ملف مسح XML:
require 'nmap/xml'
Nmap::XML.open('nse.xml') do |xml|
xml.each_host do |host|
puts "[#{host.ip}]"
host.scripts.each do |name,output|
output.each_line { |line| puts " #{line}" }
end
host.each_port do |port|
puts " [#{port.number}/#{port.protocol}]"
port.scripts.each do |id,script|
puts " [#{id}]"
script.output.each_line { |line| puts " #{line}" }
end
end
end
end
$ sudo apt install nmap
$ sudo dnf install nmap
$ brew install nmap
$ gem install ruby-nmap
انظر {file:LICENSE.txt} للحصول على معلومات الترخيص.