stun NSE Library — Nmap Scripting Engine documentation (original) (raw)
A library that implements the basics of the STUN protocol (Session Traversal Utilities for NAT) per RFC3489 and RFC5389. A protocol overview is available at http://en.wikipedia.org/wiki/STUN.
Author:
Source: https://svn.nmap.org/nmap/nselib/stun.lua
Script Arguments
stun.mode
Mode container to use. Supported containers: "modern" (default) or "classic"
Functions
Attribute.new (self, type, data)
creates a new attribute instance
Attribute.parse (data)
parses a string and creates an Attribute instance
Comm.close (self)
closes the connection to the server
Comm.connect (self)
connects the socket to the server
Comm.exch (self, req)
sends the request instance to the server and receives the response
Comm.new (self, host, port, options)
creates a new Comm instance
Comm.recv (self)
receives a response from the server
Comm.send (self, data)
sends a request to the server
Header.new (self, type, trans_id, length)
creates a new instance of Header
Header.parse (data)
parses an opaque string and creates a new Header instance
Helper.close (self)
closes the connection to the server
Helper.connect (self)
connects to the server
Helper.getExternalAddress (self)
Gets the external public IP
Helper.getVersion (self)
Gets the server version if it was returned by the server
Helper.new (self, host, port, options, mode)
creates a new Helper instance
Request.Bind.new (self, trans_id)
Creates a new Bind request
Response.Bind.new (self, trans_id)
creates a new instance of the Bind response
Response.Bind.parse (data)
parses a raw string and creates a new Bind instance
Functions
Attribute.new (self, type, data)
creates a new attribute instance
Parameters
self
type
number containing the attribute type
data
string containing the attribute value
Return value:
instance of attribute
Attribute.parse (data)
parses a string and creates an Attribute instance
Parameters
data
string containing the raw attribute
Return value:
new attribute instance
Comm.close (self)
closes the connection to the server
Parameters
self
Return values:
- status true on success, false on failure
- err string containing an error message, if status is false
Comm.connect (self)
connects the socket to the server
Parameters
self
Return values:
- status true on success, false on failure
- err string containing an error message, if status is false
Comm.exch (self, req)
sends the request instance to the server and receives the response
Parameters
self
req
request class instance
Return values:
- status true on success, false on failure
- response containing a response instance, or err string containing an error message, if status is false
Comm.new (self, host, port, options)
creates a new Comm instance
Parameters
self
host
table
port
table
options
table, currently supporting:timeout
- socket timeout in ms.
Return value:
new instance of Comm
Comm.recv (self)
receives a response from the server
Parameters
self
Return values:
- status true on success, false on failure
- response containing a response instance, or err string containing an error message, if status is false
Comm.send (self, data)
sends a request to the server
Parameters
self
data
Return values:
- status true on success, false on failure
- err string containing an error message, if status is false
creates a new instance of Header
Parameters
self
type
number the request/response type
trans_id
string the 128-bit transaction id
length
number the packet length
Return value:
new instance of Header
parses an opaque string and creates a new Header instance
Parameters
data
opaque string
Return value:
new instance of Header
Helper.close (self)
closes the connection to the server
Parameters
self
Return values:
- status true on success, false on failure
- err string containing an error message, if status is false
Helper.connect (self)
connects to the server
Parameters
self
Return values:
- status true on success, false on failure
- err string containing an error message, if status is false
Helper.getExternalAddress (self)
Gets the external public IP
Parameters
self
Return values:
- status true on success, false on failure
- result containing the IP as string
Helper.getVersion (self)
Gets the server version if it was returned by the server
Parameters
self
Return values:
- status true on success, false on failure
- version string containing the server product and version
Helper.new (self, host, port, options, mode)
creates a new Helper instance
Parameters
self
host
table
port
table
options
table, currently supporting:timeout
- socket timeout in ms.
mode
containing the mode container. Supported containers: "modern" (default) or "classic"
Return value:
o new instance of Helper
Request.Bind.new (self, trans_id)
Creates a new Bind request
Parameters
self
trans_id
string containing the 128 bit transaction ID
Return value:
new instance of the Bind request
Response.Bind.new (self, trans_id)
creates a new instance of the Bind response
Parameters
self
trans_id
string containing the 128 bit transaction id
Return value:
new Bind instance
Response.Bind.parse (data)
parses a raw string and creates a new Bind instance
Parameters
data
string containing the raw data
Return value:
a new Bind instance