mirror of
https://github.com/nmap/nmap.git
synced 2025-12-06 04:31:29 +00:00
XML output for rpcinfo.nse
This commit is contained in:
@@ -38,6 +38,37 @@ Connects to portmapper and fetches a list of all registered programs. It then p
|
||||
-- | 300598 1 32783/udp dmispd
|
||||
-- | 805306368 1 32782/tcp dmispd
|
||||
-- |_ 805306368 1 32783/udp dmispd
|
||||
--@xmloutput
|
||||
--<table>
|
||||
-- <table key="100003">
|
||||
-- <table key="tcp">
|
||||
-- <elem key="port">2049</elem>
|
||||
-- <table key="version">
|
||||
-- <elem>2</elem> <elem>3</elem> <elem>4</elem>
|
||||
-- </table>
|
||||
-- </table>
|
||||
-- <table key="udp">
|
||||
-- <elem key="port">2049</elem>
|
||||
-- <table key="version">
|
||||
-- <elem>2</elem> <elem>3</elem> <elem>4</elem>
|
||||
-- </table>
|
||||
-- </table>
|
||||
-- </table>
|
||||
-- <table key="100000">
|
||||
-- <table key="tcp">
|
||||
-- <elem key="port">111</elem>
|
||||
-- <table key="version">
|
||||
-- <elem>2</elem> <elem>3</elem> <elem>4</elem>
|
||||
-- </table>
|
||||
-- </table>
|
||||
-- <table key="udp">
|
||||
-- <elem key="port">111</elem>
|
||||
-- <table key="version">
|
||||
-- <elem>2</elem> <elem>3</elem> <elem>4</elem>
|
||||
-- </table>
|
||||
-- </table>
|
||||
-- </table>
|
||||
--</table>
|
||||
|
||||
author = "Patrik Karlsson"
|
||||
license = "Same as Nmap--See http://nmap.org/book/man-legal.html"
|
||||
@@ -50,12 +81,14 @@ action = function(host, port)
|
||||
|
||||
local result = {}
|
||||
local status, rpcinfo = rpc.Helper.RpcInfo( host, port )
|
||||
local xmlout = {}
|
||||
|
||||
if ( not(status) ) then
|
||||
return stdnse.format_output(false, rpcinfo)
|
||||
end
|
||||
|
||||
for progid, v in pairs(rpcinfo) do
|
||||
xmlout[tostring(progid)] = v
|
||||
for proto, v2 in pairs(v) do
|
||||
table.insert( result, ("%-7d %-10s %5d/%s %s"):format(progid, stdnse.strjoin(",", v2.version), v2.port, proto, rpc.Util.ProgNumberToName(progid) or "") )
|
||||
end
|
||||
@@ -67,6 +100,6 @@ action = function(host, port)
|
||||
table.insert(result, 1, "program version port/proto service")
|
||||
end
|
||||
|
||||
return stdnse.format_output( true, result )
|
||||
return xmlout, stdnse.format_output( true, result )
|
||||
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user