Диагностика сетевого подключения (ping, arp, traceroute, dig, nslookup)

Утилита Ping

Назначение состоит в определении возможности прохождения пакетов от узла на котором выполняется запрос до узла в сети. Команда ping посылает ICMP ECHO запрос на целевой узел и получает ECHO ответ в случае доступности узла. Если в течении определенного времени ответ не получен утилита завершает работу с выводом строки «unknown host». При удачном запросе возвращает обобщенную статистику и строки вида (UNIX и MacOS):64 bytes from (): icmp_seq=1 ttl=57 time=27.8 ms
где 64 bytes — кол-во переданных байт с одним пакетом, icmp_seq — номер запроса, ttl(time to live) — время жизни IP (в приближенном смысле не более маршрутизаторов на пути, чем значение ttl, т.к. прохождение по каждому из роутеров на пути отклика уменьшает значение на 1, а 0 анулирует пакет), time — быстрота прохождения пакетов по всему пути в миллисекундах.
Откройте командную строку или терминал и введите следующие строки ping . В системе Windows используйте ключ -t. Если Вы начали получать ответ, подождите достаточное кол-во повторений для определения устойчивости связи и, если остановок не возникает, будьте уверены, что доступ к нужному компьютеру в сети есть и ошибки стоит искать в настройках локальной системы. К примеру, в настойках самого браузера, антивируса или сетевого экрана. Если же значение packet loss в обощенной статистике работы утилиты отличается от 0%, возможно, вам стоит попробовать несколько раз перезагрузить страницу. При значительных сбоях в пинге и завершении работы с сообщением «unknown host» стоит попробовать найти проблемный узел с помощью утилиты Tracert (в UNIX системах может иметь аналог traceroute).

Синтаксис nslookup

Рассмотрим синтаксис команды.

nslookup

Домен — доменное имя. Сервер — необязательный аргумент

Основные опции:

  • -type — тип записи ДНС. ns, txt, ptr, cname, soa и другие;
  • -port — порт ДНС;
  • -recurse — если ДНС не отвечает, то использоваться другие DNS;
  • -retry — количество попыток;
  • -timeout — время;
  • -fail — если DNS доменных имен возвращает ошибку, то использовать другой сервер.

Примеры

Узнаем IP-адрес сайта vseprolinux.ru. Для этого выполним команду без аргументов.

nslookup vseprolinux.ru

На скриншоте выше видно:

  1.  Server: 192.168.201.254 — адрес текущего ДНС сервера компьютера, который указан а настройках сети, в моем случае /etc/resolv.conf
  2. Address: 192.168.201.254#53 — IP-адрес вместе с портом. По умолчанию используется 53 порт.
  3. Non-authoritative answer — не авторитетный ответ. Такой ответ выдается в двух случаях: ДНС не обслуживает зону, и ответ получен из кэша, данные могли устареть.  Авторитетным ответом будет считаться только если сервер имеет полную информацию о зоне.
  4. 195.161.114.71  — IP-адрес сайта.

Теперь сделаем обратное преобразование.

nslookup 195.161.114.71

Получим NS запись.

nslookup -type=ns vseprolinux.ru

Как узнать адрес почтового сервера MX (Mail eXchange)?. Для этого введем команду

nslookup -type=mx vseprolinux.ru

Запись MX содержит всего два поля:

  1. приоритет;
  2. адрес сервера принимающего почту для данного домена.
  • spf — Sender Policy Framework. Представляется собой текстовую запись, которая содержит список хостов, которые имеют права отправлять письма от домена;
  • dkim -DomainKeys Identified Mail. TXT запись ключа. Для определения отправителя добавляется цифровая подпись, далее подпись автоматически проверяется получателем.

Чтобы узнать  TXT надпись, введем в терминале команду с типом txt:

nslookup -type=txt vseprolinux.ru

Утилита может вывести техническую информацию о домене «Start Of Authority». Для этого используется тип запроса soa:

nslookup -type=soa vseprolinux.ru

