Как проверить скорость dns сервера через cmd

Обновлено: 04.07.2024

Speedtest CLI - тестирование скорости соединения в командной строке

Сервис проверки скорости интернет-соединения Speedtest by Ookla в представлении не нуждается. Это известный и авторитетный инструмент, располагающий большим количеством серверов по всему миру. Можно без преувеличения сказать, что каждый системный администратор его хоть раз, да использовал. Говоря о Speedtest обычно, мы имеем ввиду одноименный сайт, который позволяет выполнить тестирование, но существует и вариант теста для командной строки, который позволяет использовать его на серверах и в сценариях мониторинга.

Браузерные приложения всем хороши - не требуют установки, просты в использовании, наглядны, но только вот что делать, если вы работаете на сервере без графической оболочки или хотите использовать предлагаемые приложением функции в скриптах или сценариях? В этих случаях не обойтись без вариантов приложения для интерфейса командной строки - CLI (Command Line Interface).

Speedtest предоставляет такую возможность, приложение для командной строки можно получить на официальном сайте, доступны версии для Windows, Linux, macOS и FreeBSD. Далее мы будем рассматривать версию для Linux-дистрибутивов основанных на Debian, но это касается только установки, использование утилиты во всех поддерживаемых системах одинаково.

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

Инструкции по установке приведены на официальной странице, но мы все равно повторим их здесь. Установку следует производить с правами суперпользователя или используя sudo. Здесь таятся некоторые различия. С правами root нам достаточно выполнить:

А через sudo:

Почему именно так? Потому что первая команда производит скачивание скрипта и в повышении прав не нуждается. А при использовании конвейера в Linux повышение прав не наследуется, т.е. все последующие команды будут выполнены с правами пользователя, без учета sudo. Поэтому sudo надо использовать именно перед командой, требующей повышения прав, а не в начале строки.

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

Пользоваться ей очень просто, если мы запустим ее без аргументов, то будет выполнен тест с автоматическим выбором ближайшего сервера и выводом результатов в терминал:

speedtest-cli-001.jpg

Для того, чтобы получить список ближайших серверов наберите команду:

Обратите внимание на колонку ID, потому что в утилите командной строки требуется использовать именно идентификатор сервера.

speedtest-cli-002.jpg

Выяснив необходимый идентификатор можно выполнить тест с данным узлом используя для указания сервера опцию -s или --server-id, например, для Ростелекома:

speedtest-cli-003.jpg

Но возможности Speedtest этим не ограничиваются, утилита способна выводить информацию в различных форматах: несколько вариантов JSON, CSV и TSV (CSV с разделителем Tab). Для этого используйте ключ -f или --format:

speedtest-cli-004.jpg

И если JSON вполне удобочитаемый формат, то CSV/TSV просто выводит строку чисел без расшифровки, чтобы правильно их интерпретировать можно использовать опцию добавляющую заголовки колонок --output-header:

speedtest-cli-005.jpg

Имейте ввиду одну особенность: вывод команд с указанием формата выводит скорость в байтах, чтобы получить привычные Mб/с полученное значение следует разделить на 125 000.

Данная команда перенаправит вывод в файл speedtest.tsv в домашней директории пользователя и перезапишет его.

Если вы хотите дополнять файл, собирая в него информацию, то немного измените команду:

speedtest-cli-006.jpg

Полученную информацию можно использовать самым разнообразным образом, скажем подключив к системе мониторинга Zabbix, где для этого имеются готовые плагины, либо, не имея иных инструментов, выполнив анализ в табличном редакторе:

speedtest-cli-007.jpg

Надеемся, что данный материал окажется вам полезен, а копилка администратора пополнится еще одним полезным инструментом.

Я уже писал, о том, что такое IP-адреса и как проверить, под каким адресом вас видит внешний мир. Однако часто этой информации недостаточно для того, чтобы понять, какой все-таки адрес присвоен вашей сетевой карте, а также провести диагностику проблем подключения. Приведу список команд, которые можно использовать. (также у меня на сайте можно прочитать про визуальную настройку сетевых подключений)

