mirror of
https://github.com/nmap/nmap.git
synced 2025-12-09 06:01:28 +00:00
36 lines
1.0 KiB
Lua
36 lines
1.0 KiB
Lua
description = [[
|
|
Get's the routers WAN IP using the NAT Port Mapping Protocol (NAT-PMP).
|
|
The NAT-PMP protocol is supported by a broad range of routers including:
|
|
- Apple AirPort Express
|
|
- Apple AirPort Extreme
|
|
- Apple Time Capsule
|
|
- DD-WRT
|
|
- OpenWrt v8.09 or higher, with MiniUPnP daemon
|
|
- pfSense v2.0
|
|
- Tarifa (firmware) (Linksys WRT54G/GL/GS)
|
|
- Tomato Firmware v1.24 or higher. (Linksys WRT54G/GL/GS and many more)
|
|
- Peplink Balance
|
|
]]
|
|
|
|
author = "Patrik Karlsson"
|
|
license = "Same as Nmap--See http://nmap.org/book/man-legal.html"
|
|
categories = {"default", "discovery", "safe"}
|
|
|
|
require 'shortport'
|
|
require 'natpmp'
|
|
|
|
portrule = shortport.port_or_service(5351, "nat-pmp", {"udp"} )
|
|
|
|
action = function(host, port)
|
|
local helper = natpmp.Helper:new(host, port)
|
|
local status, response = helper:getWANIP()
|
|
|
|
if ( status ) then
|
|
nmap.set_port_state(host, port, "open")
|
|
port.version.name = "nat-pmp"
|
|
nmap.set_port_version(host, port, "hardmatched")
|
|
|
|
return stdnse.format_output(true, ("WAN IP: %s"):format(response.ip))
|
|
end
|
|
end
|