Утилита в Линуксе покажет такие записи:

  • origin — от кого узнали информацию;
  • mail addr — email address администратора домена;
  • serial — время в формате timestamp;
  • refresh — время в секундах, когда нужно повторить подключения для обновления информации;
  • retry — время в секундах, через которое повторять подключения к DNS, если он недоступен;
  • expire — время в секундах, через сколько времени считать иформацию устаревшей полученную от первого ДНС;
  • minimum — время в секундах до следующего обновления.

Выполнение обратного запроса [ править | править код ]

При запросе считывается запись «PTR», содержащая искомое доменное имя. Если запись отсутствует или соответственный поддомен не делегирован, то IP-адрес считается не имеющим обратной записи DNS.

PTR-записи не требуют какой-либо специальной обработки, это простые записи, подобные CNAME, который определяет псевдонимы.

in-addr.arpa

DNS-запись in-addr.arpa выглядит так:

Это будет означать, что IP-адресу 10.12.34.56 соответствует имя узла host1.example.net.

ip6.arpa

DNS-запись ip6.arpa выглядит так:

Это будет означать, что IPv6-адресу 2001:0db8::1:2345 соответствует имя узла host1.example.net.

Параметры

Команда Синтаксис Описание
nslookup exit /exit Выход из утилиты.
nslookup finger finger | >] Соединение с finger сервером на текущем ПК.
nslookup help /help Выводит краткий список доступных подкоманд nslookup.
nslookup ls ls | >] Выводит информацию о домене.
nslookup lserver lserver Меняет стандартный сервер для заданного домена DNS.
nslookup root root Меняет стандартный сервер, на корневой сервер DNS.
nslookup server server Меняет стандартный сервер имён, на выбранный вами.
nslookup set set Изменение стандартной конфигурации утилиты nslookup.
nslookup set all set all Выводит параметры текущей конфигурации.
nslookup set class set > Меняет класс запроса. Класс указывает группу протоколов информации.
nslookup set d2 set d2 Включает или выключает глубокий режим отладки. В режиме отладки выводятся данные о каждого пакета.
nslookup set debug set debug Включает или выключает режим отладки.
nslookup set defname set defname Добавляет используемый по умолчанию домен DNS, к запросу на поиск одиночного компонента. Компонент называется одиночным, если не содержит точек.
nslookup set domain set domain= Изменяет имя домена по умолчанию (DNS) на указанное имя.
nslookup set ignore set ignore Игнорировать ошибки с неполными пакетами.
nslookup set port set port=

Изменяет стандартный TCP/UDP порт сервера DNS на указанный.
nslookup set querytype
set querytype=
Изменяет тип записи ресурса для запроса.

nslookup set recurse
set recurse
Указывает DNS серверу по умолчанию, опросить другие сервера в сети, если у него нет необходимой информации.

nslookup set retry
set retry=
Указать число необходимых повторов запроса.

nslookup set root
set root=
Изменяет адрес коренного сервера.

nslookup set search
set search
Добавляет имена доменов DNS из списка поиска доменов DNS в запрос, до тех пор пока не будет получен ответ. Данный метод используется в тех случаях, когда set и lookup содержат хотя-бы одну точку, но не содержат завершающей точки.

nslookup set srchlist
Set srchlist=
Изменяет стандартное имя домена DNS и список поиска.

nslookup set timeout
set timeout=
Изменяет таймаут ожидания ответа в секундах.

nslookup set type
set type=
Изменяет тип записи ресурса для запроса.

nslookup set vc
set vc
Указывает использовать или не использовать виртуальную цепь при отправке запросов на сервер.

nslookup view
view
Вывод и сортировка данных, полученных ранее при помощи команды ls.

Причины ошибок в файле Nslookup.exe

Проблемы Nslookup.exe могут быть отнесены к поврежденным или отсутствующим файлам, содержащим ошибки записям реестра, связанным с Nslookup.exe, или к вирусам / вредоносному ПО.

Более конкретно, данные ошибки nslookup.exe могут быть вызваны следующими причинами:

  • Поврежденные ключи реестра Windows, связанные с nslookup.exe / Windows.
  • Вирус или вредоносное ПО, которые повредили файл nslookup.exe или связанные с Windows программные файлы.
  • Другая программа злонамеренно или по ошибке удалила файлы, связанные с nslookup.exe.
  • Другая программа находится в конфликте с Windows и его общими файлами ссылок.
  • Поврежденная загрузка или неполная установка программного обеспечения Windows.

