Команда nslookup в Linux — что это и как пользоваться

Возможно, вы уже знаете некоторые команды терминала Linux, умеете работать с файлами, каталогами и осуществлять редактирование, например: cd, ls, pwd, cat. Но в данном обзоре всё изложено как можно конкретнее, чтобы предусмотреть распространённые вопросы.

Как работает команда Ping

Когда вы используете свой телефон, вы набираете номер (или чаще всего в настоящее время выбираете свое имя из адресной книги на своем телефоне), и телефон звонит в конце приемника.

Когда этот человек отвечает на телефон и говорит «привет», вы знаете, что у вас есть связь.

Команда «ping» работает аналогичным образом. Вы указываете IP-адрес, который эквивалентен номеру телефона или веб-адресу (имя, связанное с IP-адресом), а «ping» отправляет запрос на этот адрес. Когда принимающая сеть получает запрос, она отправит обратно ответ, который в основном говорит «привет».

Время, требуемое для ответа сети, называется задержкой.

Замечания

  • Если искомый_компьютер задан IP-адресом, а запрашивается запись ресурса типа A или PTR, будет выведено имя компьютера. Если искомый_компьютер задан именем без замыкающей точки, имя домена DSN, используемого по умолчанию, будет добавлено к указанному имени. Поведение зависит от состояния следующих подкоманд команды set: domain, srchlist, defname и search.
  • Если в командной строке введен дефис (-) вместо параметра искомый_компьютер, команда nslookup перейдет в интерактивный режим.
  • Длина строки вызова команды не может превышать 256 символов.
  • Команда nslookup может работать в двух режимах: интерактивном и обычном (автономном).

    Если требуется вывод только небольшой части информации, следует использовать обычный режим. В качестве первого параметра следует использовать имя или IP-адрес компьютера, о котором требуется получить данные. В качестве второго параметра введите имя или IP-адрес сервера имен DNS. Если второй параметр не задан, командой nslookup используется сервер имен DNS, установленный по умолчанию.

    Если требуется получить более полные сведения, следует использовать интерактивный режим. В качестве первого параметра следует ввести знак дефиса (-) и имя или IP-адрес сервера имен DNS в качестве второго параметра. Если оба параметра не заданы, командой nslookup используется сервер имен DNS, установленный по умолчанию. Далее перечислено несколько советов по работе в интерактивном режиме.

    • Для прерывания интерактивной команды в любой момент следует нажать CTRL+B.
    • Для выхода необходимо ввести exit.
    • Для ввода имени компьютера, совпадающего с какой-либо командой, перед именем следует ввести обратную косую черту (\).
    • Нераспознанные команды воспринимаются как имена компьютеров.
  • Если при обработке запроса возникла ошибка, командой nslookup на экран будет выведено сообщение. В следующей таблице перечислены возможные сообщения об ошибках.
    Сообщение об ошибке Описание
    Timed out Сервер не ответил на запрос в течение определенного времени и после определенного числа повторных попыток. Имеется возможность установить период ожидания с помощью подкоманды set timeout. Имеется возможность установить число повторных попыток с помощью подкоманды set retry.
    No response from server Сервер имен DNS не запущен на сервере
    No records Сервер имен DNS не содержит записей о ресурсах указанного типа, хотя имя сервера задано верно. Тип запроса задается командой set querytype.
    Nonexistent domain Заданный компьютер или имя домена DNS не существует.
    Connection refused

    -или-

    Network is unreachable

    Невозможно подключиться к серверу имен DNS или к серверу службы finger. Эта ошибка обычно возникает с запросами команд ls и finger.
    Server failure Сервер имен DNS обнаружил внутреннее несоответствие в своей базе данных и не может корректно ответить на запрос.
    Refused Отказано в обработке запроса сервером имен DNS.
    Format error Сервер DNS обнаружил ошибку в формате полученного пакета. Это может свидетельствовать об ошибке в команде nslookup.

Немного о сетевых утилитах

Для проверки работоспособности сети и сетевого соединения используется команда ping, она работает так же, как и в Windows, разница только в некоторых ключах. Например, в Windows для "пинга" пакетами по 1500 байт используется ключ -l (Length) ping localhost -l 1500, в *NIX это будет ключ -s (Size) ping localhost -s 1500 и еще несколько ключей.

Еще есть ключ -A, который позволяет отправлять запросы намного быстрее (примерно пять раз в секунду, против одного в Windows), а в паре с sudo может "выстрелить" и около 1000 пакетов за то же время!

Также есть ключ -f Используйте его с осторожностью, так как он может "положить" слабый канал сети или "пингуемый" хост (ПК)! В этом режиме утилита не ждет ответа, а продолжает слать пакеты (около 4 тысяч в секунду), генерируя через сетевую карту компьютера очень большой трафик. Так как вывод терминала просто не успевает за отображением такого мощного "пинга", то на монитор ничего выводиться и не будет. В случае же потери пакета, будут отображаться точки: один потерянный пакет = одна точка.

Ради эксперимента я "пинганул" свой роутер таким образом 🙂 Входящий и исходящий трафик повысился на ~10Mbps при значении в 1500 и на ~2Mbps при размере и частоте передаваемых пакетов по умолчанию (64B).

Чтобы проверить работу DNS (Domain Name System — системы доменных имен) используется утилита nslookup. Синтаксис у нее такой же, как и в Windows. Например, чтобы узнать какие IP адреса используются для домена , достаточно написать в терминале nslookup и мы получим IP или список IP адресов, которые отвечают за это доменное имя в глобальной сети Интернет.

Читайте также:  Как правильно подключать модем к роутеру

Для проверки пути следования пакетов по сети используется другая утилита — traceroute (в windows — tracert). Например, чтобы передать данные от моего компьютера до этого сайта пишем traceroute На мониторе отобразится весь "путь", которым пройдут наши данные до сайта. Это называется трассировкой маршрута.

root @CoolServ:/home/asus/# traceroute traceroute to (), 30 hops max, 60 byte packets

1 () ms ms ms 2 () ms ms ms 3 () ms ms ms 4 () ms ms ms 5 () ms ms ms 6 () ms ms ms Немного расшифруем: расстояние до сайта составило 6 хопов (прыжков или 6 роутеров (маршрутизаторов) по пути следования) наших пакетов.

Интернет в командной строке

При работе в терминале Linux с интернет-ресурсами применяйте следующие команды:

  • curl — обычно используется для загрузок из интернета: curl -O curl #быстро определяет ваш ID
  • wget — аналогичная команда: wget wget {}.mp3
  • lynx — позволяет использовать достаточно удобный текстовый браузер. Под удобным в данном случае подразумевается, что вы:
    • сможете наконец-то избавиться от постоянно всплывающих рекламных окон;
    • решите проблему с медленным/зависающим интернетом, например: lynx ;
    • сможете иметь доступ к локальным html-страницам, например, к тем, что можно найти с помощью /usr/share/doc;
  • w3m и links — дополнительные текстовые браузеры: w3m