![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 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_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /usr/share/nmap/scripts/ |
Upload File : |
local ipOps = require "ipOps" local srvloc = require "srvloc" local stdnse = require "stdnse" local stringaux = require "stringaux" 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 = stringaux.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 ip = ipOps.str_to_ip(stdnse.fromhex(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