Примечания

  • Если computerTofind является IP-адресом, а запрос хочет получить A или PTR запись, возвращается имя компьютера. Если computerTofind является именем и у него нет точки в конце, к имени добавляется имя домена DNS по умолчанию. Это зависит от состояния следующих заданных подкоманд: domain, srchlist, defname и search.
  • Если вы используете дефис (-) вместо computerTofind, утилита nslookup перейдёт в интерактивный режим.
  • Длина строки не может превышать 256 символов.
  • nslookup имеет два режима: интерактивный и неинтерактивный. Если вы собираетесь воспользоваться утилитой единожды – используйте неинтерактивный режим. Первым параметром введите имя или IP-адрес компьютера, который вы хотите найти, а вторым параметром введите имя или IP-адрес сервера DNS-имен. Если вы опустите второй аргумент, nslookup использует DNS-сервер по умолчанию. Если вам нужно использовать утилиту несколько раз, вы можете войти в интерактивный режим. Для этого введите дефис (-) для первого параметра и имя или IP-адрес сервера имен DNS для второго параметра. Или опустите оба параметра, и nslookup использует DNS-сервер по умолчанию. Ниже приведены некоторые советы о работе в интерактивном режиме:
  • Чтобы прервать линию интерактивных команд в любое время, нажмите CTRL + B.
  • Чтобы выйти, введите exit.
  • Чтобы обработать встроенную команду в качестве имени компьютера, перед ним следует использовать escape-символ ().
  • Неопознанная команда интерпретируется как имя компьютера.

Если поиск не сработал, утилита nslookup выдаст сообщение об ошибке. В следующей таблице перечислены возможные сообщения об ошибках:

Сообщение об ошибке Описание
timed out Сервер не отвечает на запрос, спустя какое-то время (таймаут), и какое-то количество попыток запроса. Вы можете установить таймаут запроса, использовав подкоманду set timeout. Вы можете установить количество попыток запроса, использовав подкоманду set retry.
No response from server Сервер DNS не отвечает на запросы утилиты nslookup.
No records На DNS сервере нет записей по вашему запросу, если конечно, вы не ошиблись в имени домена. Формат запроса определяется подкомандой set querytype.
Nonexistent domain Компьютер или имя домена не существуют.
Connection refused или Network is unreachable Соединение с сервером DNS не установлено. Это ошибка чаще всего происходит при использовании команд ls и finger
Server failure Сервер DNS определил внутреннюю ошибку в своей базе данных, и не может предоставить правильный ответ.
Refused Сервер DNS прервал соединение.
Format error Сервер DNS обнаружил неверный формат в запросе. Чаще всего это происходит из-за ошибки утилиты nslookup

Что значит “Не заслуживающий доверия ответ”?

Сообщение “Не заслуживающий доверия ответ:” (Non-authoritative answer: ) означает только то, что DNS-сервер по умолчанию, не является владельцем зоны запрашиваемого домена, т.е. записей об этом домене в его собственной базе нет, и для предоставления информации был сделан рекурсивный запрос к другому серверу DNS. Так что в принципе, в этом сообщении ничего страшного нет.

Синтаксис

PowerShell

nslookup
nslookup /exit
nslookup /finger <FileName>| <FileName>}]
nslookup /{help | ?}
nslookup /ls <DNSDomain> <FileName>| <FileName>}]
nslookup /lserver <DNSDomain>
nslookup /root
nslookup /server <DNSDomain>
nslookup /set <KeyWord>
nslookup /set all
nslookup /set class=<Class>
nslookup /set d2
nslookup /set debug
nslookup /set defname
nslookup /set domain=<DomainName>
nslookup /set ignore
nslookup /set port=<Port>
nslookup /set querytype=<ResourceRecordtype>
nslookup /set recurse
nslookup /set retry=<Number>
nslookup /set root=<RootServer>
nslookup /set search
nslookup /set srchlist=<DomainName>
nslookup /set timeout=<Number>
nslookup /set type=<ResourceRecordtype>
nslookup /set vc
nslookup /view <FileName>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

nslookup<-SubCommand…>{<computerTofind>|-<Server>}

