Функция net.LookupAddr

Функция net.LookupAddr выполняет обратный DNS-запрос, преобразуя IP-адрес в список доменных имен. Она принимает строку с IP-адресом и возвращает слайс строк с именами хостов, соответствующих этому адресу, и ошибку.

Синтаксис

gofunc LookupAddr(addr string) (names []string, err error)

Пример

Давайте выполним обратный DNS-запрос для публичного адреса Google:

gopackage main

import (
  "fmt"
  "net"
)

func main() {
  names, err := net.LookupAddr("8.8.8.8")
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(names)
}

Результат выполнения кода:

go[dns.google.]

Пример

Давайте выполним обратный DNS-запрос для адреса локального хоста:

gopackage main

import (
  "fmt"
  "net"
)

func main() {
  names, err := net.LookupAddr("127.0.0.1")
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(names)
}

Результат выполнения кода:

go[localhost.]

Пример

Давайте попробуем выполнить запрос для несуществующего адреса:

gopackage main

import (
  "fmt"
  "net"
)

func main() {
  names, err := net.LookupAddr("10.0.0.999")
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(names)
}

Результат выполнения кода:

go"lookup 10.0.0.999: invalid domain name"

Смотрите также

  • функцию net.LookupHost,
    которая выполняет прямой DNS-запрос для получения IP-адресов по имени хоста
  • функцию net.LookupIP,
    которая выполняет DNS-запрос для получения всех IP-адресов хоста
  • функцию net.LookupCNAME,
    которая возвращает каноническое имя хоста по его доменному имени
  • функцию net.LookupMX,
    которая возвращает список MX-записей домена для почтового обмена