1
0
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:
dmiller
2013-05-04 23:12:36 +00:00
parent 47eaecef5a
commit dbbf2671ba

View File

@@ -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