diff --git a/nselib/nmap.luadoc b/nselib/nmap.luadoc new file mode 100644 index 000000000..86bc43226 --- /dev/null +++ b/nselib/nmap.luadoc @@ -0,0 +1,103 @@ + +--- Nmap library is an interface for scripts with Nmap internals. The API +-- provides target host details such as port states and version detection +-- results. It also offers an interface to the Nsock library for efficient +-- network I/O. + +module "nmap" + +--- Gets the debugging level for Nmap. +-- @return The positive integer debugging level. + +function nmap.debugging() + +--- Determines if Nmap was compiled with SSL support. +-- @return Has SSL Support. + +function nmap.have_ssl() + +--- Gets the verbosity level for Nmap. +-- @return The positive integer verbosity level. + +function nmap.verbosity() + +--- Search for the specified file and returns a string containing its path if +-- found and readable (to the process). If the file is not found, not readable, +-- or is a directory, nil is returned. +-- @param filename Filename to search for. +-- @return String representing the full path to the file or nil. + +function nmap.fetchfile(filename) + +--- Get the positive integer timing level. Possible return values vary from 0 +-- to 5, corresponding to the six built-in Nmap timing templates. +-- @return Positive integer timing level. + +function nmap.timing_level() + +--- Gets the status of the port for host. It returns a new port table for that +-- host. +-- @param host Host table. +-- @param port Port table. +-- @param protocol Protocol string ("tcp" or "udp") +-- @return A new port table holding the status and information for the port. +function nmap.get_port_state(host, port, protocol) + +--- Takes a host table, a port table, and a port state ("open" or "closed"). +-- Using this function, the final port state, reflected in Nmap's results, +-- can be changed for a target. This is useful when Nmap detects a port as +-- open|filtered (i.e. unable to determine which), but the script successfully +-- connects to that port. In this case, the script can set the port state to +-- "open". Note that the port.state value, which is passed to the script's +-- action function will not be changed by this call. +function nmap.set_port_state(host, port, state) + +--- This function is used to record version information when it is discovered +-- concerning the services on a port. The port table should have extra fields +-- for "name", "product", "version", "extrainfo", "hostname", "ostype", +-- "devicetype", and "service_tunnel". None of these values are required. +-- @param host Host table. +-- @param port Port table. +-- @param probestate The state of the probe: "hardmatched", "softmatched", +-- "nomatch", "tcpwrapped", or "incomplete". +function nmap.set_port_version(host, port, probestate) + +--- Returns a number representing the current time in milliseconds since the +-- start of the epoch (on most systems this is 01/01/1970). +function nmap.clock_ms() + +--- For the provided dnet-style interface_name, this function returns to what +-- kind of link level hardware the interface belongs. Return values are: +-- "ethernet", "loopback", or "p2p". If the provided interface_name is not +-- one of those types, nil is returned. +-- @param interface_name The name of the interface. +-- @return "ethernet", "loopback", "p2p", or nil. +function nmap.get_interface_link(interface_name) + +--- Returns a new NSE socket object which is the recommended method for network +-- I/O. It provides facilities to perform communication using the UDP, TCP, and +-- SSL protocol in a uniform manner. +-- @return A new NSE socket. +-- @see nsock +function nmap.new_socket() + +--- Returns a function that works on a mutex for the object passed. This object +-- can be any Lua data type except nil, booleans, and numbers. The returned +-- function allows you to lock, try to lock, and release the mutex. +--
+-- "lock" makes a blocking lock on the mutex. If the mutex is busy then +-- the thread will yield and wait. The function returns with the mutex locked. +--
+-- "trylock" makes a non-blocking lock on the mutex. If the mutex is +-- busy then it immediately returns with a return value of false. Otherwise, +-- the mutex locks the mutex and returns true. +--
+-- "done" releases the mutex and allows another thread to lock it. If +-- the thread does not have a lock on the mutex, an error will be raised. +--
+-- "running" returns the thread locked on the mutex or nil if no thread +-- is locked. +-- @param object Object to create a mutex for. +-- @return Mutex function which takes one of the following parameters: "lock", +-- "trylock", "done", or "running". +function nmap.mutex(object)