Для начала необходимо открыть командную строку. Делается это так: нажимаете кнопку пуск, выбираете пункт "выполнить".

Выполнить

Альтернативные способ - нужно нажать клавишу Win (между Ctrl и Alt) и R одновременно, этот способ работает также и на Висте

Появляется окошко, в которое нужно вписать cmd и нажать ОК

Выполнить cmd

Командная строка

Появляется та самая командная строка

В ней можно набирать и "вводить" команды, нажимая Enter. Результаты можно копировать - если нажать правую кнопку можно выделить нужный кусок, далее нужно еще раз нажать правую кнопку мыши.

Команда ping

Первая команда, с которой нужно познакомиться - это ping, проверяющую доступность заданного адреса. Введите команду ping 127.0.0.1. Должно получиться что-то такое (если команда не ping не работает, то, возможно, решить проблему поможет инструкция по исправлению ошибки cmd no command):

C:\Documents and Settings\Администратор>ping 127.0.0.1

Обмен пакетами с 127.0.0.1 по 32 байт:

Ответ от 127.0.0.1: число байт=32 время

Как мы видим, на адрес 127.0.0.1 было отправлено 4 пакета, и они все достигли цели. Что же это был за адрес и почему я был уверен, что пакеты дойдут? Ответ прост - пакеты никуда не отправлялись, а оставались на вашем компьютере. Этот адрес специфичен и используется для loopback - пакетов, не уходящих никуда вовне. Отлично, можем теперь "пропинговать" адрес этого сайта: 212.193.236.38

C:\Documents and Settings\Администратор>ping 212.193.236.38

Обмен пакетами с 212.193.236.38 по 32 байт:

Ответ от 212.193.236.38: число байт=32 время=3мс TTL=55

Ответ от 212.193.236.38: число байт=32 время=3мс TTL=55

Ответ от 212.193.236.38: число байт=32 время=3мс TTL=55

Ответ от 212.193.236.38: число байт=32 время=3мс TTL=55

Статистика Ping для 212.193.236.38:

Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь),

Приблизительное время приема-передачи в мс:

Минимальное = 3мсек, Максимальное = 3 мсек, Среднее = 3 мсек

C:\Documents and Settings\Администратор>

Можно заметить только одно отличие - пакеты доходили не мгновенно, а за 3 миллисекунды. Надеюсь, у вас тоже не было никакой задержки при доставке пакетов, а главное - вы не увидели строчки типа

Появление таких строчек означает, что часть пакетов теряется. Это свидетельствует о проблемах на линии или не сервере, к которомы вы обращаетесь.

Команда ipconfig

Следующая важная команда - ipconfig. Введите ее. У меня получилось вот так:

Настройка протокола IP для Windows

Ethernet - Ethernet адаптер:

Маска подсети . . . . . . . . . . : 255.255.255.0

Основной шлюз . . . . . . . . . . : 192.168.17.240

C:\Documents and Settings\Администратор>

В данном случае получился адрес 192.168.17.139. Можно этот адрес тоже пропинговать (вы пингуйте свой) - пакеты должны доходить мгновенно. Основной шлюз - это адрес, на который компьютер отправляет пакеты, не найдя подходящего адреса в своей сети. Так, в моем случае все пакеты, кроме пакетов на 192.168.17.* будут отправлены на 192.168.17.240, а тот компьюьтер уже должен решить, что с ними делать и куда их переправлять дальше. Примечание: локальная сеть, то есть те адреса, пакеты на которые не отправляются на шлюз, определяется при помощи маски - нолик на последнем месте и 255 на всех предыдующих как раз и означает, что может буть произвольным последнее число в IP-адресе.

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

Более подробную информацию можно получить командой ipconfig /all. У меня получилось:

C:\Documents and Settings\Администратор>ipconfig /all

Настройка протокола IP для Windows

Имя компьютера . . . . . . . . . : sander

Основной DNS-суффикс . . . . . . : MSHOME

Тип узла. . . . . . . . . . . . . : смешанный

