Server : Apache/2.4.18 (Ubuntu) System : Linux canvaswebdesign 3.13.0-71-generic #114-Ubuntu SMP Tue Dec 1 02:34:22 UTC 2015 x86_64 User : oppastar ( 1041) PHP Version : 7.0.33-0ubuntu0.16.04.15 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, Directory : /usr/share/nmap/scripts/ |
Upload File : |
local bin = require "bin" local ipOps = require "ipOps" local srvloc = require "srvloc" local stdnse = require "stdnse" local table = require "table" description = [[ Attempts to use the Service Location Protocol to discover Novell NetWare Core Protocol (NCP) servers. ]] --- -- --@output -- Pre-scan script results: -- | broadcast-novell-locate: -- | Tree name: CQURE-LABTREE -- | Server name: linux-l84t -- | Addresses -- |_ 192.168.56.33 -- -- -- Version 0.1 -- Created 04/26/2011 - v0.1 - created by Patrik Karlsson author = "Patrik Karlsson" license = "Same as Nmap--See https://nmap.org/book/man-legal.html" categories = {"broadcast", "safe"} prerule = function() return true end function action() local helper = srvloc.Helper:new() local status, bindery = helper:ServiceRequest("bindery.novell", "DEFAULT") if ( not(status) or not(bindery) ) then helper:close() return end bindery = bindery[1] local srvname = bindery:match("%/%/%/(.*)$") local status, attrib = helper:AttributeRequest(bindery, "DEFAULT", "svcaddr-ws") helper:close() attrib = attrib:match("^%(svcaddr%-ws=(.*)%)$") if ( not(attrib) ) then return end local attribs = stdnse.strsplit(",", attrib) if ( not(attribs) ) then return end local addrs = { name = "Addresses"} local ips = {} for _, attr in ipairs(attribs) do local addr = attr:match("^%d*%-%d*%-%d*%-(........)") if ( addr ) then local pos, dw_addr = bin.unpack( "<I", bin.pack("H", addr) ) local ip = ipOps.fromdword(dw_addr) if ( not(ips[ip]) ) then table.insert(addrs, ip) ips[ip] = ip end end end local output = {} local status, treename = helper:ServiceRequest("ndap.novell", "DEFAULT") if ( status ) then treename = treename[1] treename = treename:match("%/%/%/(.*)%.$") table.insert(output, ("Tree name: %s"):format(treename)) end table.insert(output, ("Server name: %s"):format(srvname)) table.insert(output, addrs) return stdnse.format_output(true, output) end