nslookup/exit

nslookup/finger<UserName>{><FileName>|>><FileName>}

nslookup/{help|?}

nslookup/ls<Option><DNSDomain>{><FileName>|>><FileName>}

nslookup/lserver<DNSDomain>

nslookup/root

nslookup/server<DNSDomain>

nslookup/set<KeyWord>=<Value>

nslookup/setall

nslookup/setclass=<Class>

nslookup/setnod2

nslookup/setnodebug

nslookup/setnodefname

nslookup/setdomain=<DomainName>

nslookup/setnoignore

nslookup/setport=<Port>

nslookup/setquerytype=<ResourceRecordtype>

nslookup/setnorecurse

nslookup/setretry=<Number>

nslookup/setroot=<RootServer>

nslookup/setnosearch

nslookup/setsrchlist=<DomainName>/…

nslookup/settimeout=<Number>

nslookup/settype=<ResourceRecordtype>

nslookup/setnovc

nslookup/view<FileName>

Список команд на сайте Майкрософт.

Синтаксис команды

Синтаксис команды nslookup подробно описан в man-странице.

$ nslookup   

Nslookup имеет два режима: интерактивный и неинтерактивный. Интерактивный режим позволяет пользователю запрашивать у серверов имен информацию о различных хостах и ​​доменах или распечатывать список хостов в домене. Неинтерактивный режим используется для печати только имени и запрашиваемой информации для хоста или домена.

Интерактивный режим

Интерактивный режим вводится в следующих случаях:

  • когда аргументы не заданы (будет использоваться сервер имен по умолчанию)
  • когда первый аргумент является дефисом (-), а второй аргумент является именем хоста или интернет-адресом сервера имен.
$ nslookup
  >

Команды могут быть прерваны в любое время, набрав control-C. Чтобы выйти, введите control-D (EOF) или введите exit.

$ nslookup
> exit

Чтобы рассматривать встроенную команду как имя хоста, добавьте перед ней символ экранирования (. & \.). Нераспознанная команда будет интерпретироваться как имя хоста.

  • host — поиск информации для хоста, используя текущий сервер по умолчанию или указанный сервер. Если хост — это интернет-адрес, а тип запроса — A или PTR, возвращается имя хоста.
  • server domain — изменить сервер на domain.
  • lserver domain — изменить сервер по умолчанию на domain; lserver использует исходный сервер для поиска информации о domain, в то время как server использует текущий сервер по умолчанию (установленный самой командой server).
  • root — установить текущий сервер по умолчанию как корневой, в не реализована.
  • ls domain — перечисление адресов в домене domain (необязательно: вывод в файл FILE), в не реализована.

Опции для команды ls:

OPTION Описание
-a перечисление канонических имен и псевдонимов
-d перечисление всех записей
-t TYPE перечисление записей указанного типа RFC (A,CNAME,MX,NS,PTR)
  • view FILE — сортировка файла ls и его просмотр с помощью pg, в не реализована.
  • help или ? — печать сведений о стандартных командах, в не реализована.
  • set keyword — команда используется для изменения параметров поиска.

Параметры для команды set:

keyword Описание value
all Печатает текущие значения часто используемых параметров для установки. Информация о текущем сервере и хосте по умолчанию также печатается.
class=value установить класс запроса
  • IN
  • CH
  • HS
  • ANY
debug печать отладочных сведений
d2 печать полных отладочных сведений
domain установить имя домена по умолчанию NAME NAME
search использовать список поиска доменов
port изменить значение по умолчанию для порта value (по умолчанию 53)
type установить тип запроса A,AAAA,A+AAAA,ANY,CNAME,MX ,NS,PTR,SOA,SRV
querytype то же, что и type
recurse запрос рекурсивного ответа на запрос
retry установить число повторов number number
timeout установить интервал времени ожидания в number секунд number
vc всегда использовать виртуальную схему
failR попробовать следующий сервер имен, если сервер имен отвечает SERVFAIL или завершает запрос (fail) на такой ответ.

Неинтерактивный режим

