LuaSocket
Network support for the Lua language

home · download · installation · introduction · reference


DNS

IPv4 name resolution functions dns.toip and dns.tohostname return all information obtained from the resolver in a table of the form:

resolved4 = {
  name = canonic-name,
  alias = alias-list,
  ip = ip-address-list
}

Note that the alias list can be empty.

The more general name resolution function dns.getaddrinfo, which supports both IPv6 and IPv4, returns all information obtained from the resolver in a table of the form:

resolved6 = {
  [1] = {
    family = family-name-1,
    addr = address-1
  },
  ...
  [n] = {
    family = family-name-n,
    addr = address-n
  }
}

Here, family contains the string "inet" for IPv4 addresses, and "inet6" for IPv6 addresses.

socket.dns.getaddrinfo(address)

Converts from host name to address.

Address can be an IPv4 or IPv6 address or host name.

The function returns a table with all information returned by the resolver. In case of error, the function returns nil followed by an error message.

socket.dns.getnameinfo([host] [, service])

Resolves a host and/or a service name through the system resolver and returns their canonical name form. At least one of host or service must be given.

Host is an optional string with a host name or IP address. Service is an optional string with a service name or port number.

If host was given, returns a numerically-indexed table with the canonical host name found for each address the resolver returns for host. If service was also given, the canonical service name is returned as an additional value; if only service was given, its canonical name is returned by itself. In case of error, the function returns nil followed by an error message.

socket.dns.gethostname()

Returns the standard host name for the machine as a string.

socket.dns.tohostname(address)

Converts from IPv4 address to host name.

Address can be an IP address or host name.

The function returns a string with the canonic host name of the given address, followed by a table with all information returned by the resolver. In case of error, the function returns nil followed by an error message.

socket.dns.toip(address)

Converts from host name to IPv4 address.

Address can be an IP address or host name.

Returns a string with the first IP address found for address, followed by a table with all information returned by the resolver. In case of error, the function returns nil followed by an error message.