IP-маршрутизация включена . . . . : нет

WINS-прокси включен . . . . . . . : нет

Порядок просмотра суффиксов DNS . : MSHOME

Ethernet - Ethernet адаптер:

Описание . . . . . . . . . . . . : Broadcom 440x 10/100 Integrated Controller

Физический адрес. . . . . . . . . : 00-16-D4-63-03-65

Dhcp включен. . . . . . . . . . . : да

Автонастройка включена . . . . . : да

Маска подсети . . . . . . . . . . : 255.255.255.0

Основной шлюз . . . . . . . . . . : 192.168.17.240

DHCP-сервер . . . . . . . . . . . : 192.168.17.240

DNS-серверы . . . . . . . . . . . : 212.192.244.2

Аренда получена . . . . . . . . . : 2 февраля 2009 г. 11:00:28

Аренда истекает . . . . . . . . . : 9 февраля 2009 г. 11:00:28

C:\Documents and Settings\Администратор>

Самую полезную информацию я выделил жирным. DHCP-сервер выделил мне динамиеский адрес на основе моего MAC-адреса или физического адреса. Мои DNS-сервера - это 212.192.244.2 и 212.192.244.3.

Другие команды

Команда tracert позволяет проследить путь пакетов от вашего компьютера до цели. Попробуйте, например протрассировать путь до этого сайта: tracert it.sander.su. Строки в выводе трассировки есть точки, через которые проходит пакет на своем пути. Первой точкой будет ваш шлюз. Использование команды tracert позволяет найти источник проблем при связи с каким-либо адресом. Пакеты, посылаемые командой tracert, имеют показатель TTL - time to live - целое положительное число. Каждый маршрутизатор на пути уменьшает этот показатель на 1, если TTL падает до нуля, то трассировка заканчивается. По умолчанию используется начальный TTL равный 30, задать другое значение можно опцией -h.

Посмотреть таблицу маршрутизации можно командой route print, однако я не буду подробно останавливаться на ней - это тема отдельной статьи.

Команда netstat позволяет просмотреть список установленных соединений. В режиме по умолчанию команда пытается преобразовывать все IP-адреса в доманные имена (при помощи службы DNS), что может работать медленно. Если вас устраивает числовой вывод, вызывайте команду netstat -n. Если вас также интересуют открытые порты на вашем компьютере (что означает, что он готов принимать соединения по этим портам), то вызовите команду с ключом -a: например, netstat -na. Можно также вызвать команду netstat -nb, чтобы посмотреть, какие процессы установили соединения. Команда netstat -r эквивалентна команде route print.

Команда netsh позволяет изменить настройки сети через командную строку. Введите команду netsh interface ip show address. У меня получилось:

C:\Documents and Settings\Администратор>ipconfig /all

Настройка интерфейса "Ethernet"

DHCP разрешен: да

Метрика интерфейса: 0

Запоминаем название (Ethernet) и теперь командой netsh interface ip set address name="Ethernet" source=static addr=192.168.0.33 mask=255.255.255.0 gateway=192.168.0.1 gwmetric=30 задаем IP-адрес. Для динамического подключения: netsh interface ip set address name="Ethernet" source=dhcp. На этом сайте также можно прочитать об интерактивной настройке параметров сети

Когда онлайн-просмотр становится невозможным, а страницы загружаются очень медленно, возникает необходимость проверки скорости соединения. Для этого существуют разные способы. Один из самых простых – использование командной строки. В ОС Windows отсутствует встроенный бенчмарк для тестирования скорости сети, поэтому нужно изучить время задержки отправки или принятия информации на удаленный сервер и состояние самого соединения. Эти действия выполняются в специальной программе, которая называется Ping.

УТИЛИТЫ КОМАНДНОЙ СТРОКИ