Неинтерактивный режим используется, когда в качестве первого аргумента указывается имя или интернет-адрес искомого хоста. Необязательный второй аргумент указывает имя хоста или адрес сервер имен.
Параметры, используемые в интерактивном режиме, также могут быть указаны в командной строке, если они предшествуют аргументам и имеют префикс с дефисом. Например, чтобы изменить тип запроса по умолчанию на информацию о хосте, а начальное время ожидания до 10 секунд, введите:

 nslookup -query=hinfo -timeout=10

Опция -version заставляет nslookup напечатать номер версии и немедленно завершает работу.

 nslookup -version

Interactive commands

host [server] Look up information for host using the current default server, or server if specified. If host is an Internet address and the query type is A or PTR, the name of the host is returned. If host is a name and does not have a trailing period, the search list is used to qualify the name. To look up a host not in the current domain, append a period to the name.
server domain, lserver domain Change the default server to domain; lserver uses the initial server to look up information about domain, while server uses the current default server. If an authoritative answer can’t be found, the names of servers that might have the answer are returned.
exit Exits the program.
set keyword[=value] Used to change state information that affects the lookups. Valid keywords are:

all Prints the current values of the frequently used options to set. Information about the current default server and host is also printed.
class=value Change the query class to one of:

IN the Internet class
CH the Chaos class
HS the Hesiod class
ANY wildcard

The class specifies the protocol group of the information.
(Default = IN; abbreviation = cl)

[no]debug Turn on or off the display of the full response packet and any intermediate response packets when searching. (Default = nodebug; abbreviation = [no]deb)
[no]d2 Turn debugging mode on or off. This displays more about what nslookup is doing. (Default = nod2)
domain=name Sets the search list to name.
[no]search If the lookup request contains at least one period but doesn’t end with a trailing period, append the domain names in the domain search list to the request until an answer is received. (Default = search)
port=value Change the default TCP/UDP name server port to value. (Default = 53; abbreviation = po)
querytype=value, type=value Specify the type of the information to be returned in response to your query. The value may be one of the following, in upper or lower case:

a an IP address
any any and all available data
cname canonical name
gid a group identifier for a group name
hinfo CPU and type of operating system
mb mailbox domain name
mg mail group member
minfo mailbox or mail list information
mr mail rename domain name
mx mail exchanger
ns the name servers for the named zone
ptr if the query is an IP address, returns a server name; otherwise, a pointer to other information
soa the start of authority for the named zone
txt returns a textual string with relevant information
[no]recurse Tell the name server to query other servers if it does not have the information. (Default = recurse; abbreviation = [no]rec)
retry=number Set the number of retries to number.
timeout=number Change the initial timeout interval for waiting for a reply to number seconds.
[no]vc Always use a virtual circuit when sending requests to the server. (Default = novc)
[no]fail Try the next nameserver if a nameserver responds with SERVFAIL or a referral (nofail) or terminate query (fail) on such a response. (Default = nofail)

Заключение

Мы рассмотрели основы работы с командой nslookup, а также основные типы записей DNS. Для более подробной информации о команде и ее опциях можно обратиться к соответствующей man-странице.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Обратный просмотр DNS (англ. reverse DNS lookup ) — обращение к особой доменной зоне для определения имени узла по его IP-адресу c помощью PTR-записи.

Для выполнения запроса адрес узла переводится в обратную нотацию, способ перевода зависит от версии IP:

  • IPv4-адрес 192.168.0.1 превращается в 1.0.168.192.in-addr.arpa.;
  • IPv6-адрес 2001:db8::567:89ab — в b.a.9.8.7.6.5.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa. .

Благодаря иерархической модели управления именами появляется возможность делегировать управление зоной владельцу диапазона IP-адресов. Для этого в записях авторитетного DNS-сервера указывают, что за зону CCC.BBB.AAA.in-addr.arpa (то есть за сеть AAA.BBB.CCC.000/24) отвечает отдельный сервер.

Количество PTR-записей, описывающих разные имена, на один адрес не ограничивается спецификациями, но может ограничиваться размером UDP-пакета, так как DNS-сервер инкапсулирует свой ответ в UDP. В большинстве случаев для одного IP-адреса создаётся только одна PTR-запись, но бывает и так, что их создаётся множество — например, когда IP-адрес используется для нескольких виртуальных серверов с разными именами.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector