Files

nmap.src
  • map = function(list, func)
  • result = list[0:] //list copy.
  • for i in indexes(list)
  • result[i] = func(result[i])
  • end for
  • return result
  • end function
  • Nmap = {}
  • Nmap.ip = ""
  • Nmap.init = function()
  • if not is_valid_ip(self.ip) then exit("nmap: invalid ip address")
  • self.is_lan = is_lan_ip(self.ip)
  • self.set_router()
  • self.set_ports()
  • end function
  • Nmap.set_router = function()
  • if self.is_lan then
  • self.router = get_router;
  • else
  • self.router = get_router(self.ip)
  • end if
  • if self.router == null then exit("nmap: ip address not found")
  • end function
  • Nmap.set_ports = function()
  • if not self.is_lan then
  • self.ports = self.router.used_ports
  • else
  • self.ports = self.router.device_ports(self.ip)
  • end if
  • if self.ports == null then exit("nmap: ip address not found")
  • if typeof(self.ports) == "string" then exit(self.ports)
  • self.format_ports()
  • end function
  • Nmap.format_ports = function()
  • port_to_map = function(port)
  • service_info = self.router.port_info(port)
  • lan_ip = port.get_lan_ip
  • port_status = "open"
  • if(port.is_closed and not self.is_lan) then
  • port_status = "closed"
  • end if
  • return {"port": port.port_number, "state": port_status, "service": service_info, "lan_ip": lan_ip, "obj": port}
  • end function
  • self.ports = map(self.ports, @port_to_map)
  • end function
  • Nmap.ip = "82.132.52.75"
  • Nmap.init
  • print(Nmap.ports)