Для диагностики проблем соединения, изучения скорости и работоспособности сети используется утилита Ping. Она не только отправляет запросы, но и фиксирует поступающие ответы. Если ответ отсутствует, значит, его блокирует удаленный узел или запрос игнорируется. Каждый узел, присоединенный к сети, должен уметь принимать запросы. Пинг – удобный инструмент для диагностики целостности соединения. Он не поможет, если низкое качество соединения связано с высокой нагрузкой на сервер, действиями провайдера, попаданием на ПК вирусов. Такая сетевая программа поставляется со всеми современными операционными системами. Показатель пинга может зависеть от технических характеристик компьютера, скорости интернета и провайдера, удаленности и загруженности сервера, а также загруженности интернет-канала. Низкие показатели не всегда говорят о наличии проблемы.

Ping поможет узнать ответы на вопросы:

  • как работает сервер;
  • есть ли с ним связь;
  • какова скорость соединения.

Время, которое тратится на передачу информации от клиента к серверу и обратно называется лагом или в переводе с английского задержкой, она измеряется в миллисекундах. Утилита Ping во всех версиях операционных систем установлена по умолчанию.

Программа TRACERT – это трассировка маршрута до конечного адреса с учетом остановок во всех промежуточных точках. Если протрассировать маршрут пути пакета до конечного узла, можно легко выяснить, работоспособен ли он. Программа поможет выявить точки маршрута, где возможна потеря пакетов данных.

Для вызова командной оболочки в операционной системе Windows, нужно выполнить ряд действий, зайти в меню:

  • “Пуск”;
  • “Выполнить”;
  • в строке ввести латинскими буквами “cmd”.

Также можно зайти в “Пуск” – “Все программы” – “Стандартные” – “Командная строка”. После чего вводятся нужные команды. Для пользователей Linux стандартный запуск оболочки – сочетание клавиш: CTRL + ALT + T. Узнать все команды терминала можно с помощью специального меню help.

ОСОБЕННОСТИ ПРОВЕРКИ СКОРОСТИ ЧЕРЕЗ КОМАНДНУЮ СТРОКУ

После запуска терминала данные размером 32 байта будут отправляться или получаться. Из предложенных вариантов нужно выбрать время в миллисекундах. Оптимальным будет такое значение – 100-150 мс, выше этой нормы скорость интернета снижается, ниже – повышается. При значении 50-80 мс загрузка будет происходить быстро. Для разных сайтов время отклика будет сильно отличаться.

Если интервал ожидания после того, как запрос был отправлен, высокий, то сайт становится недоступным и используются параметры повышенной защиты. При необходимости передачи заданного количества пакетов, предусмотрен параметр n, после него вводится число. Объем пакетов задается специальным параметром l, который не должен превышать 1450 байт. Эти характеристики можно без проблем комбинировать.

Если после запуска операции “ping” не принимаются пакеты данных, узел перестал быть доступным или отключена функция ответа на ping-запросы, тогда используется команда tracert. Текстовый интерфейс используют, чтобы проверить скорость соединения с компьютером и сервером.

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

Среди которых наиболее популярными являются Google Public DNS , Яндекс DNS и CloudFlare .

Замена адресов DNS не представляет сложности, но этого может оказаться недостаточно, нужно еще убедиться, что сетевой трафик действительно проходит через настроенные сервисы. К сожалению, в Windows нет очевидного способа это сделать, хотя сама возможность такой проверки поддерживается.

Сетевые подключения

Перейдите в любом браузере по указанному выше адресу и нажмите кнопку «Standart test», чтобы запустить стандартный тест.

DNSleaktest

В результате в колонке ISP вы получите имя службы DNS , которую используете в данный момент.

ISP

Если оно соответствует имени установленной вами ДНС-службы, значит всё в порядке. Есть еще расширенный тест (Extended test) , но отличается он только большим количеством запросов, гарантирующим обнаружение большего числа серверов.

Примечание: перед выполнением теста отключите VPN, если его используете, поскольку тогда результаты будут отличаться.

Второй способ не столь удобен и информативен.

Для проверки DNS вы можете воспользоваться встроенной консольной утилитой nslookup.

Открыв командную строку, выполните в ней сначала команду chcp 1251 , а затем команду nslookup .

Читайте также: