//comment out if using a stand alone tool
nmap = function(target_ip)
//uncomment is not using as import.
//if params.len != 1 or params[0] == "-h" or params[0] == "--help" then exit("Usage: "+program_path.split("/")[-1]+" [ip_address]")
target_ip = params[0]
if not is_valid_ip(target_ip) then exit(target_ip + " is not a valid ip")
if nslookup(target_ip) == "Not found" then
exit("That domain is not valid.")
end if
target_router = get_router(target_ip)
target_ports = target_router.used_ports
router_data = []
column = "Number Type Version IP"
column = column + "\n" + "0" + " " + "kernel_router" + " " + target_router.kernel_version + " " + target_router.local_ip
router_data.push({"port":"0", "port_info":"kernel_router", "port_info": target_router.kernel_version, "lan_ip":target_router.local_ip})
for port in target_ports
column = column + "\n" + port.port_number + " " + target_router.port_info(port) + " " + port.get_lan_ip
router_data.push({"port":port.port_number,"port_info":target_router.port_info(port),"lan_ip":port.get_lan_ip})
end for
print("\nIP Address : " + target_ip)
print(format_columns(column))
return router_data
//comment out if using a stand alone tool
end function