diff options
Diffstat (limited to 'scripts/broadcast-versant-locate.nse')
-rw-r--r-- | scripts/broadcast-versant-locate.nse | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/scripts/broadcast-versant-locate.nse b/scripts/broadcast-versant-locate.nse new file mode 100644 index 0000000..015c0c8 --- /dev/null +++ b/scripts/broadcast-versant-locate.nse @@ -0,0 +1,41 @@ +local srvloc = require "srvloc" +local table = require "table" + +description = [[ +Discovers Versant object databases using the broadcast srvloc protocol. +]] + +--- +-- @usage +-- nmap --script broadcast-versant-locate +-- +-- @output +-- Pre-scan script results: +-- | broadcast-versant-locate: +-- |_ vod://192.168.200.222:5019 +-- +-- @xmloutput +-- <table> +-- <elem>vod://192.168.200.222:5019</elem> +-- </table> + + +author = "Patrik Karlsson" +license = "Same as Nmap--See https://nmap.org/book/man-legal.html" +categories = {"broadcast", "safe"} + + +prerule = function() return true end + +action = function() + local helper = srvloc.Helper:new() + local status, result = helper:ServiceRequest("service:odbms.versant:vod", "default") + helper:close() + + if ( not(status) ) then return end + local output = {} + for _, v in ipairs(result) do + table.insert(output, v:match("^service:odbms.versant:vod://(.*)$")) + end + return output +end |