Битлента
Сетевые команды и утилиты5 мин чтения·

ping -t, -n, -l: что означают ключи и как их сочетать

Разбор ключей ping в Windows: -t для бесконечной проверки, -n для числа пакетов, -l для размера. Примеры, вывод и отличия Linux и macOS.

Кратко

Ключ -t запускает ping без остановки до Ctrl+C, -n задаёт число запросов (по умолчанию 4), -l меняет размер данных в пакете (по умолчанию 32 байта). В Linux и macOS те же задачи решают -c и -s, а -t означает другое.

Три ключа, которые используют чаще всего

Сама по себе команда ping отправляет четыре эхо-запроса и печатает итог. Для быстрой проверки этого хватает, но при поиске плавающей неисправности четырёх пакетов мало: обрыв может случиться через минуту, а ping к этому времени уже завершился. Поэтому в Windows почти всегда добавляют один из трёх ключей.

Ключ -t отвечает за длительность, -n за точное число запросов, а -l за размер полезной нагрузки. Их можно писать в любом порядке, адрес узла ставится последним или первым, разницы нет. Все три работают в обычной командной строке без прав администратора.

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

КлючЧто делаетПо умолчанию
-tОтправляет запросы, пока вы не остановите командувыключен, отправляется 4 запроса
-n числоЗадаёт количество запросов4
-l байтыЗадаёт размер данных в запросе32 байта
-w миллисекундыЖдёт ответ не дольше указанного времени4000 мс
-aПытается показать имя узла по адресувыключен

ping -t: непрерывная проверка и статистика по Ctrl+C

Команда ping -t example.com отправляет запросы бесконечно, по одному в секунду. Остановить её можно сочетанием Ctrl+C. После остановки Windows печатает итоговую статистику: сколько пакетов отправлено, получено и потеряно, а также минимальное, максимальное и среднее время ответа.

Есть тонкость, о которой знают не все. Сочетание Ctrl+Break выводит текущую статистику и продолжает работу, поэтому промежуточные итоги можно снимать, не прерывая наблюдение. Это удобно, когда вы ходите по квартире с ноутбуком и проверяете качество Wi-Fi: окно остаётся открытым, а цифры читаются по требованию.

Пример вывода после Ctrl+C (пример, адреса из блока документации):

Статистика Ping для 192.0.2.10: Пакетов: отправлено = 120, получено = 118, потеряно = 2 (1% потерь), Приблизительное время приема-передачи в мс: Минимальное = 1мсек, Максимальное = 48мсек, Среднее = 4мсек

Если потери есть, а среднее время скачет, разберите порядок проверки на странице про ошибку Request timed out. Для долгих наблюдений полезно вести журнал с временем, как описано в отдельной странице про запись ping в файл.

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

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно

ping -n: заданное число запросов без ручной остановки

Ключ -n нужен, когда результат должен быть сопоставим между запусками. Команда ping -n 20 192.0.2.10 отправит ровно двадцать запросов и завершится сама, а значит, вы сравните два измерения одинаковой длины: до и после смены кабеля, перезагрузки роутера или переезда в другую комнату.

Число можно делать и большим: ping -n 1000 адрес сработает как долгий тест, который сам закончится. Но для бесконечных наблюдений привычнее -t.

Полезные сочетания:

  • ping -n 1 адрес: единичная проверка достижимости в скриптах, где нужен один короткий ответ;
  • ping -n 50 -w 1000 адрес: пятьдесят запросов с ожиданием не дольше секунды, чтобы медленные ответы считались потерянными;
  • ping -t -a 192.0.2.10: непрерывная проверка с попыткой определить имя узла по его адресу.

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

ping -l: размер пакета и его границы

Ключ -l задаёт размер поля данных в запросе. По умолчанию это 32 байта. Максимум в Windows составляет 65500 байт, но такие пакеты режутся на фрагменты и как проверка обычного канала мало полезны.

Зачем менять размер. Малые пакеты проходят почти везде, поэтому при маленьком размере всё работает, а на крупных начинаются потери. Такой признак часто указывает на проблему с размером MTU, повреждённый кабель или перегруженный участок сети. Для обычного сравнения сначала проверьте ping -l 32, затем ping -l 1400 и посмотрите на разницу в потерях и времени.

Важно не путать размер данных и размер пакета целиком. К данным добавляются 8 байт заголовка ICMP и 20 байт заголовка IP, поэтому пакет с данными 1472 байта займёт в сети 1500 байт. Как искать предельный размер без фрагментации, объясняется на странице про ключ -f и проверку MTU.

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

Если нужно проверить, как канал справляется с крупными пакетами, комбинируйте ключи: ping -n 30 -l 1400 192.0.2.10 отправит тридцать крупных запросов, и по потерям видно, где начинаются проблемы с размером. Сравнивайте всегда два запуска с одинаковым -n, иначе проценты потерь будет трудно сопоставить.

Аналоги в Linux и macOS

Синтаксис ключей различается между системами, и перенос привычек из Windows приводит к неожиданным результатам. Главная ловушка: в Linux ключ -t задаёт время жизни пакета (TTL), а не бесконечную отправку. Там ping и так работает до остановки по Ctrl+C.

ЗадачаWindowsLinux и macOS
Работать до остановкиping -t адресping адрес (по умолчанию)
Заданное число запросовping -n 10 адресping -c 10 адрес
Размер данныхping -l 1000 адресping -s 1000 адрес
Интервал между запросамине задаётся ключомping -i 0.5 адрес (интервалы меньше 0,2 с в Linux требуют прав root)

Размер по умолчанию в Linux составляет 56 байт данных, то есть 64 байта с заголовком ICMP и 84 с заголовком IP. Это одна из причин, почему цифры из вывода в разных системах не совпадают напрямую. Для IPv6 в Windows добавляют ключ -6, подробности есть на странице про ping для IPv6.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно
pingwindowsicmpкомандная строка

Часто задаваемые вопросы

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