Знакомимся с командой Ping


Оглавление (нажмите, чтобы открыть):

Linux и Windows: помощь админам и пользователям

Администрируем и настраиваем Windows, Linux.

10 примеров использования команды Ping

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

Пример 1. Изменение интервала времени между отправкой пакетов

По умолчанию пакеты посылаются с промежутком в одну секунду. Вы можете изменить это интервал с помощью опции -i.

Увеличение интервала

Пример: Ждем 5 секунд перед отправкой следующего пакета.

Уменьшаем интервал

Пример: Ждем 0.1 секунду перед отправкой следующего пакета.

Заметка: Только суперпользователь может указывать интервал меньше 0.2 секунды. В противном случае вы увидите такое сообщение.

Пример 2. Проверка локального интерфейса

Перед проверкой удаленного хоста сначала рекомендуется проверить все ли в порядке с вашим локальным интерфейсом. Для этого можно использовать следующие 3 метода.

Пингуем ноль (0)

Это самый простой и быстрый способ:

Пингуем по имени

Пингуем по IP

Не должно быть никаких потерь пакетов.

Пример 3. Послать N пакетов и завершить работу

Для автоматического завершения пинга после отправки указанного вами числа пакетов исползуется опция -c.

В следующем примере мы отправим 5 пакетов.

Пример 4. Версия команды ping

С помощью опции -V мы можем посмотреть текущую версию команды.

Пример 5. Флуд в сети

Суперпользователь может послать тысячи и более пакетов в короткие сроки с помощью опции -f.

Как показано ниже, ping -f послал более чем 400,000 пакетов за несколько секунд.

Пример 6. Звуковой сигнал

Эта опция исползуется редко, но бывает очень полезна. Вы запускается пинг, ответа от хоста нет, вы разбираетесь в чем дело, и как только проблема будет решена и удаленный хост ответит, вы услышите звук.

Пример 7. Печатать только статистику выполнения команды

С помощью опции -q можно пропустить ответы удаленного хоста и вывести сразу полученную статистику.

Пример 8. Изменение размера пакета

Вы можете изменить размер посылаемого пакета используя опцию -s.

Пример: Изменим размер пакета с 56 до 100.

Пример 9. Длительность выполнения команды

С помощью опции -w мы можем указать время выполнения команды в секундах.

В следующем примере мы будем пинговать локалхост в течение 5-ти секунд.

Заметка: В случае одновременного использования опций -w и -c завершение работы утилиты наступит в момент срабатывания первого ограничения.

Пример 10. Краткая статистика с SIGQUIT

Не прерывая команду пинг, можно посмотреть статистику выполнения. Для этого нужна нажать CTRL + |

Полезные ссылки

Лучшая посуда от мировых брендов в интернет магазине: BergHOFF, Luminarc, Vitesse

Все о команде PING

Все системные администраторы и ИТ-специалисты хорошо знакомы с командой ping. Это команда для проверки базовой связи между двумя хостами, такими как хост-сервер или хост-хост.

Все о команде Ping и как она работает

PING означает Packet InterNet Groper. Утилита или программа для определения того, доступен ли конкретный IP-адрес из вашей сети или хост / сервер. Утилита Ping обычно используется для проверки сетевых ошибок и диагностики этой проблемы. Механизм работы прост, он отправляет пакет на указанный IP-адрес /хост /адрес сервера, ожидает ответа от этого хоста и измеряет время ответа. Это также называется задержкой.

Таким образом, вы можете узнать, доступен ли хост из вашей сети и как быстро вы получаете ответ от этого хоста после того, как вы отправили запрос Ping. Маленький пинг, или низкая латентность означает более отзывчивое соединение, особенно в приложениях, где время — это все (например, онлайн-игры). Обычно пинг измеряется в миллисекундах (мс). Более высокая латентность означает, что у вас есть определенные проблемы с вашей сетью. Хотя эта задержка сильно варьируется в зависимости от маршрутизации и вашего местоположения. Если вы находитесь в Украине, и вы пинговали хост из Украины, тогда задержка будет ниже. Но если вы находитесь в Украине, и пингуете хост из Бангладеш, то определенно ваша латентность будет выше из-за вашего местоположения.

PING является основным методом устранения неполадок для любых подключений. Ping отправит сообщение серверу / хосту, где будет метка «PING», и получит копию сообщения с этого хоста / сервера. Ping вычислит «Время прохождения сообщения в оба конца» (или RTT), которое получает пакет от определенного сервера / хоста.

В каждой современной операционной системе установлен этот инструмент Ping. Таким образом, вы можете найти эту утилиту для каждой ОС, просто вызвав её с терминала (если вы работаете на операционной системе UNIX / Linux) или из командной строки / MS DOS Prompt (если вы используете операционную систему MS Windows).

Примечание. Некоторые хосты или сервер могут блокировать или не разрешать какой-либо запрос Ping или ICMP для обеспечения безопасности.

Рассмотрим примеры Ping, используя ОС Linux Ubuntu 14.04.3 LTS. Вы можете использовать любой дистрибутив Linux.

Версия ping

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

На экране вы уведите установленные версии Ping.

Выполнение Ping

Есть несколько различий, когда вы выполняете тест Ping или пингуете из ОС на базе MS Windows и UNIX / Linux.

Простая команда ping принимает только один параметр и параметр имени хоста или хоста IP-адреса, который вы хотите пропинговать. Простой пример ping показан внизу. Откройте терминал и введите следующее:

Здесь sedicomm.com — это имя хоста или хост.

С помощью указанной команды вы увидите что-то вроде этого:

Вам нужно остановить команду Ping, нажав CTRL + C. Иначе она будет выполняться бесконечно долго, пока вы не остановите её. После каждой команды Ping, будет отображаться суммарный отчет.

Min: Минимальное время, которое требуется, чтобы получить ответ от хоста, который был отправлен с вашего конца.

Avg: Среднее время, необходимое для получения ответа от хоста, который был отправлен с вашего конца.

Max: Максимальное время, которое требуется, чтобы получить ответ от хоста, который был отправлен с вашего конца.

Также вы увидите TTL, который означает «Time To Live». Ping использует числовое значение TTL, при попытке достичь заданный хост-компьютера по пути маршрута. TTL ограничивает время передачи данных по сети для разных целей, таких как записи DNS, HTTP, ICMP и т. д.

Ping локальной / частной сети

Чтобы пропинговать вашу локальной / частной сети, вам нужно ввести IP-адрес этого хоста

Здесь, 192.168.1.5 — это хост, на котором будет выполняться пингование локальной сети.
Вы увидите что-то подобное.

Количество пинг запросов

Обычно, когда вы запускаете простую команду Ping без каких-либо дополнительных параметров, она будет пинговать этот хост бесконечно, пока вы используете любую ОС Linux.

Чтобы пинговать хост, допустим, 10 раз, необходимо:

Вы увидите что-то вроде этого.

Здесь вы можете увидеть, что запрос пинг отработал 10 раз, а затем был отображает отчет о пинговании.

Если вы работаете с ОС MS Windows, введите это в командной строке

Различные размеры пакета

По умолчанию он отправляет 64-байтовый запрос ping, если вы используете ОС Linux, и 32-байтовый, если вы используете ОС MS Windows. Если вы хотите изменить размер пакета, выполните следующие действия:

Здесь вы можете видеть, что размер пакета не 64, а 100 байт.

В ОС MS Windows введите следующие

Увеличение или уменьшение временного интервала

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

Давайте увеличим интервал времени пинга на 3 секунды.

Он отправит запрос ping с интервалом в 3 секунды.

Если вы хотите уменьшить интервал времени пинга, выполните команду:


Потоки с помощью ping

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

Нажмите CTRL + C, чтобы остановить выполнение. Вы увидите что-то вроде того что показано на картинке. Но учтите, что содержимое может отличаться в зависимости от выбранного хоста и качества вашего интернет-соединение.

Ping с итоговой статистикой

Если вы хотите просмотреть отчет статистики сводки Ping, используйте следующий метод. Используйте опцию -q для просмотра только сводки по выполнению Ping.

Вы увидите что-то вроде этого:

Здесь вы можете видеть, что в терминал не выводиться обращение/ответ от хоста. Выводится исключительно отчет.

Ping тайм-аут

Если вы используете параметр -w команды Ping, то это задает крайнее время для завершения вывода Ping. Оно укажет общее количество секунд, в течение которых команда Ping должна отправлять пакеты на этот удаленный хост.

Таким образом, приведенная выше команда будет пинговать хост в течение 6 секунд, а затем она будет автоматически завершена и отобразит результат.

Объяснение вывода Ping

При пинговании хоста вы получите иной из рассмотренных ранее результатов ping.

Узел назначения недоступен

Если выводится «Destination Host Unreachable», то причиной является отсутствие маршрута от локальной хост-системы для пакетов, которые были отправлены на целевой хост или удаленный маршрутизатор, то есть сообщается, что у нет маршрута к хосту назначения.

Истекло время запроса

Если вы видите «Время ожидания запроса», это означает или указывает, что не было получено сообщений о возвратном сигнале в течение времени (по умолчанию 1 секунда) или времени, которое вы установили, когда вы пинговали этот узел. Это может быть вызвано различными причинами; Наиболее распространенными являются перегрузка сети, сбой запроса ARP, фильтрация пакетов / межсетевой экран, ошибка маршрутизации, неисправность кабеля или проблема с коммутатором / маршрутизатором и т. д.

Неизвестный запрос хоста / Ping не смог найти хост

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

Для каждого результата ping вы должны иметь 0% потери пакетов с хорошей задержкой или более низким временем отклика. Время задержки, зависит от того, какую среду передачи (UTP, кабель оптоволоконной связи, Wi-Fi) вы используете.

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University.

Знакомимся с командой Ping. Описание команды PING

Командная строка Windows, как правило, не используется большинством пользователей, возможно потому, что не все знают, какие команды нужно использовать в том или ином случае, какой полезной она может иногда оказаться, или вообще – что это такое?

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

На первый взгляд rj может показаться скучным, сложным или же бесполезным инструментом, но уверяю вас, это не так!

Эта статья предназначена исключительно как введение в некоторые из множества полезных команд.

Основные команды cmd.

1. Принудительная остановка запущенного процесса Ctrl+C

Первая команда, которую вам следует знать это одновременное нажатие двух клавиш Ctrl и С . Это сочетание останавливает практически любую команду. Если вы обнаружили ошибку во введенной команде, вы можете просто стереть ненужные символы с помощью кнопки backspace, но, если вы уже запустили не то, что требовалось, можете использовать комбинацию Ctrl+C .

Внимание! Эта команда не волшебная палочка! Она не сможет отменить те процессы, которые не могут быть отменены, поэтому будьте аккуратны!

2. Вызов справки по команде /?

Второй командой, которую вам следует запомнить, является /? . Набрав эти два символа после другой команды, вы увидите справку по интересующей вас команде. Например:

3. Информация о вашем сетевом подключении

Данная команда отобразит информацию о вашем подключении по локальной сети:

Более полную информацию о вашем компьютере вы сможете узнать, набрав команду .

4. Проверка пинга (проверка соединения) ping

Допустим, у вас подключены два компьютера по Ethernet кабелю (как обжать кабель для создания локальной сети мы уже рассматривали ранее). Вам нужно быть уверенным, что между ними есть соединение. Для этого вам нужно с компьютера, ip-адрес которого 192.168.0.1 запустить ping 192.168.0.5 (где 192.168.0.5 – это ip-адрес второго компьютера).

Если все в порядке, то перед вами появятся пинги. Если же что-то сделано не так, у вас будет надпись Заданный узел недоступен. Остановить данную команду вы сможете с Ctrl+C .

5. Выход из командной строки exit .

Командой exit вы можете закрыть окно командной строки.

6. Копирование файлов xcopy .

Очень полезный инструмент для копирования файлов. Допустим, вы хотите скопировать фотографии с диска C на внешний диск.

Наберите xcopy c:фото f:фото /s /e (где f – это внешний диск).

6. Проверка времени time .

Если вам необходимо настроить , напечатав time , вам будет представлено текущее время. И здесь же вам предложат изменить время на правильное.

7. Открыть новое окно командной строки cmd или start .

Введите команду cmd или start и перед вами откроется новое окно командной строки. Вы также можете просто очистить действующее окно. Для этого наберите команду cls (очистить экран).

8. Проверка системных файлов sfc / scannow .

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

9. Информация об установленных драйверах driverquery .

Если вы хотите увидеть, какие драйверы установлены на вашем ПК, вы можете сделать это, запустив команду driverquery . Эта команда предоставляет информацию о каждом драйвере, который у вас используется.

Если вам нужно немного больше информации, вы можете добавить латинскую букву V (вот, как это будет выглядеть driverquery-V ) .

10. Узнать ip-адрес сайта nslookup site.ru

Наберите в командной строке nslookup сайт.ru, чтобы узнать ip-адрес сайта site.ru.

11. Вставить текст

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

PING — основная утилита командной строки Windows для проверки соединений в сетях на основе TCP/IP. Команда PING с помощью отправки сообщений с эхо-запросом по протоколу ICMP проверяет соединение на уровне протокола IP с другим компьютером, поддерживающим TCP/IP. После каждой передачи выводится соответствующее сообщение с эхо-ответом.

Ping пожалуй самая основная TCP/IP-команда среди пользователей Windows, используемая для устранения неполадок и проверки возможности доступа к Интернет.

Команда Ping, запущенная без параметров, выводит справку. Одинаково результативно работает на всех версиях Windows, включая и Windows 10 .

Для проверки сети также можно воспользоваться командами:

  • TRACERT — определяет путь до точки назначения с помощью посылки эхо-сообщений;
  • PATHPING — предоставляет информацию о потерях данных на промежуточных узлах.

Синтаксис параметры важные ключи команды PING

ping [-t] [-a] [-n счетчик] [-l размер] [-f] [-i TTL] [-v тип] [-r счетчик] [-s счетчик] [<-j список_узлов | -k список_узлов>] [-w интервал] [имя_конечного_компьютера], где

  • -t — Задает для команды ping отправку сообщений с эхо-запросом к точке назначения до тех пор, пока команда не будет прервана. Для прерывания команды и вывода статистики нажмите комбинацию CTRL-BREAK. Для прерывания команды ping и выйхода из нее нажмите клавиши CTRL-C.
  • -a — Задает разрешение обратного имени по IP-адресу назначения. В случае успешного выполнения выводится имя соответствующего узла.
  • -n счетчик — Задает число отправляемых сообщений с эхо-запросом. По умолчанию — 4.
  • -l размер — Задает длину (в байтах) поля данных в отправленных сообщениях с эхо-запросом. По умолчанию — 32 байта. Максимальный размер — 65527.
  • -f— Задает отправку сообщений с эхо-запросом с флагом «Don»t Fragment» в IP-заголовке, установленном на 1. Сообщения с эхо-запросом не фрагментируются маршрутизаторами на пути к месту назначения. Этот параметр полезен для устранения проблем, возникающих с максимальным блоком данных для канала (Maximum Transmission Unit).
  • -i TTL — Задает значение поля TTL в IP-заголовке для отправляемых сообщений с эхо-запросом. По умолчанию берется значение TTL, заданное по умолчанию для узла. Для узлов Windows XP это значение обычно равно 128. Максимальное значение TTL — 255.


  • -v тип — Задает значение поля типа службы (TOS) в IP-заголовке для отправляемых сообщений с эхо-запросом. По умолчанию это значение равно 0. тип — это десятичное значение от 0 до 255.
  • -r счетчик — Задает параметр записи маршрута (Record Route) в IP-заголовке для записи пути, по которому проходит сообщение с эхо-запросом и соответствующее ему сообщение с эхо-ответом. Каждый переход в пути использует параметр записи маршрута. По возможности значение счетчика задается равным или большим, чем количество переходов между источником и местом назначения. Параметр счетчик имеет значение от 1 до 9.
  • -s счетчик — Указывает вариант штампа времени Интернета (Internet Timestamp) в заголовке IP для записи времени прибытия сообщения с эхо-запросом и соответствующего ему сообщения с эхо-ответом для каждого перехода. Параметр счетчик имеет значение от 1 до 4.
  • -j список_узлов — Указывает для сообщений с эхо-запросом использование параметра свободной маршрутизации в IP-заголовке с набором промежуточных точек назначения, указанным в списке_узлов. При свободной маршрутизации последовательные промежуточные точки назначения могут быть разделены одним или несколькими маршрутизаторами. Максимальное число адресов или имен в списке узлов — 9. Список узлов — это набор IP-адресов (в точечно-десятичной нотации), разделенных пробелами.
  • -k список_узлов — Указывает для сообщений с эхо-запросом использование параметра строгой маршрутизации в IP-заголовке с набором промежуточных точек назначения, указанным в списке_узлов. При строгой маршрутизации следующая промежуточная точка назначения должна быть доступной напрямую (она должна быть соседней в интерфейсе маршрутизатора). Максимальное число адресов или имен в списке узлов равно 9. Список узлов — это набор IP-адресов (в точечно-десятичной нотации), разделенных пробелами.
  • -w интервал — Определяет в миллисекундах время ожидания получения сообщения с эхо-ответом, которое соответствует сообщению с эхо-запросом. Если сообщение с эхо-ответом не получено в пределах заданного интервала, то выдается сообщение об ошибке «Request timed out». Интервал по умолчанию равен 4000 (4 секунды).
  • имя_конечного_компьютера — Задает точку назначения, идентифицированную IP-адресом или именем узла.

Примеры использования команды PING

  • Для отображения справки в командной строке по команде введите: ping /? ;
  • Для выполнения проверки соединения адреса ya.ru до прекращения вручную введите: ping ya.ru -t ;
  • Для отправки сообщения с эхо-запросом по протоколу ICMP точке назначения 192.168.1.1 и сопоставления с ее узловым именем введите: ping -a 192.168.1.1;
  • Для отправки сообщения с эхо-запросом на адрес 10.0.99.221 десяти собщений с эхо-запросом, каждое из которых имеет поле данных из 1000 байт, введите: ping -n 10 -l 1000 10.0.99.221;
  • Для отправки сообщения с эхо-запросом точке назначения 10.0.99.221 и записи маршрута для 4 переходов введите: ping -r 4 10.0.99.221;
  • Для отправки сообщения с эхо-запросом на адрес 10.0.99.221 и задания свободной маршрутизации для точек назначения 10.12.0.1-10.29.3.1-10.1.44.1 введите: ping -j 10.12.0.1 10.29.3.1 10.1.44.1 10.0.99.221.

Видео — Как пользоваться утилитой PING

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

Давайте посмотрим, что умеет программа Ping, для этого нажмите пуск => выполнить => наберите cmd => нажмите Ок => наберите в черном окне команду

Ping /? => нажмите enter.

Вы увидите список команд, которые, можно выполнить с помощью программы Ping.

Ping [-t] [-a] [-n ] [-l ] [-f] [-i ] [-v ] [-r ] [-s ] [[-j ] | [-k ]] [-w ] [-R] [-S ] [-4] [-6] конечный_узел Параметры -t Проверка связи с указанным узлом до прекращения. Для отображения статистики и продолжения проверки нажмите сочетание клавиш CTRL+BREAK; для прекращения нажмите CTRL+C. -a Определение имен узлов по адресам. -n Число отправляемых запросов эха. -l Размер буфера отправки. -f Установка в пакете флага, запрещающего фрагментацию (только IPv4). -i Задание срока жизни пакетов. -v Задание типа службы (только IPv4. Этот параметр недоступен и не влияет на поле TOS в заголовке IP). -r Запись маршрута для указанного числа прыжков (только IPv4). -s Отметка времени для указанного числа прыжков (только IPv4). -j Свободный выбор маршрута по списку узлов (только IPv4). -k Жесткий выбор маршрута по списку узлов (только IPv4). -w Тайм-аут для каждого ответа (в миллисекундах). -R Использование заголовка для проверки также и обратного маршрута (только IPv6). -S Используемый адрес источника. -4 Принудительное использование протокола IPv4. -6 Принудительное использование протокола IPv6.

Давайте разберем некоторые из них.

Практическое использование:

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

можно ввести так:

Ping 27susday.ru -t

и процесс можно будет остановить только вручную, нажатием клавиши ctrl+c

Ключ i – нужен, чтобы задать срок жизни отправленного пакета, по умолчанию 128. Вы отправляете пакет и он начинает шарится по удаленным узлам, пройдя узел, отнимается единичка, и так пока не будет ноль. Затем пакет уничтожается, и выводит Вам соответствующее уведомление.

Ключ w– нужен, чтобы увеличить время ожидания ответа от ресурса, к которому Вы обращаетесь. Бывают такие случаи, когда вы посылаете ping до какого-либо узла, и он выдает вам сообщение, что заданный узел не доступен, соответственно, Вы думаете, что узел не работает. Вывод правильный, но не всегда. Бывает, что он доступен, только вот перегружен и не успевает Вам ответить, чтобы этого избежать ставится ключ w.

Бывает, что удаленный узел, вроде бы работает, т.е. вы можете на него зайти, Вы на сто процентов уверены в его работоспособности, а на ping не отвечает, хоть какую ставь задержку с помощью ключа w. Это объясняется тем, что системный администратор, поставил фаервол и запретил отвечать на ICMP пакеты. Это делается для того, чтобы нельзя было штурмовать эхо-запросами сервера, которые смотрят в Интернет. Упасть сервер не упадет, но вот его производительность снизится.

Совет: Если Вы начинающий системный администратор, советую и вам закрыть ICMP порт на своих серверах, которые у Вас смотрят в интернет.

В этой статье Вы узнали о трех основных ключах для программы Ping.

Видео-урок по уменьшению пинга в играх:

Команда PING это, пожалуй, самая используемая сетевая утилита командной строки. PING присутствует во всех версиях всех операционных систем с поддержкой сети и является простым и удобным средством опроса узла по имени или его IP-адресу.

Для обмена служебной и диагностической информацией в сети используется специальный протокол управляющих сообщений ICMP (Internet Control Message Protocol). Команда ping позволяет выполнить отправку управляющего сообщения типа Echo Request (тип равен 8 и указывается в заголовке ICMP-сообщения) адресуемому узлу и интерпретировать полученный от него ответ в удобном для анализа виде. В поле данных отправляемого icmp-пакета обычно содержатся символы английского алфавита. В ответ на такой запрос, опрашиваемый узел дожжен отправить icmp-пакет с теми же данными, которые были приняты, и типом сообщения Echo Reply (код типа в ICMP-заголовке равен 0) . Если при обмене icmp-сообщениями возникает какая-либо проблема, то утилита ping выведет информацию для ее диагностики.

Формат командной строки:

Ping [-t] [-a] [-n число] [-l размер] [-f] [-i TTL] [-v TOS] [-r число] [-s число] [[-j списокУзлов] | [-k списокУзлов]] [-w таймаут] конечноеИмя

-t — Непрерывная отправка пакетов. Для завершения и вывода статистики используются комбинации клавиш Ctrl + Break (вывод статистики и продолжение), и Ctrl + C (вывод статистики и завершение).
-a — Определение адресов по именам узлов.
-n число — Число отправляемых эхо-запросов.
-l размер — Размер поля данных в байтах отправляемого запроса.
-f — Установка флага, запрещающего фрагментацию пакета.
-i TTL — Задание срока жизни пакета (поле «Time To Live»).
-v TOS — Задание типа службы (поле «Type Of Service»).
-r число — Запись маршрута для указанного числа переходов.
-s число — Штамп времени для указанного числа переходов.
-j списокУзлов — Свободный выбор маршрута по списку узлов.
-k списокУзлов — Жесткий выбор маршрута по списку узлов.
-w таймаут — Максимальное время ожидания каждого ответа в миллисекундах.

ping google.com — эхо-запрос к узлу с именем google.com с параметрами по умолчанию — количество пакетов равно 4, длина массива данных = 32 байта.

ping -6 ya.ru — пинг узла ya.ru с использованием протокола Ipv6

ping -a 192.168.1.50 — выполнить пинг с определением имени конесного узла по его адресу.

ping -s 192.168.0.1 computer — пинг узла computer от источника 192.168.0.1. Используется когда на компьютере имеется несколько сетевых интерфейсов.

ping w 5000 ya.ru — пинг с таймаутом ожидания равным 5 секунд (по умолчанию — 4 сек).

ping -n 5000 -l 1000 сайт — опрос узла сайт 5000 раз, пакетами с данными длиной в 1000байт. Допустимая максимальная длина данных — 65500.

ping -n 1 -l 3000 -f ya.ru — пинг с запретом фрагментации пакета.

ping -n 1-r 3 ya.ru — отправить 1 эхо-запрос на узел ya.ru с отображением первых 3-х переходов по маршруту.

ping -i 5 ya.ru — пинг с указанием времени жизни TTL=5. Если для достижения конечного узла потребуется большее количество переходов по маршруту, то маршрутизатор, прервавший доставку ответит сообщением ”Превышен срок жизни (TTL) при передаче пакета.”


Применение PING для пошаговой диагностики проблем доступа в Интернет:

Обобщенная схема соединения компьютера (планшета, ноутбука домашней сети) с удаленным конечным узлом можно представить следующим образом:

В качестве домашней сети используется наиболее распространенная сеть с IP-адресами 192.168.1.0 /255.255.255.0 . Речь идет об IPv4 – IP протоколе версии 4, где для адресации используется 4 байта. IP- адреса принято представлять в виде десятичных значений байтов, разделяемых точками. Каждое устройство в сети должно иметь свой уникальный адрес. Кроме адреса, в сетевых настройках используется маска сети (маска подсети). Маска имеет такой же формат представления, как и адрес. Комбинация адреса и маски определяет диапазон адресов, которые принадлежат локальной сети — 192.168.1.0-192.168.1.255. Первый и последний адреса диапазона не назначаются отдельным сетевым устройствам, поскольку используются в качестве адреса сети и широковещательного адреса. Обычно адрес роутера делают равным 192.168.1.1 или 192.168.1.254. Это не является обязательным стандартом, но на практике используется довольно часто. Единичные биты маски определяют постоянную часть IP-адреса сети, а нулевые — выделяемые отдельным узлам. Значение 255 — это байт с установленными в единицу битами. Маска сети служит средством определения диапазона IP-адресов, принадлежащих локальной сети. Устройства с такими адресами достижимы локально, без использования маршрутизации . Маршрутизация — это способ обмена данными с сетевыми устройствами не принадлежащими к данной локальной сети через специальное устройство — маршрутизатор (router, роутер). Маршрутизаторы представляют собой специализированные компьютеры с несколькими сетевыми интерфейсами и специализированным программным обеспечением обеспечивающим пересылку IP-пакетов между отправителем и получателем, находящимися в разных сетях. В такой пересылке могут участвовать несколько маршрутизаторов, в зависимости от сложности маршрута. Домашний роутер — простейшая разновидность маршрутизатора, который обеспечивает пересылку пакетов, адресованных во внешние сети следующему по маршруту маршрутизатору в сети провайдера. Следующий маршрутизатор проверяет достижимость адреса конечного узла локально, и либо пересылает ему данные, либо передает их следующему маршрутизатору в соответствии с таблицей маршрутов. Так происходит до тех пор, пока данные не достигнут получателя или закончится время жизни пакета.

Команда PING можно использовать для диагностики отдельных узлов:

ping 127.0.0.1 — это пинг петлевого интерфейса. Должен выполняться без ошибок, если установлены и находятся в работоспособном состоянии сетевые программные компоненты.

ping свой IP или имя — пинг на собственный адрес или имя. Должен завершаться без ошибок, если установлены все программные средства протокола IP и исправен сетевой адаптер.

ping IP-адрес роутера — должен выполняться, если исправна сетевая карта компьютера, исправен кабель или беспроводное соединение, используемые для подключения к роутеру и исправен сам роутер. Кроме того, настройки IP должны быть такими, чтобы адрес компьютера и роутера принадлежали одной подсети. Обычно это так, когда сетевые настройки выполняются автоматически средствами DHCP-сервера маршрутизатора.

ping yandex.ru — выполнить опрос узла с именем yandex.ru . Если опрос завершается с ошибкой, то причиной может быть не только отсутствие связи с маршрутизатором провайдера, но и невозможность определения адреса узла yandex.ru из-за проблем с программными средствами разрешения имен.

ping 8.8.8.8 — выполнить опрос узла с IP-адресом 8.8.8.8 . Если опрос по адресу выполняется без ошибок, а опрос по имени завершается сообщением о неизвестном узле, то проблема в разрешении имен. Причиной может быть неработоспособность DNS-сервера провайдера. В этом случае, можно попробовать сменить его в настройках сетевого соединения на публичные DNS сервера Google с адресами 8.8.4.4 и 8.8.8.8. Также, проблема может быть вызвана плохим качеством связи с провайдером, что сопровождается слишком большим временем отклика и пропаданием пакетов.

ping -t yandex.ru — выполнять ping до нажатия комбинации CTRL+C, При нажатии CTRL+Break — выдается статистика и опрос узла продолжается.

Ping -n 1000 -l 500 192.168.1.1 — выполнить ping 1000 раз с использованием сообщений, длиной 500 байт. Пинг пакетами стандартной длины в 32 байта может выполняться без ошибок, а на длинных — с ошибками, что характерно для беспроводных соединения при низком уровне сигнала в условиях интенсивных помех.

Ping -n 1 -r 9 -w 1000 yandex.ru — выполнить ping 1 раз (ключ -n 1), выдавать маршрут для первых 9 переходов (-r 9), ожидать ответ 1 секунду (1000мсек)

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

Обмен пакетами с yandex.ru с 32 байтами данных:
Ответ от 87.250.251.11: число байт=32 время=36мс TTL=54
Маршрут: 81.56.118.62 ->
81.56.112.1 ->
10.109.11.9 ->
10.109.11.10 ->
195.34.59.105 ->
195.34.52.213 ->
195.34.49.121 ->
195.34.52.213 ->
87.250.239.23

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

Пакетов: отправлено = 1, получено = 1, потеряно = 0
(0% потерь)
Приблизительное время приема-передачи в мс:
Минимальное = 36мсек, Максимальное = 36 мсек, Среднее = 36 мсек


В данном примере, между отправителе и получателем пакетов выстраивается цепочка из 9 маршрутизаторов. Нужно учитывать тот факт, что в версии утилиты ping.exe для Windows, число переходов может принимать значение от 1 до 9. В случаях, когда этого значения недостаточно, используется команда tracert

Отсутствие эхо-ответа не всегда является признаком неисправности, поскольку иногда по соображениям безопасности, некоторые узлы настраиваются на игнорирование эхо-запросов, посылаемых PING. Примером может служить узел microsoft.com и некоторые маршрутизаторы в сетях небольших провайдеров.

Использование PING в командных файлах.

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

ping -n 11 127.0.0.1 — задержка в 10 секунд.

Команда PING используется в командных файлах для определения доступности IP-адресов. Поскольку, результат опроса никак не отражается в переменной ERRORLEVEL , то вместо ее анализа используется поиск определенных признаков в данных стандартного вывода PING. Если внимательно посмотреть на сообщения программы ping.exe при опросе доступного и недоступного узла, то можно заметить, что они значительно отличаются

ping 456.0.0.1 — ping на несуществующий адрес

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

При проверке связи не удалось обнаружить узел 456.0.0.1. Проверьте имя узла и повторите попытку.

ping yandex.ru — ping на адрес узла yandex.ru

Ответ на ping доступного узла:

Обмен пакетами с yandex.ru по 32 байт:
Ответ от 87.250.250.11: число байт=32 время=10мс TTL=55

Таким образом, для решения задачи определения доступности узла в командном файле, достаточно проанализировать характерные слова в выводе ping.exe при успешном ответе. Наиболее характерно в данном случае наличие слова TTL . Оно никогда не встречается при возникновении ошибки и состоит всего лишь из символов английского алфавита. Для поиска «TTL» в результатах ping.exe удобнее всего объединить ее выполнение в цепочку с командой поиска строки символов FIND.EXE (конвейер ping и find). Если текст найден командой FIND, то значение переменной ERRORLEVEL будет равно

ping -n 1 COMPUTER | find /I «TTL» > nul
if %ERRORLEVEL%==0 goto LIVE
ECHO computer недоступен
подпрограмма обработки недоступного состояния
.
Exit
:LIVE — начало подпрограммы обработки состояния доступности узла
.
.

В более простом варианте можно использовать команды:

PING yandex.ru |find «TTL=» && ECHO Yandex pingable — команда ECHO выполняется, если значение ERRORLEVEL, установленное FIND равно 0, т.е узел yandex.ru отвечает на ping.

PING Server64 |find «TTL=» || ECHO Server64 not pingable — команда ECHO выполняется, если значение ERRORLEVEL, установленное FIND не равно 0, т.е. узел Server64 не ответил на ping.

Каждый современный ребенок, живущий видео-играми, да и взрослый тоже, наверняка неоднократно сталкивался с таким понятием, как «пинг». Также он является неотъемлемой частью налаживаемых мастером компьютерных сетей. Далее рассмотрим более подробно, что данное понятие значит и как уменьшить пинг, чтобы оптимизировать игровой процесс или работу сети.

Что такое пинг и как его проверить

Пинг – это временной промежуток, за который один информационный пакет передается от клиента к серверу и возвращается. Ассоциируя данный процесс с реальной жизнью, можно сказать что пинг – это как время, затрачиваемое на переход от дома до магазина и на обратную дорогу. Магазин является сервером, а человек – клиентом. Единица измерения – миллисекунда (мс).

Для определения пинга ОС Windows достаточно войти в командную строку, введя команду cmd в меню «Выполнить», что вызывается комбинацией клавиш «WIN»+«R», или поисковую строку меню «Пуск».

Затем, необходимо ввести команду «ping» и через пробел указать адрес удаленной машины/сайта, соединение с которым будет проверяться.

Как видно на скриншоте, основная информация позволяет увидеть среднее значение и определить наличие его резких изменений при плохом соединении.

Как уменьшить пинг — актуальные способы

Существует ряд основных действий, во время которых пользователю может прийти мысль о том, что следует уменьшить значение пинга относительно подключения к тому или иному серверу/сайту. Конечно же, это необходимо, когда речь идет об игре в онлайн видеоигры, где он очень сильно влияет на то, как складывается ход сражения у игрока. Также это может потребоваться при наладке цельной компьютерной сети, где без качественного соединения просто не обойтись.

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

  • Плохое интернет-соединение. Исправляется следующим образом: меняется способ подключения к сети (модем меняется на прямое кабельное подключение или другое), меняется провайдер, если низкокачественное соединение является его недоработкой, обновляется тариф для увеличения пропускной способности, выделяемого клиенту канала.
  • Устаревший драйвер сетевой карты. Все достаточно просто – его необходимо обновить, скачав необходимые файлы с сайта производителя или любого другого тематического ресурса.
  • Вирусы, список автозагрузки, загрузчики. Все перечисленное может оказывать свое негативное воздействие на скорость работы сети. Естественно, от вирусов систему нужно очищать, список автозагрузки корректировать, оставляя лишь необходимое, загрузчики отключать на момент игры или любых других действий, связанных с подключением к определенному серверу. Последнее особенно касается torrent-клиентов, которые при загрузке могут «забивать» собой весь выделенный пользователю интернет-канал.

Также можно сделать определенные изменения системного реестра, но делать это стоит с осторожностью, помня о том, что последствия выполненных действий с реестром иногда достаточно сложно исправлять.

Запустив реестр командой «regedit», введенной в тех же пунктах, что и для командной строки, необходимо проделать следующие действия:

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

Как уменьшить пинг на модеме

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

Опытные игроки и специалисты по работе с такими устройствами рекомендуют следующие способы усиления сигнала:

Каждое из этих действий положительным образом повлияет на скорость работы интернета и значительно уменьшит пинг. Проверять уровень соединения можно через приложение MDMA (Mobile Data Monitoring Application), которое после скачивания и запуска определит подключенный модем (может не с первого раза), а затем выдаст значение качества сигнала в единицах dbm. Динамическое считывание информации в режиме реального времени с задержкой в 5-30 секунд позволит определить наилучшее место для размещения модема.

Как уменьшить пинг в играх

Наконец мы подошли к самому главному этапу, поскольку уменьшение в онлайн-играх волнует пользователей больше всего, ведь плохое интернет-соединение и прочие его дефекты сказываются на их успешности в ходе сражений. Рассмотрим внесение необходимых настроек на примере двух очень популярных игр: World Of Tanks и Counter-Strike: Global Offensive.

Как уменьшить пинг в КС ГО

При игре в КС ГО изменять пинг можно всеми средствами, описанными выше, а также посредством грамотного внесения изменений в параметры запуска. Для этого необходимо войти в библиотеку игр платформы STEAM и выбрать в ней КС ГО. Дальнейшие действия показаны на скриншоте.

В открывшемся окне жмем «Установить параметры запуска» и в появившуюся строку вносим значения, показанные на скриншоте.

Также игроку для запуска соревновательного режима рекомендуется указать игре на оптимальный пинг, чтобы она не подбирала ему сервера больше определенной планки, если такое, конечно же, возможно. Для этого в меню «Настройки» – «Параметры игры», необходимо установить ползунок на минимальное значение.

Как уменьшить пинг в World Of Tanks

Особенность World Of Tanks является то, что игра осуществляется на большом количестве серверов, каждый из которых размещен регионально в разных местах. Ниже указано географическое размещение основных серверов из русского кластера игры.

Мастер Йода рекомендует:  MySQL-команды

Контролировать его можно посредством установки специальной игровой модификации или софта, как, к примеру, WOT Pinger.

С помощью данного софта можно отследить наиболее оптимальные для игры сервера и использовать исключительно их.

Таким образом, можно сделать вывод, что пинг оказывает значительное воздействие на эффективность работы с определенными серверами/сайтами. Чтобы его уменьшить, можно использовать любой из выше предложенных способов. Также можно обратиться к специалистам, которые внесут необходимые настройки в систему и конкретные приложения, значительно ускорив работу компьютера/ноутбука. Такую же настройку рекомендуется заказать и у провайдера, где пользователю смогут подсказать, какой скоростной тариф доступа к сети Интернет будет для него значительно выгоднее.

Назначение команды ping vk com. Знакомимся с командой Ping

С помощью команды PING отправки сообщений с эхо-запросом по протоколу ICMP проверяет соединение на уровне протокола IP с другим компьютером, поддерживающим TCP/IP. После каждой передачи выводится соответствующее сообщение с эхо-ответом. Ping — это основная TCP/IP-команда, используемая для устранения неполадки в соединении, проверки возможности доступа и разрешения имен. Команда ping , запущенная без параметров, выводит справку.

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

ping[-t] [-a] [-n счетчик] [-l размер] [-f] [-i TTL] [-v тип] [-r счетчик] [-s счетчик] [<-jсписок_узлов | -kсписок_узлов>] [-w интервал] [-R] [-S адрес_источника] [-4] [-6] имя_конечного_компьютера

Параметры команды ping

Задает для команды ping отправку сообщений с эхо-запросом к точке назначения до тех пор, пока команда не будет прервана. Для прерывания команды и вывода статистики нажмите CTRL+BREAK. Для прерывания команды ping и выхода из нее нажмите клавиши CTRL+C.

Задает длину (в байтах) поля данных в отправленных сообщениях с эхо-запросом. По умолчанию — 32 байта. Максимальный размер — 65527.

Задает разрешение обратного имени по IP-адресу назначения. В случае успешного выполнения выводится имя соответствующего узла

Задает число отправляемых сообщений с эхо-запросом. По умолчанию — 4.

Задает отправку сообщений с эхо-запросом с флагом «Don’tFragment» в IP-заголовке, установленном на 1 (доступно только в IPv4). Сообщения с эхо-запросом не фрагментируются маршрутизаторами на пути к месту назначения. Этот параметр полезен для устранения проблем, возникающих с максимальным блоком данных для канала (MaximumTransmissionUnit).

Задает значение поля TTL в IP-заголовке для отправляемых сообщений с эхо-запросом. По умолчанию берется значение TTL, заданное по умолчанию для узла. Максимальное значение TTL равно 255.

Задает значение поля типа службы (TOS) в IP-заголовке для отправляемых сообщений с эхо-запросом (доступно только в IPv4). По умолчанию это значение равно 0. тип — это десятичное значение от 0 до 255.

Задает параметр записи маршрута (RecordRoute) в IP-заголовке для записи пути, по которому проходит сообщение с эхо-запросом и соответствующее ему сообщение с эхо-ответом (доступно только в IPv4). Каждый переход в пути использует параметр записи маршрута. По возможности значение счетчика задается равным или большим, чем количество переходов между источником и местом назначения. Параметр счетчик имеет значение от 1 до 9.

Указывает вариант штампа времени Интернета (InternetTimestamp) в заголовке IP для записи времени прибытия сообщения с эхо-запросом и соответствующего ему сообщения с эхо-ответом для каждого перехода. Параметр счетчик имеет значение от 1 до 4. Это необходимо для целевых адресов с локальной ссылкой.

Указывает, что сообщения с эхо-запросом используют параметр свободной маршрутизации в IP-заголовке с набором промежуточных точек назначения, указанным в списке_узлов (доступно только в IPv4). При свободной маршрутизации последовательные промежуточные точки назначения могут быть разделены одним или несколькими маршрутизаторами. Максимальное число адресов или имен в списке узлов — 9. Список узлов — это набор IP-адресов (в точечно-десятичной нотации), разделенных пробелами.

Указывает, что сообщения с эхо-запросом используют параметр строгой маршрутизации в IP-заголовке с набором промежуточных точек назначения, указанным в списке_узлов (доступно только в IPv4). При строгой маршрутизации следующая промежуточная точка назначения должна быть доступной напрямую (она должна быть соседней в интерфейсе маршрутизатора). Максимальное число адресов или имен в списке узлов равно 9. Список узлов — это набор IP-адресов (в точечно-десятичной нотации), разделенных пробелами.

Определяет в миллисекундах время ожидания получения сообщения с эхо-ответом, которое соответствует сообщению с эхо-запросом. Если сообщение с эхо-ответом не получено в пределах заданного интервала, то выдается сообщение об ошибке «Requesttimedout». Интервал по умолчанию равен 4000 (4 секунды).

Задает отслеживание пути приема-передачи (RoundTrip) (доступно только в IPv6).

Указывает используемый адрес источника (доступно только в IPv6).

Задает использование для проверки связи протокола IPv4. Этот параметр не требуется для идентификации конечного узла с адресом IPv4. Он требуется только для идентификации конечного узла по имени.

Задает использование протокола IPv6 для проверки связи. Этот параметр не требуется для идентификации конечного узла с адресом IPv6. Он требуется только для идентификации конечного узла по имени.

Задает имя узла или IP-адрес назначения.

Отображает справку в командной строке.

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

Эта команда доступна только в том случае, если в свойствах сетевого адаптера в объекте «Сетевые подключения» в качестве компонента установлен протокол Интернета (TCP/IP).

Примеры использования команды ping

Следующий пример показывает результаты работы команды ping:

Pinging example.microsoft.com with 32 bytes of data:

Reply from (Ответот) 192.168.239.132: bytes=32 time=101ms TTL=124

Reply from (Ответот) 192.168.239.132: bytes=32 time=100ms TTL=124

Reply from (Ответот) 192.168.239.132: bytes=32 time=120ms TTL=124

*** В случае если при пинге выдаётся сообщение Packetfiltered, то это означает что скорее всего заблокировано подключение к инету за неуплату/спам/резервирование канала

Для отправки сообщения точке назначения 10.0.99.221 и сопоставления с ее узловым именем введите:

ping -a 10.0.99.221 — Для отправки точке назначения 10.0.99.221 десяти собщений с эхо-запросом, каждое из которых имеет поле данных из 1000 байт, введите:

ping -n 10 -l 1000 10.0.99.221 — Для отправки сообщения точке назначения 10.0.99.221 и записи маршрута для 4 переходов введите.


Всем знакомы ситуации, когда интернет на компьютере неожиданно разрывается, такое поведение можно наблюдать при использовании ADSL модемов, Wifi на большом расстоянии, GSM и других подобных ненадежных технологий. Быстро выяснить есть ли на компьютере интернет можно с помощью утилиты ping.

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

Утилита ping — это очень простой инструмент для диагностики сети. Она позволяет проверить доступен удаленный хост или нет и все. Для этого утилита проверяет, может ли хост отвечать на сетевые запросы с помощью протокола ICMP.

Надеюсь, не нужно говорить, что все данные по сети передаются в виде небольших пакетов. Программа передает небольшой пакет с данными ICMP и ожидает получить обратно пакет ответа, если получает, то считается что удаленный узел доступен. ICMP или Internet Control Message Protocol — это надстройка над протоколом IP, которая используется для передачи служебных сообщений и сообщений и ошибках.

Протокол ICMP может передавать только два типа пакетов — это сообщения с отчетами про ошибки и сообщения запросов. В свою очередь, сообщения запросов делятся на:

  • Сообщение эхо-запрос;
  • Сообщение эхо-ответ.

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

Команда Ping

Теперь нам осталось немного попрактиковаться. Но перед тем, как мы перейдем к практике давайте рассмотрим синтаксис команды и ее опции. Синтаксис довольно прост:

$ ping опции адрес_узла

Формат команды ping очень прост. В качестве адреса узла можно передавать как ip адрес, так и доменное имя. Опции настраивают поведение утилиты. Рассмотрим основные из них:

  • -4 — использовать только ipv4 (по умолчанию);
  • -6 — использовать только ipv6;
  • -A — адаптивный режим, время между отправками пакета адаптируется к времени передачи и приема пакета, но не меньше чем 200мс;
  • -b — разрешить ping широковещательного адреса;
  • — количество пакетов, которые нужно отправить;
  • -D — выводить время в виде UNIX timestamp;
  • -f — режим флуда, в этом режиме пакеты передаются без задержек, может использоваться для совершения DoS атак на отдельные узлы. Количество точек, которые выводит утилита обозначает количество потерянных пакетов;
  • -i — интервал в секундах между отправкой пакетов;
  • -I — использовать этот сетевой интерфейс для отправки пакетов;
  • -l — режим перегрузки, отправляется очень много пакетов и система не следит за ответными пакетами;
  • -n — не получать домены для ip адресов;
  • -r — игнорировать таблицы маршрутизации и отправить пакет на указанный интерфейс;
  • -s — размер одного пакета;
  • -t — установить TTL вручную;
  • -v — более подробный вывод.

Теперь, когда мы рассмотрели основные параметры команды ping и ее синтаксис, пришло время практики, дальше поговорим о том, как сделать ping определенного узла в Linux.

Как пользоваться Ping?

Для проверки работоспособности сети часто используется программа ping любого сайта, который всегда доступен, например, google.com или еще проще и короче ya.ru. Вам будет достаточно передать утилите в параметрах этот адрес, она сама найдет ip и сделает все нужное:

Как я и писал выше, для каждого пакета выводится уникальный идентификатор icmp_seq, количество узлов до целевого узла ttl и время, потраченное на доставку пакета time. Чтобы остановить ping нажмите сочетание клавиш Ctrl+C . В конце утилита вывела общую статистику:

  • packets transmitted — отправлено пакетов;
  • received — получено пакетов;
  • packet loss — процент потерянных пакетов;
  • time — обще время работы;
    rtt min/avg/max/mdev — минимальное время/среднее время/максимальное время/квадратичное отклонение.

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

Точно так же как мы выполняем ping для домена, можно указать ip адрес напрямую. Это позволяет проверить есть ли сеть когда неверно настроены серверы DNS. Например:

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

По умолчанию, в обычном режиме, каждый следующий пакет отправляется, когда получен ответ на предыдущий. Но вы можете сами установить интервал между отправкой пакетов -i:

Здесь программа ping выполняет так званный, настраиваемый флуд, вы указываете с какой интенсивностью нужно отправлять пакеты. С помощью опции -D вы можете увидеть Unix Timestamp для каждого сообщения:

Выводы

В этой статье мы рассмотрели что такое команда ping в linux, как ее использовать основные параметры и методы применения. Этот очень простой инструмент можно применять для тестирования неполадок сети и их исправления. В этом плане утилита может стать незаменимой.

«Для чего в команде ping используются опции Loose, Strict, Record, Timestamp и Verbose?» — такой вопрос мне недавно встретился в вендорном экзамене. Они позволяют влиять на маршрутизацию ICMP пакетов и собирать информацию о транзитных L3-устройствах. Но занимаясь сетевыми технологиями уже достаточно давно, я почти никогда их не использовал.

Мне стало не совсем понятно, почему такой вопрос вообще присутствует в тесте. Вернувшись домой, решил узнать, вдруг я действительно постоянно упускаю из виду что-то важное?

Утилита ping нам всем хорошо знакома. Помимо стандартного «ping 8.8.8.8», можно использовать различные опции, среди которых присутствуют интересующие нас. Их наименование и описание у вендоров примерно одинаковое.

Из наиболее часто используемых я бы отметил следующие.

  • Количество отправляемых пакетов
    Вместо заданного количества пакетов по умолчанию (например, в Windows — четыре, в оборудовании Cisco — пять), мы можем отправить нужное. Сюда же можно отнести многими любимую опцию «-t» в ОС Windows, которая запускает бесконечную отправку пакетов.
  • Интерфейс источника
    В первую очередь актуально для сетевого оборудования. По умолчанию, при использовании команды ping устройство отправляет пакет с адресом ближайшего интерфейса к точке назначения. В случае тестирования функций NAT или проверки VPN, возникает необходимость отправлять ICMP пакеты с другого интерфейса. Ещё один классический пример: как доказать коллеге, что у него включён файрвол на хосте, а не сеть глючит. Запускаем ping с ядра сети без указания интерфейса – пингуется. С указанием неближайшего интерфейса – не пингуется.
  • Установка DF-бита
    Пакет с установленным DF-битом (=1) не может фрагментироваться. Данную опцию удобно использовать для определения максимально допустимого размера кадра (MTU) между двумя точками. Обычно используется в связке параметрами ниже.
  • Размер пакета
    Можно варьировать размер пакета. Вместе с установкой DF-бита помогает в определении MTU. Шлём большой пакет – 1500 байт. Не проходит. Шлём чуть меньше – 1300. Проходит. Шлём 1400. И так далее. В общем, метод дихотомии и MTU определён.
    В Windows мы указываем размер сегмента данных ICMP пакета. На устройствах Cisco – размер пакета IP с учётом заголовков.
  • Вариация размера пакета в указанном диапазоне
    Для тех, кто не любит метод дихотомии, может пригодиться данный режим. Мы указываем начальное значение размера пакета, конечное и шаг. Далее устройство отправляет пакеты, постепенно увеличивая их размер. Главное не забыть выставить DF-бит, а то всё насмарку.

За бортом остался ряд других опций (timeout, ToS и пр.), которыми лично я практически не пользуюсь.

Опции Loose, Strict, Record, Timestamp, Verbose включены в утилиту ping на многих сетевых устройствах. Есть поддержка в Windows.

Record (Record Route)

Пакет ICMP с опцией Record при прохождении через L3-устройства записывает IP-адреса исходящих интерфейсов. Делается это как в сторону пункта назначения, так и обратно. Это удобно, например, при диагностировании проблем, связанных с асинхронной маршрутизацией. Получается вроде traceroute, только лучше.

Слово «опции» я использую в двух контекстах: опции команды ping и опции в пакете ICMP. В случае ICMP, опции – это дополнительные параметры, которые устанавливаются в заголовке IPv4 (далее будем указывать просто IP) в поле Options. Поэтому корректнее, конечно, говорить про опции IP. ICMP просто их использует в своей работе.

Но рано радоваться: максимальное количество записей равно девяти. Причём в них входят данные об IP-адресах устройств в обе стороны. Обусловлено данное ограничением тем, что информация об IP-адресах сохраняется не в теле пакета, а в заголовке. Поле с опциями не может быть слишком большим. Оно ограничено 40 байтами. Нам, в конце концов, по сети нужно гонять полезные данные, а не заголовки. В этот объём помещается всего девять записей (4 байт на каждый IPv4 адрес). Оставшиеся (40-4*9)=4 байта уходят на отметку о типе опции, длине и пр. атрибутах. Напомню, максимальный размер всего заголовка IPv4 – 60 байт.

Запускаем с ПК под управлением ОС Windows ping с опцией Record Route (-r) до адреса 192.168.36.2:

C:\Users\user>ping -n 1 -r 9 192.168.36.2

Обмен пакетами с 192.168.36.2 по с 32 байтами данных: Ответ от 192.168.36.2: число байт=32 время=12мс TTL=252 Маршрут: 192.168.31.2 -> 192.168.32.2 -> 192.168.34.2 -> 192.168.35.2 -> 192.168.36.2 -> 192.168.35.1 -> 192.168.33.1 -> 192.168.31.1 -> 192.168.20.1 Статистика Ping для 192.168.36.2: Пакетов: отправлено = 1, получено = 1, потеряно = 0 (0% потерь) Приблизительное время приема-передачи в мс: Минимальное = 12мсек, Максимальное = 12 мсек, Среднее = 12 мсек

Пакeт ICMP Echo Request c выставленной опцией Record Route (Type = 7) в заголовке IP:

ICMP Echo Request доходит до получателя. По пути в него добавляются адреса транзитных устройств. Получатель берёт заполненные поля опции IP заголовка, копирует их в ICMP Echo Reply и отправляет назад. Пока ICMP Echo reply доберётся до инициатора пинга, он обрастёт записями обратного маршрута.

В ответном пакете ICMP Echo Reply, который получит ПК, опция Record Route будет уже заполнена:

Можно заметить, что в нашей сети имеет место ассиметричная маршрутизация.

Пример ping с опцией Record на сетевом оборудовании Cisco.

R1#ping Protocol : Target IP address: 192.168.36.2 Repeat count : 1 Datagram size : Timeout in seconds : Extended commands [n]: y Source address or interface: Type of service : Set DF bit in IP header? : Val > (0.0.0.0) (0.0.0.0) (0.0.0.0) (0.0.0.0) (0.0.0.0) (0.0.0.0) (0.0.0.0) (0.0.0.0) (0.0.0.0) Reply to request 0 (3 ms). Received packet has options Total option bytes= 40, padded length=40 Record route: (192.168.31.2) (192.168.32.2) (192.168.34.2) (192.168.35.2) (192.168.36.2) (192.168.35.1) (192.168.33.1) (192.168.31.1) (192.168.31.2) End of list Success rate is 100 percent (1/1), round-trip min/avg/max = 3/3/3 ms

Когда пакет ICMP с опцией Timestamp проходит через L3-устройство, оно записывает в него метку с указанием текущего времени. Схема работы аналогична опции Record, только вместо адреса ставится время. Как и в предыдущем случае пакет может содержать только девять записей о времени (для ОС Windows – четыре, так как кроме временной метки, добавляется IP-адрес устройства).

Время в пакете указано в формате UNIX time. Анализ данных имеет хоть какой-то смысл, если все устройства синхронизированы по времени (в нашем примере этого нет).

Пример ping с опцией Timestamp (-s) на ПК под управлением ОС Windows.

C:\Users\user>ping -n 1 -s 4 192.168.36.2 Обмен пакетами с 192.168.36.2 по с 32 байтами данных: Ответ от 192.168.36.2: число байт=32 время=4мс TTL=252 Отметка времени: 192.168.31.2: 43990397 -> 192.168.32.2: 43990389 -> 192.168.34.2: 2187294073 -> 192.168.35.2: 2190888543 Статистика Ping для 192.168.36.2: Пакетов: отправлено = 1, получено = 1, потеряно = 0 (0% потерь) Приблизительное время приема-передачи в мс: Минимальное = 4мсек, Максимальное = 4 мсек, Среднее = 4 мсек

Strict (Strict Source Route)

При использовании данной опции задаётся список IP-адресов L3-устройств, через которые ICMP пакет обязательно должен пройти. Причём именно в той последовательности, которую мы указали. Записей, по традиции, максимум девять.

Работает опция просто: на каждом хопе IP-адрес назначения меняется на тот адрес, который мы указали при запуске утилиты ping.

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

В нашей схеме R2 имеет маршрут в сеть 192.168.36.0/24 через R3. Но так как у нас жёстко прописаны устройства в опциях ICMP пакета, R2 передаст его напрямую на R4.

Запускаем утилиту ping с опцией -k (Strict Source Route) в ОС Windows и прописываем адреса устройств.

C:\Users\user>ping –n 1 -k 192.168.20.1 192.168.31.1 192.168.33.1 192.168.35.1 192.168.36.2

Обмен пакетами с 192.168.36.2 по с 32 байтами данных: Ответ от 192.168.36.2: число байт=32 время=5мс TTL=252 Маршрут: 192.168.35.1 -> 192.168.33.1 -> 192.168.31.1 -> 192.168.20.1 Статистика Ping для 192.168.36.2: Пакетов: отправлено = 1, получено = 1, потеряно = 0 (0% потерь) Приблизительное время приема-передачи в мс: Минимальное = 5мсек, Максимальное = 5 мсек, Среднее = 5 мсек

Пакeт ICMP Echo Request c выставленной опцией Strict Source Route (Type = 137) в заголовке IP на нашем ПК выглядит следующим образом:

ПК подставил 192.168.20.1 в качестве адреса получателя. Остальные адреса транзитных устройств благополучно запаковал в поля опции IP (записи Source Route). Адрес конечного устройства добавил в запись Destination.

Этот же пакет, после того, как он минует R1:

IP-адрес отправителя остался без изменений. IP-адрес получателя поменялся на новый – 192.168.31.1. Это значение взято из поля Source Route, когда пакет ICMP только поступил на R1.

Важно отметить, что R1 занёс в поле опций новую запись — Recorded Route. Туда подставлен IP-адрес интерфейса R1. Данное поле понадобится, чтобы ответный пакет (ICMP Echo reply) вернулся по тому же маршруту, что и ICMP Echo request. Точно также будут поступать и остальные устройства. Поэтому, когда пакет ICMP попадёт на R5, в опции Strict Source Route будет содержаться список IP-адресов интересов, через которые должен пройти ответный пакет.

ICMP Echo reply, полученный ПК:

Поле Recorded Route переписывается по мере прохождения пакета ICMP Echo reply, так как там всегда указан адрес исходящего интерфейса для текущего пакета. Поэтому R1, когда получит ICMP Echo reply, заменит 192.168.31.2 на 192.168.20.1.

Если в команде ping мы опустим один из адресов, например, последний (192.168.35.1 – R5), R4 должен будет отправить пакет сразу на устройство с адресом 192.168.36.2. Но так как эта сеть не является для него локальной, R4 отрапортует о том, что заданный узел недостижим. Маршрутизировать пакет по обычным правилам он не будет.

Для обработки опции Record на сетевом оборудовании должен быть включен режим source routing. Например, на оборудовании Cisco он включён по умолчанию.

Loose (Loose Source Route)

Данная опция по сути очень похожа на опцию Strict. Но, в отличии от Strict, в опции Loose задаётся не жёсткий маршрут движения ICMP пакета, а лишь выборочные устройства. Т.е. пакет может маршрутизироваться и другими устройствами. Максимальное количество адресов – девять.

Схема работы аналогична предыдущему случаю. Разница в том, что пакет с опцией Loose может маршрутизироваться транзитными устройствами по обычным правилам.

Запускаем утилиту ping с опцией -j (Loose Source Route) в ОС Windows и прописываем адреса устройств.

C:\Users\user>ping -n 1 -j 192.168.32.1 192.168.36.2

Обмен пакетами с 192.168.36.2 по с 32 байтами данных: Ответ от 192.168.36.2: число байт=32 время=4мс TTL=250 Маршрут: 192.168.32.1 Статистика Ping для 192.168.36.2: Пакетов: отправлено = 1, получено = 1, потеряно = 0 (0% потерь) Приблизительное время приема-передачи в мс: Минимальное = 4мсек, Максимальное = 4 мсек, Среднее = 4 мсек

Пакeт ICMP Echo Request c выставленной опцией Loose Source Route (Type = 131) в заголовке IP на нашем ПК выглядит так:

ПК подставил адрес R3 (192.168.32.1) в качестве получателя. При этом адрес конечного устройства R5 (192.168.36.2) указал в опции IP (запись Destination). Далее пакет маршрутизируется в сети по обычным правилам, пока не попадёт на R3. R3 подставит в качестве адреса назначения адрес R5 и в опциях пропишет свой адрес, через который должен будет вернуться ответный пакет (запись Recorded Route). После чего отправит его в сеть.

Ответный пакет ICMP Echo reply особого интереса не представляет, так как аналогичен ранее рассмотренным. В опциях будет указан адрес исходящего интерфейса R3 (запись Recorded Route), через который прошел пакет.

Данная опция активируется автоматически при выборе любой из ранее описанных. Предоставляет более детальный вывод информации на экран. На сам пакет ICMP она никак не влияет. В Windows в команде ping такой опции нет.

Чтобы мы могли воспользоваться этими опциями, промежуточное оборудование должно их поддерживать. С этим проблем не будет. К новшествам мира ИТ относить весь этот «rocket science» не приходится. Напрашивается вывод: опции Loose, Strict, Record, Timestamp могут быть полезны, даже с учётом ограничения в «девять». Если бы не следующие нюансы, связанные с безопасностью.

Первое. Опции Record и Timestamp могут благополучно использоваться для проведения разведки в сети. С их помощью можно исследовать топологию сети, получить отпечатки, по которым определить ОС и тип устройства, через которые проходил пакет с данными опциями.


Второе. Опции Loose и Strict позволяют управлять движением пакета, игнорируя стандартные правила маршрутизации. Это предоставляет широкие возможности для попыток проникновения в различные сегменты сети, куда в случае обычной маршрутизации доступа не должно быть. Также возможно проведение разведки для анализа топологии сети. Проведение атак по утилизированию полосы пропускания на определённых сегментах сети. Вариантов много.

Третье. Часть сетевого оборудования обрабатывает пакеты с установленными опциями программным образом на уровне control-plane (без использования различных схем оптимизации маршрутизации трафика), что безусловно нагружает ЦПУ. А значит есть возможность осуществить DoS атаку на такое устройство.

Многие вендоры (есть даже отдельное RFC 7126) рекомендуют пакеты с указанными опциями никак не обрабатывать. Варианты предлагают разные. Вплоть до отбрасывания таких пакетов. Правда у некоторых из производителей бывают диссонансы: с одной стороны рекомендуем отбрасывать такие пакеты, с другой — «Record is a very useful option».

Быстрая попытка проверить соответствие этим рекомендациям у пары интернет-провайдеров показали, что часть опций всё-таки работает. Но source routing отключён везде.

Получается интересный вывод. Опции Loose, Strict, Timestamp, Record могут быть полезны при диагностике проблем в сети. Но вопрос безопасности нивелирует это.

В итоге у меня всё-таки осталось чувство непонимания. Почему озвученный в начале вопрос присутствовал в тесте? Относительно полезна опция Record и то при небольшой глубине сети. Остальные опции под вопросом.

Напоследок небольшой опрос. Всем хорошего дня!

Только зарегистрированные пользователи могут участвовать в опросе. , пожалуйста.

«Для чего в команде ping используются опции Loose, Strict, Record, Timestamp и Verbose?» — такой вопрос мне недавно встретился в вендорном экзамене. Они позволяют влиять на маршрутизацию ICMP пакетов и собирать информацию о транзитных L3-устройствах. Но занимаясь сетевыми технологиями уже достаточно давно, я почти никогда их не использовал.

Мне стало не совсем понятно, почему такой вопрос вообще присутствует в тесте. Вернувшись домой, решил узнать, вдруг я действительно постоянно упускаю из виду что-то важное?

Утилита ping нам всем хорошо знакома. Помимо стандартного «ping 8.8.8.8», можно использовать различные опции, среди которых присутствуют интересующие нас. Их наименование и описание у вендоров примерно одинаковое.

Из наиболее часто используемых я бы отметил следующие.

  • Количество отправляемых пакетов
    Вместо заданного количества пакетов по умолчанию (например, в Windows — четыре, в оборудовании Cisco — пять), мы можем отправить нужное. Сюда же можно отнести многими любимую опцию «-t» в ОС Windows, которая запускает бесконечную отправку пакетов.
  • Интерфейс источника
    В первую очередь актуально для сетевого оборудования. По умолчанию, при использовании команды ping устройство отправляет пакет с адресом ближайшего интерфейса к точке назначения. В случае тестирования функций NAT или проверки VPN, возникает необходимость отправлять ICMP пакеты с другого интерфейса. Ещё один классический пример: как доказать коллеге, что у него включён файрвол на хосте, а не сеть глючит. Запускаем ping с ядра сети без указания интерфейса – пингуется. С указанием неближайшего интерфейса – не пингуется.
  • Установка DF-бита
    Пакет с установленным DF-битом (=1) не может фрагментироваться. Данную опцию удобно использовать для определения максимально допустимого размера кадра (MTU) между двумя точками. Обычно используется в связке параметрами ниже.
  • Размер пакета
    Можно варьировать размер пакета. Вместе с установкой DF-бита помогает в определении MTU. Шлём большой пакет – 1500 байт. Не проходит. Шлём чуть меньше – 1300. Проходит. Шлём 1400. И так далее. В общем, метод дихотомии и MTU определён.
    В Windows мы указываем размер сегмента данных ICMP пакета. На устройствах Cisco – размер пакета IP с учётом заголовков.
  • Вариация размера пакета в указанном диапазоне
    Для тех, кто не любит метод дихотомии, может пригодиться данный режим. Мы указываем начальное значение размера пакета, конечное и шаг. Далее устройство отправляет пакеты, постепенно увеличивая их размер. Главное не забыть выставить DF-бит, а то всё насмарку.

За бортом остался ряд других опций (timeout, ToS и пр.), которыми лично я практически не пользуюсь.

Опции Loose, Strict, Record, Timestamp, Verbose включены в утилиту ping на многих сетевых устройствах. Есть поддержка в Windows.

Record (Record Route)

Пакет ICMP с опцией Record при прохождении через L3-устройства записывает IP-адреса исходящих интерфейсов. Делается это как в сторону пункта назначения, так и обратно. Это удобно, например, при диагностировании проблем, связанных с асинхронной маршрутизацией. Получается вроде traceroute, только лучше.

Слово «опции» я использую в двух контекстах: опции команды ping и опции в пакете ICMP. В случае ICMP, опции – это дополнительные параметры, которые устанавливаются в заголовке IPv4 (далее будем указывать просто IP) в поле Options. Поэтому корректнее, конечно, говорить про опции IP. ICMP просто их использует в своей работе.

Но рано радоваться: максимальное количество записей равно девяти. Причём в них входят данные об IP-адресах устройств в обе стороны. Обусловлено данное ограничением тем, что информация об IP-адресах сохраняется не в теле пакета, а в заголовке. Поле с опциями не может быть слишком большим. Оно ограничено 40 байтами. Нам, в конце концов, по сети нужно гонять полезные данные, а не заголовки. В этот объём помещается всего девять записей (4 байт на каждый IPv4 адрес). Оставшиеся (40-4*9)=4 байта уходят на отметку о типе опции, длине и пр. атрибутах. Напомню, максимальный размер всего заголовка IPv4 – 60 байт.

Запускаем с ПК под управлением ОС Windows ping с опцией Record Route (-r) до адреса 192.168.36.2:

C:\Users\user>ping -n 1 -r 9 192.168.36.2

Обмен пакетами с 192.168.36.2 по с 32 байтами данных: Ответ от 192.168.36.2: число байт=32 время=12мс TTL=252 Маршрут: 192.168.31.2 -> 192.168.32.2 -> 192.168.34.2 -> 192.168.35.2 -> 192.168.36.2 -> 192.168.35.1 -> 192.168.33.1 -> 192.168.31.1 -> 192.168.20.1 Статистика Ping для 192.168.36.2: Пакетов: отправлено = 1, получено = 1, потеряно = 0 (0% потерь) Приблизительное время приема-передачи в мс: Минимальное = 12мсек, Максимальное = 12 мсек, Среднее = 12 мсек

Пакeт ICMP Echo Request c выставленной опцией Record Route (Type = 7) в заголовке IP:

ICMP Echo Request доходит до получателя. По пути в него добавляются адреса транзитных устройств. Получатель берёт заполненные поля опции IP заголовка, копирует их в ICMP Echo Reply и отправляет назад. Пока ICMP Echo reply доберётся до инициатора пинга, он обрастёт записями обратного маршрута.

В ответном пакете ICMP Echo Reply, который получит ПК, опция Record Route будет уже заполнена:

Можно заметить, что в нашей сети имеет место ассиметричная маршрутизация.

Пример ping с опцией Record на сетевом оборудовании Cisco.

R1#ping Protocol : Target IP address: 192.168.36.2 Repeat count : 1 Datagram size : Timeout in seconds : Extended commands [n]: y Source address or interface: Type of service : Set DF bit in IP header? : Val > (0.0.0.0) (0.0.0.0) (0.0.0.0) (0.0.0.0) (0.0.0.0) (0.0.0.0) (0.0.0.0) (0.0.0.0) (0.0.0.0) Reply to request 0 (3 ms). Received packet has options Total option bytes= 40, padded length=40 Record route: (192.168.31.2) (192.168.32.2) (192.168.34.2) (192.168.35.2) (192.168.36.2) (192.168.35.1) (192.168.33.1) (192.168.31.1) (192.168.31.2) End of list Success rate is 100 percent (1/1), round-trip min/avg/max = 3/3/3 ms

Когда пакет ICMP с опцией Timestamp проходит через L3-устройство, оно записывает в него метку с указанием текущего времени. Схема работы аналогична опции Record, только вместо адреса ставится время. Как и в предыдущем случае пакет может содержать только девять записей о времени (для ОС Windows – четыре, так как кроме временной метки, добавляется IP-адрес устройства).

Время в пакете указано в формате UNIX time. Анализ данных имеет хоть какой-то смысл, если все устройства синхронизированы по времени (в нашем примере этого нет).

Пример ping с опцией Timestamp (-s) на ПК под управлением ОС Windows.

C:\Users\user>ping -n 1 -s 4 192.168.36.2 Обмен пакетами с 192.168.36.2 по с 32 байтами данных: Ответ от 192.168.36.2: число байт=32 время=4мс TTL=252 Отметка времени: 192.168.31.2: 43990397 -> 192.168.32.2: 43990389 -> 192.168.34.2: 2187294073 -> 192.168.35.2: 2190888543 Статистика Ping для 192.168.36.2: Пакетов: отправлено = 1, получено = 1, потеряно = 0 (0% потерь) Приблизительное время приема-передачи в мс: Минимальное = 4мсек, Максимальное = 4 мсек, Среднее = 4 мсек

Strict (Strict Source Route)

При использовании данной опции задаётся список IP-адресов L3-устройств, через которые ICMP пакет обязательно должен пройти. Причём именно в той последовательности, которую мы указали. Записей, по традиции, максимум девять.

Работает опция просто: на каждом хопе IP-адрес назначения меняется на тот адрес, который мы указали при запуске утилиты ping.

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

В нашей схеме R2 имеет маршрут в сеть 192.168.36.0/24 через R3. Но так как у нас жёстко прописаны устройства в опциях ICMP пакета, R2 передаст его напрямую на R4.

Запускаем утилиту ping с опцией -k (Strict Source Route) в ОС Windows и прописываем адреса устройств.

C:\Users\user>ping –n 1 -k 192.168.20.1 192.168.31.1 192.168.33.1 192.168.35.1 192.168.36.2

Обмен пакетами с 192.168.36.2 по с 32 байтами данных: Ответ от 192.168.36.2: число байт=32 время=5мс TTL=252 Маршрут: 192.168.35.1 -> 192.168.33.1 -> 192.168.31.1 -> 192.168.20.1 Статистика Ping для 192.168.36.2: Пакетов: отправлено = 1, получено = 1, потеряно = 0 (0% потерь) Приблизительное время приема-передачи в мс: Минимальное = 5мсек, Максимальное = 5 мсек, Среднее = 5 мсек

Пакeт ICMP Echo Request c выставленной опцией Strict Source Route (Type = 137) в заголовке IP на нашем ПК выглядит следующим образом:

ПК подставил 192.168.20.1 в качестве адреса получателя. Остальные адреса транзитных устройств благополучно запаковал в поля опции IP (записи Source Route). Адрес конечного устройства добавил в запись Destination.

Этот же пакет, после того, как он минует R1:

IP-адрес отправителя остался без изменений. IP-адрес получателя поменялся на новый – 192.168.31.1. Это значение взято из поля Source Route, когда пакет ICMP только поступил на R1.

Важно отметить, что R1 занёс в поле опций новую запись — Recorded Route. Туда подставлен IP-адрес интерфейса R1. Данное поле понадобится, чтобы ответный пакет (ICMP Echo reply) вернулся по тому же маршруту, что и ICMP Echo request. Точно также будут поступать и остальные устройства. Поэтому, когда пакет ICMP попадёт на R5, в опции Strict Source Route будет содержаться список IP-адресов интересов, через которые должен пройти ответный пакет.

ICMP Echo reply, полученный ПК:

Поле Recorded Route переписывается по мере прохождения пакета ICMP Echo reply, так как там всегда указан адрес исходящего интерфейса для текущего пакета. Поэтому R1, когда получит ICMP Echo reply, заменит 192.168.31.2 на 192.168.20.1.

Если в команде ping мы опустим один из адресов, например, последний (192.168.35.1 – R5), R4 должен будет отправить пакет сразу на устройство с адресом 192.168.36.2. Но так как эта сеть не является для него локальной, R4 отрапортует о том, что заданный узел недостижим. Маршрутизировать пакет по обычным правилам он не будет.

Для обработки опции Record на сетевом оборудовании должен быть включен режим source routing. Например, на оборудовании Cisco он включён по умолчанию.

Loose (Loose Source Route)

Данная опция по сути очень похожа на опцию Strict. Но, в отличии от Strict, в опции Loose задаётся не жёсткий маршрут движения ICMP пакета, а лишь выборочные устройства. Т.е. пакет может маршрутизироваться и другими устройствами. Максимальное количество адресов – девять.

Схема работы аналогична предыдущему случаю. Разница в том, что пакет с опцией Loose может маршрутизироваться транзитными устройствами по обычным правилам.

Запускаем утилиту ping с опцией -j (Loose Source Route) в ОС Windows и прописываем адреса устройств.

C:\Users\user>ping -n 1 -j 192.168.32.1 192.168.36.2

Обмен пакетами с 192.168.36.2 по с 32 байтами данных: Ответ от 192.168.36.2: число байт=32 время=4мс TTL=250 Маршрут: 192.168.32.1 Статистика Ping для 192.168.36.2: Пакетов: отправлено = 1, получено = 1, потеряно = 0 (0% потерь) Приблизительное время приема-передачи в мс: Минимальное = 4мсек, Максимальное = 4 мсек, Среднее = 4 мсек

Пакeт ICMP Echo Request c выставленной опцией Loose Source Route (Type = 131) в заголовке IP на нашем ПК выглядит так:

ПК подставил адрес R3 (192.168.32.1) в качестве получателя. При этом адрес конечного устройства R5 (192.168.36.2) указал в опции IP (запись Destination). Далее пакет маршрутизируется в сети по обычным правилам, пока не попадёт на R3. R3 подставит в качестве адреса назначения адрес R5 и в опциях пропишет свой адрес, через который должен будет вернуться ответный пакет (запись Recorded Route). После чего отправит его в сеть.

Ответный пакет ICMP Echo reply особого интереса не представляет, так как аналогичен ранее рассмотренным. В опциях будет указан адрес исходящего интерфейса R3 (запись Recorded Route), через который прошел пакет.

Данная опция активируется автоматически при выборе любой из ранее описанных. Предоставляет более детальный вывод информации на экран. На сам пакет ICMP она никак не влияет. В Windows в команде ping такой опции нет.

Чтобы мы могли воспользоваться этими опциями, промежуточное оборудование должно их поддерживать. С этим проблем не будет. К новшествам мира ИТ относить весь этот «rocket science» не приходится. Напрашивается вывод: опции Loose, Strict, Record, Timestamp могут быть полезны, даже с учётом ограничения в «девять». Если бы не следующие нюансы, связанные с безопасностью.

Первое. Опции Record и Timestamp могут благополучно использоваться для проведения разведки в сети. С их помощью можно исследовать топологию сети, получить отпечатки, по которым определить ОС и тип устройства, через которые проходил пакет с данными опциями.

Второе. Опции Loose и Strict позволяют управлять движением пакета, игнорируя стандартные правила маршрутизации. Это предоставляет широкие возможности для попыток проникновения в различные сегменты сети, куда в случае обычной маршрутизации доступа не должно быть. Также возможно проведение разведки для анализа топологии сети. Проведение атак по утилизированию полосы пропускания на определённых сегментах сети. Вариантов много.

Третье. Часть сетевого оборудования обрабатывает пакеты с установленными опциями программным образом на уровне control-plane (без использования различных схем оптимизации маршрутизации трафика), что безусловно нагружает ЦПУ. А значит есть возможность осуществить DoS атаку на такое устройство.

Многие вендоры (есть даже отдельное RFC 7126) рекомендуют пакеты с указанными опциями никак не обрабатывать. Варианты предлагают разные. Вплоть до отбрасывания таких пакетов. Правда у некоторых из производителей бывают диссонансы: с одной стороны рекомендуем отбрасывать такие пакеты, с другой — «Record is a very useful option».

Быстрая попытка проверить соответствие этим рекомендациям у пары интернет-провайдеров показали, что часть опций всё-таки работает. Но source routing отключён везде.

Получается интересный вывод. Опции Loose, Strict, Timestamp, Record могут быть полезны при диагностике проблем в сети. Но вопрос безопасности нивелирует это.

В итоге у меня всё-таки осталось чувство непонимания. Почему озвученный в начале вопрос присутствовал в тесте? Относительно полезна опция Record и то при небольшой глубине сети. Остальные опции под вопросом.

Напоследок небольшой опрос. Всем хорошего дня!

Только зарегистрированные пользователи могут участвовать в опросе. Войдите , пожалуйста.

Для проверки соединения в сети используется специальная системная команда ping, которая отсылает запрос протокола ICMP к ресурсу с определенным адресом в сети и выводит на экран результат, поступающий в ответ от данного устройства.

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

Чем меньше время задержки, тем быстрее происходит соединение между двумя узлами.

Что такое пинг

Пинг (ping) – это отрезок времени, в течение которого пакет, отправленный с одного устройства сети, будет доставлен до другого устройства в сети и вернется обратно.

Чем выше пинг, тем больше, например, время ожидания, необходимое для открытия интернет-страницы.

Существует еще одно понятие применительно для Ping, пограничное с первым. Ping – также самая популярная команда для определения скорости доступа к тем или иным сетевым устройствам. Ее можно использовать в качестве основного средства, определяющего период возврата пакетов по интересующему маршруту.

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

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

В случае если нет полученных ответов от проверяемого устройства, значит, имеются проблемы с подключением. Пакеты, которые не пришли обратно — называются «потери». Чем количество потерянных пакетов больше, тем хуже. Если же все отправленные пакеты потеряны, то это означает или отсутствие сетевого подключения, либо недоступность пингуемого устройства.

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

Видео: проверка пинг


Способы проверки

Для проверки соединения с помощью пингования можно либо запустить команду ping из консоли операционной системы, либо воспользоваться специализированными online-сервисами.

Мастер Йода рекомендует:  MySQL и кодировка. Миграция (или деградация)

Через командную строку

Чтобы проверить пинг через cmd необходимо проделать следующую последовательность действий:

  • открыть командную строку одним из трех способов:

Онлайн

Альтернативный вариант проверки пинга до сервера онлайн– использование онлайн-сервисов. Данные интернет-сервисы позволяют проверить доступность информационного ресурса и время ожидания пользователей.

Рассмотрим наиболее распространенных из них:

Как проверить пинг до роутера

Самый быстрый и простой способ в Windows проверки пинга до маршрутизатора заключается в использовании команды Ping. Для этого предварительно необходимо узнать его ip-адрес. Обычно он нанесен на корпус маршрутизатора с обратной стороны. Чаще всего роутер имеет следующий ip-адрес 192.168.1.1.

В командной строке набираем команду: ping 192.168.1.1 -t.

Если у маршрутизатора ip -адрес — 192.168.0.1 (как в случае с маршрутизаторами D-Link), то команда должна быть: ping 192.168.0.1 –t.

Параметр -t означает, что пинги будут отправляться до тех пор, пока пользователь не прервет процесс нажатием сочетания клавиш «Ctrl»+ «C», либо не закроет окно консоли. Благополучный результат пингования отображен на рисунке:

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

Если IP-адрес маршрутизатора недоступен и нет ответа от устройства, то результат выполнения команды ping следующий :

Фото: результат выполнения команды ping

В такой ситуации необходимо проверить какой ip -адрес установлен в настройках сетевой платы, пробовать поменять порт в роутере и крайнем случае сбросить настройки роутера до заводских.

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

Разумно перед игрой проверить пинг до игрового сервера. Конечно, чем меньше пинг, тем комфортнее работа в сети.

Команда ping — что это и как используется?

Нередко возникают ситуации, когда необходимо определить доступность и работоспособность узла, сайта или сервера в интернете. Что же делать в этом случае? Вам поможет команда ping. Ее использование позволяет проверить соединение с узлом на уровне IP. Это простая команда, но очень часто именно она позволяет определить наличие той или иной неполадки.

Если вас интересует аренда VDS сервера, то откройте эту страницу, закажите сервер и получите выделенный IP, по которому можно проверять доступность сервера.

Что дает команда ping и как это можно использовать для выявления неполадок? С ее помощью вы посылаете на хост, указанный в команде, пакет определенного размера. Через определенное время вы получаете ответ — пакет возвращается. На основе полученного пакета можно судить о совместимости настроек, определить проблемы с аппаратным обеспечением, а также оценить стабильность подключения компьютера к сетевым ресурсам и сети TCP/IP в целом.

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

  • Работает ли сервер
    Например, при выполнении этой команды можно понять, завис ли только веб-сервер или же вы столкнулись с более глобальной проблемой.
  • Есть ли связь с сервером
    В частности, есть ли проблемы с настройкой DNS на сервере. Для этого достаточно задать имя домена и IP-адрес.
  • Скорость соединения
    После выполнения команды вы получаете результат, где отображается количество запросов в секунду. На основе полученной информации можно вычислить ориентировочную скорость канала.
  • Качество соединения
    Также в полученном результате вы увидите количество отправленных и полученных пакетов. Сравнивая эти числа, вы можете понять, насколько надежно соединение. В идеале, разница между количеством отправленных и полученных пакетов должна быть близка к нулю.

Теперь давайте перейдем непосредственно к тому, как определить пинг нужного вам сервера. Для Windows и Unix-систем порядок действий несколько отличается, поэтому мы рассмотрим их по очереди.

Как выполняется команда ping в CMD (в командной строке) Windows

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

  • Открыть командную строку
    Сделать это можно двумя способами. Первый способ: кнопка «Пуск» — пункт «Выполнить» — набрать команду «cmd» — нажать «Ok». Второй способ: кнопка «Пуск» — «Стандартные» — «Командная строка». В результате выполнения любого варианта открывается командная строка.
  • Ввести команду ping
    Команда ping в командной строке должна обладать следующим синтаксисом: Ping domain_name, где domain_name — имя домена, который нужно проверить. Также вместо имени домена можно вести IP-адрес нужного веб-узла, шлюза или удаленного узла.
  • Получить результат выполнения команды
    Независимо от того, использовалась команда ping в CMD или в командной строке, открытой иным способом, вы увидите ход пинга. Вам будет показан процесс обмена пакетами между IP адресами нужного домена и вашего компьютера. В результате вы увидите количество обменов, число пересланных байтов в пакете, время отклика и время жизни пакета. В статистике же вы найдете количество переданных и принятых пакетов, а также процент потерь. Кроме того, во многих ситуациях может быть полезна информация о времени передачи пакета — максимальном, минимальном и среднем за сеанс выполнения команды.

Как выполняется команда ping в Linux и других Unix-системах

Чтобы выполнить команду ping в любой Unix-системе вам необходимо сделать следующее:

  • Открыть терминал (аналог командной строки в Windows)
    В зависимости от ОС и предпочтений пользователя терминал может быть представлен различными интерпретаторами команд. Если при загрузке системы был настроен запуск графической оболочки, то текстовую консоль можно вызвать при помощи сочетания Ctrl+Alt+F1-F6 (зависит от операционной системы).
  • Ввести команду ping
    Синтаксис команды аналогичен варианту для Windows. То есть вам нужно ввести ping ip, где ip — нужный вам IP-адрес.
  • Остановить выполнение команды
    Если в Windows в рамках одного сеанса пинга по умолчанию отправляется 4 пакета, то в Unix-системах команда выполняется до прерывания ее пользователем. Как остановить команду ping в Linux и получить результаты? Очень просто — достаточно нажать сочетание клавиш Ctrl+C.
  • Получить результат пинга
    Содержание и интерпретация отчета по выполнению команды аналогично варианту при работе с Windows.

Ключи команды ping

Эта команда обладает несколькими полезными параметрами (ключами), которые вы можете регулировать по своему усмотрению и ситуации:

  • -t
    При работе в Windows позволяет команде ping повторять запросы до тех пор, пока пользователь не остановит выполнение команды.
  • -n количество
    Можно изменить количество запросов к адресу. По умолчанию выполняется 4 запроса за сессию.
  • -l размер
    При помощи этого ключа можно настроить размер пакета пинга. По умолчанию этот параметр равен 32 байтам.
  • -f
    По умолчанию фрагментация отправляемого по адресу пакета разрешена. Этот ключ означает «не фрагментировать».
  • -w интервал
    При помощи этого параметра можно указать интервал ожидания между пакетами.
  • /?
    Вызов справки по команде ping.

Как видите, все очень просто. Но если случилось так, что при работе с хостингом RigWEB команда ping не работает, и вы не знаете причины этого — обратитесь за помощью в техподдержку. Наши специалисты разберутся в возникшей ситуации и окажут вам квалифицированную помощь в рамках своей компетенции в течение всего 30 минут. Если вас интересует аренда физических серверов или VPS и у вас возникли какие-то сомнения, запросите тестовый IP для пинга и проверьте доступность, скорость ответа. Пользуйтесь профессиональным хостингом с оперативной техподдержкой и получайте удовольствие от работы над собственным веб-проектом!

Ping и некоторые его параметры

«Для чего в команде ping используются опции Loose, Strict, Record, Timestamp и Verbose?» — такой вопрос мне недавно встретился в вендорном экзамене. Они позволяют влиять на маршрутизацию ICMP пакетов и собирать информацию о транзитных L3-устройствах. Но занимаясь сетевыми технологиями уже достаточно давно, я почти никогда их не использовал.

Мне стало не совсем понятно, почему такой вопрос вообще присутствует в тесте. Вернувшись домой, решил узнать, вдруг я действительно постоянно упускаю из виду что-то важное?

Утилита ping нам всем хорошо знакома. Помимо стандартного «ping 8.8.8.8», можно использовать различные опции, среди которых присутствуют интересующие нас. Их наименование и описание у вендоров примерно одинаковое.

  • Количество отправляемых пакетов
    Вместо заданного количества пакетов по умолчанию (например, в Windows — четыре, в оборудовании Cisco — пять), мы можем отправить нужное. Сюда же можно отнести многими любимую опцию «-t» в ОС Windows, которая запускает бесконечную отправку пакетов.
  • Интерфейс источника
    В первую очередь актуально для сетевого оборудования. По умолчанию, при использовании команды ping устройство отправляет пакет с адресом ближайшего интерфейса к точке назначения. В случае тестирования функций NAT или проверки VPN, возникает необходимость отправлять ICMP пакеты с другого интерфейса. Ещё один классический пример: как доказать коллеге, что у него включён файрвол на хосте, а не сеть глючит. Запускаем ping с ядра сети без указания интерфейса – пингуется. С указанием неближайшего интерфейса – не пингуется.
  • Установка DF-бита
    Пакет с установленным DF-битом (=1) не может фрагментироваться. Данную опцию удобно использовать для определения максимально допустимого размера кадра (MTU) между двумя точками. Обычно используется в связке параметрами ниже.
  • Размер пакета
    Можно варьировать размер пакета. Вместе с установкой DF-бита помогает в определении MTU. Шлём большой пакет – 1500 байт. Не проходит. Шлём чуть меньше – 1300. Проходит. Шлём 1400. И так далее. В общем, метод дихотомии и MTU определён.
    В Windows мы указываем размер сегмента данных ICMP пакета. На устройствах Cisco – размер пакета IP с учётом заголовков.
  • Вариация размера пакета в указанном диапазоне
    Для тех, кто не любит метод дихотомии, может пригодиться данный режим. Мы указываем начальное значение размера пакета, конечное и шаг. Далее устройство отправляет пакеты, постепенно увеличивая их размер. Главное не забыть выставить DF-бит, а то всё насмарку.

За бортом остался ряд других опций (timeout, ToS и пр.), которыми лично я практически не пользуюсь.

Опции Loose, Strict, Record, Timestamp, Verbose включены в утилиту ping на многих сетевых устройствах. Есть поддержка в Windows.

Record (Record Route)

Пакет ICMP с опцией Record при прохождении через L3-устройства записывает IP-адреса исходящих интерфейсов. Делается это как в сторону пункта назначения, так и обратно. Это удобно, например, при диагностировании проблем, связанных с асинхронной маршрутизацией. Получается вроде traceroute, только лучше.

Но рано радоваться: максимальное количество записей равно девяти. Причём в них входят данные об IP-адресах устройств в обе стороны. Обусловлено данное ограничением тем, что информация об IP-адресах сохраняется не в теле пакета, а в заголовке. Поле с опциями не может быть слишком большим. Оно ограничено 40 байтами. Нам, в конце концов, по сети нужно гонять полезные данные, а не заголовки. В этот объём помещается всего девять записей (4 байт на каждый IPv4 адрес). Оставшиеся (40-4*9)=4 байта уходят на отметку о типе опции, длине и пр. атрибутах. Напомню, максимальный размер всего заголовка IPv4 – 60 байт.

Запускаем с ПК под управлением ОС Windows ping с опцией Record Route (-r) до адреса 192.168.36.2:

Пакeт ICMP Echo Request c выставленной опцией Record Route (Type = 7) в заголовке IP:

ICMP Echo Request доходит до получателя. По пути в него добавляются адреса транзитных устройств. Получатель берёт заполненные поля опции IP заголовка, копирует их в ICMP Echo Reply и отправляет назад. Пока ICMP Echo reply доберётся до инициатора пинга, он обрастёт записями обратного маршрута.

В ответном пакете ICMP Echo Reply, который получит ПК, опция Record Route будет уже заполнена:

Можно заметить, что в нашей сети имеет место ассиметричная маршрутизация.

Когда пакет ICMP с опцией Timestamp проходит через L3-устройство, оно записывает в него метку с указанием текущего времени. Схема работы аналогична опции Record, только вместо адреса ставится время. Как и в предыдущем случае пакет может содержать только девять записей о времени (для ОС Windows – четыре, так как кроме временной метки, добавляется IP-адрес устройства).

Время в пакете указано в формате UNIX time. Анализ данных имеет хоть какой-то смысл, если все устройства синхронизированы по времени (в нашем примере этого нет).

Strict (Strict Source Route)

При использовании данной опции задаётся список IP-адресов L3-устройств, через которые ICMP пакет обязательно должен пройти. Причём именно в той последовательности, которую мы указали. Записей, по традиции, максимум девять.

Работает опция просто: на каждом хопе IP-адрес назначения меняется на тот адрес, который мы указали при запуске утилиты ping.

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

В нашей схеме R2 имеет маршрут в сеть 192.168.36.0/24 через R3. Но так как у нас жёстко прописаны устройства в опциях ICMP пакета, R2 передаст его напрямую на R4.

Запускаем утилиту ping с опцией -k (Strict Source Route) в ОС Windows и прописываем адреса устройств.

Пакeт ICMP Echo Request c выставленной опцией Strict Source Route (Type = 137) в заголовке IP на нашем ПК выглядит следующим образом:

ПК подставил 192.168.20.1 в качестве адреса получателя. Остальные адреса транзитных устройств благополучно запаковал в поля опции IP (записи Source Route). Адрес конечного устройства добавил в запись Destination.

Этот же пакет, после того, как он минует R1:

IP-адрес отправителя остался без изменений. IP-адрес получателя поменялся на новый – 192.168.31.1. Это значение взято из поля Source Route, когда пакет ICMP только поступил на R1.

Важно отметить, что R1 занёс в поле опций новую запись — Recorded Route. Туда подставлен IP-адрес интерфейса R1. Данное поле понадобится, чтобы ответный пакет (ICMP Echo reply) вернулся по тому же маршруту, что и ICMP Echo request. Точно также будут поступать и остальные устройства. Поэтому, когда пакет ICMP попадёт на R5, в опции Strict Source Route будет содержаться список IP-адресов интересов, через которые должен пройти ответный пакет.

ICMP Echo reply, полученный ПК:

Поле Recorded Route переписывается по мере прохождения пакета ICMP Echo reply, так как там всегда указан адрес исходящего интерфейса для текущего пакета. Поэтому R1, когда получит ICMP Echo reply, заменит 192.168.31.2 на 192.168.20.1.

Если в команде ping мы опустим один из адресов, например, последний (192.168.35.1 – R5), R4 должен будет отправить пакет сразу на устройство с адресом 192.168.36.2. Но так как эта сеть не является для него локальной, R4 отрапортует о том, что заданный узел недостижим. Маршрутизировать пакет по обычным правилам он не будет.

Для обработки опции Record на сетевом оборудовании должен быть включен режим source routing. Например, на оборудовании Cisco он включён по умолчанию.

Loose (Loose Source Route)


Данная опция по сути очень похожа на опцию Strict. Но, в отличии от Strict, в опции Loose задаётся не жёсткий маршрут движения ICMP пакета, а лишь выборочные устройства. Т.е. пакет может маршрутизироваться и другими устройствами. Максимальное количество адресов – девять.

Схема работы аналогична предыдущему случаю. Разница в том, что пакет с опцией Loose может маршрутизироваться транзитными устройствами по обычным правилам.

Запускаем утилиту ping с опцией -j (Loose Source Route) в ОС Windows и прописываем адреса устройств.

Пакeт ICMP Echo Request c выставленной опцией Loose Source Route (Type = 131) в заголовке IP на нашем ПК выглядит так:

ПК подставил адрес R3 (192.168.32.1) в качестве получателя. При этом адрес конечного устройства R5 (192.168.36.2) указал в опции IP (запись Destination). Далее пакет маршрутизируется в сети по обычным правилам, пока не попадёт на R3. R3 подставит в качестве адреса назначения адрес R5 и в опциях пропишет свой адрес, через который должен будет вернуться ответный пакет (запись Recorded Route). После чего отправит его в сеть.

Ответный пакет ICMP Echo reply особого интереса не представляет, так как аналогичен ранее рассмотренным. В опциях будет указан адрес исходящего интерфейса R3 (запись Recorded Route), через который прошел пакет.

Данная опция активируется автоматически при выборе любой из ранее описанных. Предоставляет более детальный вывод информации на экран. На сам пакет ICMP она никак не влияет. В Windows в команде ping такой опции нет.

Чтобы мы могли воспользоваться этими опциями, промежуточное оборудование должно их поддерживать. С этим проблем не будет. К новшествам мира ИТ относить весь этот «rocket science» не приходится. Напрашивается вывод: опции Loose, Strict, Record, Timestamp могут быть полезны, даже с учётом ограничения в «девять». Если бы не следующие нюансы, связанные с безопасностью.

Первое. Опции Record и Timestamp могут благополучно использоваться для проведения разведки в сети. С их помощью можно исследовать топологию сети, получить отпечатки, по которым определить ОС и тип устройства, через которые проходил пакет с данными опциями.

Второе. Опции Loose и Strict позволяют управлять движением пакета, игнорируя стандартные правила маршрутизации. Это предоставляет широкие возможности для попыток проникновения в различные сегменты сети, куда в случае обычной маршрутизации доступа не должно быть. Также возможно проведение разведки для анализа топологии сети. Проведение атак по утилизированию полосы пропускания на определённых сегментах сети. Вариантов много.

Третье. Часть сетевого оборудования обрабатывает пакеты с установленными опциями программным образом на уровне control-plane (без использования различных схем оптимизации маршрутизации трафика), что безусловно нагружает ЦПУ. А значит есть возможность осуществить DoS атаку на такое устройство.

Многие вендоры (есть даже отдельное RFC 7126) рекомендуют пакеты с указанными опциями никак не обрабатывать. Варианты предлагают разные. Вплоть до отбрасывания таких пакетов. Правда у некоторых из производителей бывают диссонансы: с одной стороны рекомендуем отбрасывать такие пакеты, с другой — «Record is a very useful option».

Быстрая попытка проверить соответствие этим рекомендациям у пары интернет-провайдеров показали, что часть опций всё-таки работает. Но source routing отключён везде.

Получается интересный вывод. Опции Loose, Strict, Timestamp, Record могут быть полезны при диагностике проблем в сети. Но вопрос безопасности нивелирует это.

В итоге у меня всё-таки осталось чувство непонимания. Почему озвученный в начале вопрос присутствовал в тесте? Относительно полезна опция Record и то при небольшой глубине сети. Остальные опции под вопросом.

Напоследок небольшой опрос. Всем хорошего дня!

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Непрерывный пинг – Как сделать пинг без остановки в командной строке

Поиск
Рубрики

Как сделать пинг без остановки в командной строке

Если вы уже ранее пользовались командой ping в окне командной строки, то должно быть заметили, что при вводе команды и нажатия клавиши Enter, производится всего лишь 4 пинг-запроса.

Это обстоятельство может не устроить, т.к. имеются ситуации, когда необходимо осуществить отправку команды ping куда большее число раз, а постоянно вводить команду и нажимать клавишу, дабы произвести очередные 4 отправки – весьма утомительное занятие.

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

Видя в реальном времени доступность ресурса, его время отклика, можно вполне определить и «качество» собственного интернет соединения.

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

С типовыми ситуациями, при которых может понадобиться постоянная отправка ping, мы более-менее разобрались. Хотя, стоит отметить, что приведённые выше примеры являются далеко не исчерпывающими. Но этот материал и не ориентирован на перечисление всех возможных задач, при которых может понадобиться постоянное пингование того или иного ресурса, хоста, IP адреса и т.д.

Так что давайте перейдём к самой команде, которая позволит выполнить желаемое.

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

  1. Первым делом нам надо осуществить открытие окна командной строки. Вы наверняка уже знаете, как это можно сделать. Если же нет, то материал «Как отрыть командную строку в Windows (XP, 7, 8, 10) – обзор способов» вам в этом поможет.
  2. Последующий шаг будет направлен на ввод команды, которая позволит нам пинговать желаемый ресурс не 4 раза, а до момента, пока не будет закрыто окно командной строки. Вот данная команда:

Введя её, нажмите Enter.

В качестве сайта указан наш ресурс. Не забудьте заменить его на тот, что требуется пинговать в вашем случае.

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

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

10 примеров использования команды Ping

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

Пример 1. Изменение интервала времени между отправкой пакетов

По умолчанию пакеты посылаются с промежутком в одну секунду. Вы можете изменить это интервал с помощью опции -i.

Увеличение интервала

Пример: Ждем 5 секунд перед отправкой следующего пакета.

Уменьшаем интервал

Пример: Ждем 0.1 секунду перед отправкой следующего пакета.

Заметка: Только суперпользователь может указывать интервал меньше 0.2 секунды. В противном случае вы увидите такое сообщение.

Пример 2. Проверка локального интерфейса

Перед проверкой удаленного хоста сначала рекомендуется проверить все ли в порядке с вашим локальным интерфейсом. Для этого можно использовать следующие 3 метода.

Пингуем ноль (0)

Это самый простой и быстрый способ:

Пингуем по имени
Пингуем по IP

Не должно быть никаких потерь пакетов.

Пример 3. Послать N пакетов и завершить работу

Для автоматического завершения пинга после отправки указанного вами числа пакетов исползуется опция -c.

В следующем примере мы отправим 5 пакетов.

Пример 4. Версия команды ping

С помощью опции -V мы можем посмотреть текущую версию команды.

Пример 5. Флуд в сети

Суперпользователь может послать тысячи и более пакетов в короткие сроки с помощью опции -f.

Как показано ниже, ping -f послал более чем 400,000 пакетов за несколько секунд.

Пример 6. Звуковой сигнал

Эта опция исползуется редко, но бывает очень полезна. Вы запускается пинг, ответа от хоста нет, вы разбираетесь в чем дело, и как только проблема будет решена и удаленный хост ответит, вы услышите звук.

Пример 7. Печатать только статистику выполнения команды

С помощью опции -q можно пропустить ответы удаленного хоста и вывести сразу полученную статистику.

Пример 8. Изменение размера пакета

Вы можете изменить размер посылаемого пакета используя опцию -s.

Пример: Изменим размер пакета с 56 до 100.

Пример 9. Длительность выполнения команды

С помощью опции -w мы можем указать время выполнения команды в секундах.

В следующем примере мы будем пинговать локалхост в течение 5-ти секунд.

Заметка: В случае одновременного использования опций -w и -c завершение работы утилиты наступит в момент срабатывания первого ограничения.

Пример 10. Краткая статистика с SIGQUIT

Не прерывая команду пинг, можно посмотреть статистику выполнения. Для этого нужна нажать CTRL + |

Полезные ссылки

Лучшая посуда от мировых брендов в интернет магазине: BergHOFF, Luminarc, Vitesse

Еще записи по теме

PING — сетевая диагностика на IP-уровне

Команда PING это, пожалуй, самая используемая сетевая утилита командной строки. PING присутствует во всех версиях всех операционных систем с поддержкой сети и является простым и удобным средством опроса узла по имени или его IP-адресу.

Для обмена служебной и диагностической информацией в сети используется специальный протокол управляющих сообщений ICMP (Internet Control Message Protocol). Команда ping позволяет выполнить отправку управляющего сообщения типа Echo Request (тип равен 8 и указывается в заголовке ICMP-сообщения) адресуемому узлу и интерпретировать полученный от него ответ в удобном для анализа виде. В поле данных отправляемого icmp-пакета обычно содержатся символы английского алфавита. В ответ на такой запрос, опрашиваемый узел дожжен отправить icmp-пакет с теми же данными, которые были приняты, и типом сообщения Echo Reply (код типа в ICMP-заголовке равен 0) . Если при обмене icmp-сообщениями возникает какая-либо проблема, то утилита ping выведет информацию для ее диагностики.

Формат командной строки:


ping [-t] [-a] [-n число] [-l размер] [-f] [-i TTL] [-v TOS] [-r число] [-s число] [[-j списокУзлов] | [-k списокУзлов]] [-w таймаут] конечноеИмя

-t — Непрерывная отправка пакетов.
Для завершения и вывода статистики используются комбинации клавиш
Ctrl + Break (вывод статистики и продолжение), и Ctrl + C (вывод статистики и завершение).
-a — Определение адресов по именам узлов.
-n число — Число отправляемых эхо-запросов.
-l размер — Размер поля данных в байтах отправляемого запроса.
-f — Установка флага, запрещающего фрагментацию пакета.
-i TTL — Задание срока жизни пакета (поле «Time To Live»).
-v TOS — Задание типа службы (поле «Type Of Service»).
-r число — Запись маршрута для указанного числа переходов.
-s число — Штамп времени для указанного числа переходов.
-j списокУзлов — Свободный выбор маршрута по списку узлов.
-k списокУзлов — Жесткий выбор маршрута по списку узлов.
-w таймаут — Максимальное время ожидания каждого ответа в миллисекундах.

ping google.com — эхо-запрос к узлу с именем google.com с параметрами по умолчанию — количество пакетов равно 4, длина массива данных = 32 байта.

ping -6 ya.ru — пинг узла ya.ru с использованием протокола Ipv6

ping -a 192.168.1.50 — выполнить пинг с определением имени конесного узла по его адресу.

ping -s 192.168.0.1 computer — пинг узла computer от источника 192.168.0.1. Используется когда на компьютере имеется несколько сетевых интерфейсов.

ping w 5000 ya.ru — пинг с таймаутом ожидания равным 5 секунд ( по умолчанию — 4 сек).

ping -n 5000 -l 1000 ab57.ru — опрос узла ab57.ru 5000 раз, пакетами с данными длиной в 1000байт. Допустимая максимальная длина данных — 65500.

ping -n 1 -l 3000 -f ya.ru — пинг с запретом фрагментации пакета.

ping -n 1-r 3 ya.ru — отправить 1 эхо-запрос на узел ya.ru с отображением первых 3-х переходов по маршруту.

ping -i 5 ya.ru — пинг с указанием времени жизни TTL=5. Если для достижения конечного узла потребуется большее количество переходов по маршруту, то маршрутизатор, прервавший доставку ответит сообщением ”Превышен срок жизни (TTL) при передаче пакета.”

Применение PING для пошаговой диагностики проблем доступа в Интернет:

Обобщенная схема соединения компьютера (планшета, ноутбука домашней сети) с удаленным конечным узлом можно представить следующим образом:

В качестве домашней сети используется наиболее распространенная сеть с IP-адресами 192.168.1.0 /255.255.255.0 . Речь идет об IPv4 – IP протоколе версии 4, где для адресации используется 4 байта. IP- адреса принято представлять в виде десятичных значений байтов, разделяемых точками. Каждое устройство в сети должно иметь свой уникальный адрес. Кроме адреса, в сетевых настройках используется маска сети ( маска подсети). Маска имеет такой же формат представления, как и адрес. Комбинация адреса и маски определяет диапазон адресов, которые принадлежат локальной сети — 192.168.1.0-192.168.1.255. Первый и последний адреса диапазона не назначаются отдельным сетевым устройствам, поскольку используются в качестве адреса сети и широковещательного адреса. Обычно адрес роутера делают равным 192.168.1.1 или 192.168.1.254. Это не является обязательным стандартом, но на практике используется довольно часто. Единичные биты маски определяют постоянную часть IP-адреса сети, а нулевые — выделяемые отдельным узлам. Значение 255 — это байт с установленными в единицу битами. Маска сети служит средством определения диапазона IP-адресов, принадлежащих локальной сети. Устройства с такими адресами достижимы локально, без использования маршрутизации. Маршрутизация — это способ обмена данными с сетевыми устройствами не принадлежащими к данной локальной сети через специальное устройство — маршрутизатор ( router, роутер ). Маршрутизаторы представляют собой специализированные компьютеры с несколькими сетевыми интерфейсами и специализированным программным обеспечением обеспечивающим пересылку IP-пакетов между отправителем и получателем, находящимися в разных сетях. В такой пересылке могут участвовать несколько маршрутизаторов, в зависимости от сложности маршрута. Домашний роутер — простейшая разновидность маршрутизатора, который обеспечивает пересылку пакетов, адресованных во внешние сети следующему по маршруту маршрутизатору в сети провайдера. Следующий маршрутизатор проверяет достижимость адреса конечного узла локально, и либо пересылает ему данные, либо передает их следующему маршрутизатору в соответствии с таблицей маршрутов. Так происходит до тех пор, пока данные не достигнут получателя или закончится время жизни пакета.

Команда PING можно использовать для диагностики отдельных узлов:

ping 127.0.0.1 — это пинг петлевого интерфейса. Должен выполняться без ошибок, если установлены и находятся в работоспособном состоянии сетевые программные компоненты.

ping свой IP или имя — пинг на собственный адрес или имя. Должен завершаться без ошибок, если установлены все программные средства протокола IP и исправен сетевой адаптер.

ping IP-адрес роутера — должен выполняться, если исправна сетевая карта компьютера, исправен кабель или беспроводное соединение, используемые для подключения к роутеру и исправен сам роутер. Кроме того, настройки IP должны быть такими, чтобы адрес компьютера и роутера принадлежали одной подсети. Обычно это так, когда сетевые настройки выполняются автоматически средствами DHCP-сервера маршрутизатора.

ping yandex.ru — выполнить опрос узла с именем yandex.ru. Если опрос завершается с ошибкой, то причиной может быть не только отсутствие связи с маршрутизатором провайдера, но и невозможность определения адреса узла yandex.ru из-за проблем с программными средствами разрешения имен.

ping 8.8.8.8 — выполнить опрос узла с IP-адресом 8.8.8.8 . Если опрос по адресу выполняется без ошибок, а опрос по имени завершается сообщением о неизвестном узле, то проблема в разрешении имен. Причиной может быть неработоспособность DNS-сервера провайдера. В этом случае, можно попробовать сменить его в настройках сетевого соединения на публичные DNS сервера Google с адресами 8.8.4.4 и 8.8.8.8. Также, проблема может быть вызвана плохим качеством связи с провайдером, что сопровождается слишком большим временем отклика и пропаданием пакетов.

ping -t yandex.ru — выполнять ping до нажатия комбинации CTRL+C, При нажатии CTRL+Break — выдается статистика и
опрос узла продолжается.

ping -n 1000 -l 500 192.168.1.1 — выполнить ping 1000 раз с использованием сообщений, длиной 500 байт. Пинг пакетами стандартной длины в 32 байта может выполняться без ошибок, а на длинных — с ошибками, что характерно для беспроводных соединения при низком уровне сигнала в условиях интенсивных помех.

ping -n 1 -r 9 -w 1000 yandex.ru — выполнить ping 1 раз (ключ -n 1), выдавать маршрут для первых 9 переходов (-r 9), ожидать ответ 1 секунду (1000мсек)

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


Обмен пакетами с yandex.ru [87.250.251.11] с 32 байтами данных:

Ответ от 87.250.251.11: число байт=32 время=36мс TTL=54

IT-блог о веб-технологиях, серверах, протоколах, базах данных, СУБД, SQL, компьютерных сетях, языках программирования и создание сайтов.

Пинг — сетевая утилита командной строки Windows. Команда Ping для теста и проверки удаленного узла или сервера

Привет, посетитель сайта ZametkiNaPolyah.ru! Эта запись будет про простую, но очень полезную стандартную сетевую утилиту ping и о том, как ею пользоваться из командной строки Windows. Возможности команды ping скромны, но ее можно быстро проверить доступность удаленного ресурса или сервера, оценить потери и задержки, хотя и не очень точно. Почему не очень точно? Об этом вы узнаете из данной записи, а также здесь вы найдете простую инструкцию о том, как при помощи команды ping проверить домашнюю сеть и интернет соединение.

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

Что такое пинг и как работает эта команда?

Команда Ping – одна из самых используемых сетевых утилит интерпретатора командной строки, присутствующая в стандартном наборе программных средств любой операционной системы с поддержкой сетевого взаимодействия. Утилита Ping является самым простым и удобным средством проверки доступности удаленного узла. Данная утилита есть не только в операционных системах для настольных ПК и серверов, например, операционных системах семейства Windows или UNIX-подобных операционных системах, к которым относится Linux (вот здесь можете немного прочитать про дистрибутив Linux Mint). Но также эта утилита есть среди стандартных компонентов многих сетевых устройств, скорее всего, ваш домашний роутер тоже умеет пинговать удаленные узлы.

Правда стоит сказать, что возможности утилиты Ping в домашнем роутере куда более скромные, нежели возможности команды Ping компьютера, на котором установлена Windows. Ну а если запустить эмулятор терминала Linux и посмотреть на параметры команды Ping там (именно параметры определяют возможности), то станет ясно, что реализация данной программы в Windows очень скромная, с ней мы и познакомимся в данной записи.

Программа Ping в Windows представлена одним файлом — ping.exe, этот файл находится в папке System32: c:\Windows\System32. Но сейчас нам это не особо интересно, куда интереснее понять, как работает данная команда, и какие возможности есть нее при использовании из командной строки Windows. Стоит отметить, что для ее использования вам не потребуется запускать командную строку от имени администратора.

Итак, мы уже выяснили, что команда Ping используется для проверки доступности удаленных узлов в компьютерной сети (сеть Интернет это тоже компьютерная сеть), для своей работы эта утилита использует протокол ICMP (Internet Control Message Protocol или протокол межсетевых управляющих сообщений), этот протокол работает на сетевом уровне модели стека протоколов TCP/IP (эта информация нам потребуется чуть ниже).

Как правило, в сетевом взаимодействие принимает участие, как минимум, две стороны, а между этими устройствами есть канал связи, в котором могут быть транзитные узлы и линии передач разного качества, чтобы косвенно оценить качество канала связи между точками А и Б, можно использовать команду Ping. Давайте договоримся, что точкой А будет наш компьютер, а точкой Б — удаленный узел.

Когда мы запустим командную строку и напишем ping (в качестве адреса удаленного узла можно использовать как IP-адреса, так и доменные имена или имена хостов) и нажмем Enter, наш компьютер сформирует специальное сообщение, которое называется ICMP Echo-Request, это сообщение он запакует в IP-пакет (вспоминаем про инкапсуляцию данных в компьютерной сети), у пакета есть специальное поле IP-адрес назначения, в которое компьютер запишет IP-адрес удаленного узла, а также есть поле IP-адрес источника, в это поле компьютер запишет свой IP-адрес, чтобы на точке Б знали куда посылать ответ.

Также стоит заметить, что ICMP-запрос, который будет сформирован компьютером представляет собой сообщение, состоящее из двух больших частей:

  1. Заголовка (ICMP Header), в котором содержится вся служебная информация, в том числе и тип сообщения, то есть по заголовку можно понять чем является данное сообщение — запросом или ответом. Заголовок ICMP сообщения является обязательной его частью, размер заголовка составляет 8 байт.
  2. Тело сообщения или полезные данные (ICMP Payload) не является обязательной частью ICMP-сообщения, но при использовании команды Ping поле данных ICMP сообщения обычно заполняется символами английского алфавита.

Когда ICMP-запрос нашего компьютера дойдет до удаленного узла, он принимает решение о том, что с ним делать, удаленный узел может быть настроен таким образом, что вообще не будет отвечать на ICMP-запросы, но давайте представим, что удаленный узел решил ответить на наш запрос, в ответ он пошлет ICMP-ответ, а если быть точным, то ICMP Echo-Reply, размере заголовка ответа не изменится, он в любом случае 8 байт (изменятся некоторые значения заголовка), но еще удаленный узел должен будет поместить в поле данных ICMP-ответа те же самые данные, которые он получил в запросе, а затем послать его обратно нам на точку А.

Эта схема взаимодействия очень похожа на модель клиент-сервер, только с той разницей, что здесь нет явных ролей клиента и сервера: если точка А посылает запросы, то ответы ей будет давать точка Б, а если точка Б будет слать запросы, то отвечать придется точке Б, стоит еще заметить, что обмен ICMP сообщениями, строго говоря, не вписывается в модель клиент-сервер. ICMP-запрос нельзя считать попыткой компьютера получить услугу от удаленной стороны, а ответ удаленной стороны нельзя считать оказанием услуги, это просто служебные сообщения, которые позволяют нам убедиться, что связь между узлами есть.

Давайте запустим командую строку Windows и на практике посмотрим как работает утилита ping, напишите ping 8.8.8.8.

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

У команды Ping в любой операционной системе есть один обязательный параметр — адрес удаленного узла, я уже говорил, что это может быть как имя хоста, так и IP-адрес, в данном случае мы пинговали публичный ДНС-сервер Гугл по IP-адресу. По умолчанию команда Ping в Windows оправляет четыре запроса к удаленному узлу, также утилита в Windows по умолчанию задает размер полезных данных ICMP сообщения равным 32-ум байтам, каждый запрос упаковывается в IP-пакет, у которого есть поле TTL (time to live), по умолчанию команда Ping задает значение этому полю равное пятьдесят пять, все эти параметры можно менять, но об этом ниже.

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

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

Давайте попробуем пропинговать удаленный узел, используя доменное имя, пинговать будем домен компании Майкрософт, все дело в том, что некоторые сервера этой компании не отвечают на ICMP-запросы.

Передаем в качестве параметра команде Ping доменное имя

На скрине выше вы видите два результата работы команды Ping: в первом случае мы пинговали домен microsoft[точка]com, этот домен висит на IP-адресе 104.43.195.251, об этом нам сказала команда Ping, мой ПК отправил четыре запроса и ни разу не получил ответ, просто сервер Майкрософта не отвечает на запросы, при попытке пропинговать адрес 104.43.195.251, вы точно также получите четыре раза сообщение о том, что «Превышен интервал ожидания для запроса». Вообще, сообщения могут быть разными и сообщают они нам о разных ситуациях, но об этом мы будем говорить, когда начнем разбираться с протоколом ICMP.

Если вы откроете браузер и попробуете написать в адресной строке 104.43.195.251 или microsoft[точка]com, то сервер Майкрософт вас перенаправит на домен www[точка]microsoft[точка]сom, если пропинговать этот домен, то мы получим от него ответ, более того, команда Ping нам подскажет IP-адрес домена www[точка]microsoft[точка]сom, а также сообщит имя хоста (e13678.dspb.akamaiedge.net). Думаю, с назначением команды Ping все ясно.

Как проверить пинг?

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

Например, вы запустили пингуете игровой сервер в Австралии и получаете время ответа (иначе это время называется RTT – Round Trip Time) 90 миллисекунд. Хорошо это или плохо? На самом деле трудно сказать. Для того чтобы делать какие-то выводы, например, о качестве, а вернее о возможностях вашего провайдера предоставить качественную (в вашем понимание) связь с конкретным Австралийским сервером, вам нужно провести несколько тестов. Во-первых, оценить трассу до этого сервера при помощи утилиты tracert, затем проверить эту трассу на потери при помощи утилит mtr, WinMTR или pathping.

Мастер Йода рекомендует:  Как использовать ArrayList в Java инструкция с примером

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

Если результаты с вашего ПК гораздо хуже, чем у одного из ваших друзей, то это еще не означает, что у него Интернет лучше, это означает, что его провайдер может предоставить канал до конкретного сервера с меньшими задержками/потерями. Не спешите менять провайдера, для начала попробуйте обратиться в тех. поддержку своего, возможно, они решат вашу проблему, это причина номер раз. Для меня причина номер два заключается в том, что мне просто было бы лень менять провайдера и проходит через все эти адовы муки подключения и беготни.

Ну а причина номер три заключается в том, что провайдеры постоянно взаимодействуют друг с другом и может получиться так, что по каким-то коммерческим или юридическим причинам канал до австралийского сервера на вашем новом провайдера в один прекрасный день станет хуже чем тогда, когда вы на него перешли. В общем, какие выводы надо сделать? Вопрос: «как проверить пинг?», в корне неправильный, при помощи команды Ping мы лишь можем оценить потери до удаленного узла, а также время ответа удаленного сервера, то есть получить косвенную информацию о качестве канала связи (про другие характеристики компьютерной сети можно почитать немного здесь).

Параметры команды Ping в Windows

Теперь давайте посмотрим на параметры команды Ping в Windows. Для этого воспользуемся конструкцией, которая позволяет получить справку в командной строке (/?), команда будет выглядеть так: ping /?. Кстати говоря, если написать команду Ping без параметров, то в результате вы получите список доступных параметров. Стандартная команда help не даст вам подсказку.

Как видите, справка Windows дает подробные и четкие пояснения по параметрам, которые можно использовать вместе с утилитой Ping. Стоит только добавить, что у данной утилиты есть один обязательный параметр — адрес удаленного узла, который может быть представлен как в виде IP-адреса, так и в виде доменного имени сайта или сервера.

Примеры использования утилиты Ping для сетевой диагностики

Давай теперь рассмотрим самые полезные и часто используемые вариации использования утилиты Ping для диагностики сети и проверки доступности удаленных ресурсов и серверов. К сожалению, как и в случае с командной tracert, здесь совершенно не будет примеров с использование протокола IPv6.

Бесконечный пинг удаленного узла

Команда Ping имеет параметр, который позволяет пинговать удаленный узел бесконечно, это параметр -t. Чтобы бесконечно пинговать удаленный узле, нужно написать так: ping -t 8.8.8.8 (вместо 8.8.8.8 вы можете использовать любой другой IP-адрес).

Пример использования параметра -t с командной Ping, как сделать бесконечный пинг

Обратите внимание, на скриншоте статистика работы команды Ping показана два раза: сперва для первых пяти пакетов, а затем для всех отправленных пакетов. Когда вы делаете бесконечный пинг, можно посмотреть промежуточную статистику не прерывая выполнение, для этого нужно воспользоваться сочетанием клавиш ctrl+break. Чтобы остановить бесконечный пинг, воспользуйтесь сочетанием клавиш ctrl+c.

Как задать число пакетов команде Ping

Утилита Ping в операционной системе Windows по умолчанию отправляет четыре пакета, иногда этого бывает недостаточно для проверки удаленного узла, иногда требуется отправить большее число ICMP-запросов. Для указания количество запросов к удаленному узлу у команды Ping есть параметр -n: ping -n 7 8.8.8.8.

Пинг удаленного узла с заданным числом пакетов, параметр -n команды Ping

Естественно, вы не сможете использовать параметры -n и -t вместе, так как первый говорит команде сколько пакетов отправить, а второй говорит о том, что нужно слать пинги бесконечно.

Как узнать имя узла/доменное имя при пинге IP-адреса

Обычно, у публичного IP-адреса в сети Интернет есть hostname или имя хоста, команда Ping позволяет узнать имя хоста при помощи параметра -a. Работает это всё вот таким образом.

Определяем имя хоста при пинге IP-адреса

Обратите внимание: если имя хоста не задано, то параметр -a ничего не покажет, в данном случае приватный IP-адрес 192.168.0.1 прописан на моем домашнем роутере.

Как задать размер пакетов при пинге и запретить фрагментацию пакетов при использовании команды Ping

Давайте теперь поговорим о том, как задать размер пакетов при пинге удаленного узла в командной строке Windows, а потом разберемся с фрагментацией IP-пакетов при использовании команды Ping. В операционных системах Windows при изменение размера пакетов для команды Ping есть одна небольшая, но очень важная особенность, о которой не все знают. Чтобы о ней рассказать, я должен убедиться что у вас есть представление о принципах работы моделей передачи данных, а также вы знаете и представляете как работает процесс инкапсуляции и декапсуляции данных в компьютерных сетях (модель OSI 7 и еще одна публикация по эталонной модели).

Дело всё в том, что ICMP-запрос, который посылает утилита Ping, представляет собой пакет, состоящий из двух частей: заголовка и полезных/бесполезных данных, размер заголовка ICMP составляет 8 байт. Чтобы ICMP-пакет смог дойти до узла назначения, он запаковывается в IP-пакет, который, как ни странно, тоже состоит из двух частей: заголовка и данных. Размер заголовка в протоколе IPv4 равен 20 байт.

А чтобы запрос смог дойти от вашего компьютера до домашнего роутера, IP-пакет помещается внутрь Ethernet кадра, но это для нас сейчас не важно. Наверное, не все читатели знают, поэтому мне стоит отметить, что на транспортном, сетевом и канальном уровнях модели передачи данных у сообщений этих уровней есть MTU (Maximum Transmission Unit) или максимальный размер полезной информации, который можно поместить в сообщение на том или ином уровне. При подключении вам провайдер сообщает максимально допустимое значение MTU, которое можно использовать, обычно, это значение 1500 байт, если провайдер подключает вас при помощи протокола PPPoE, то это значение 1492 байта. При этом MTU, которое сообщает вам провайдер, относится к канальному уровню, то есть Ethernet MTU. На рисунке ниже показаны настройка MTU на моем роутере.

Значение MTU на домашнем роутере


А еще есть IP MTU (то есть максимальный размер полезных данных в IP-пакете) и есть размер пакетов, которые вы задаете при использовании команды Ping в Windows. Поэтому, когда вы используете команду Ping на разных устройствах с разными операционными системами, всегда узнавайте как работает эта команда, а потом только начинайте ее применять.

Когда вы задаете размеров пакетов при пинге из командной строки Windows, вы задаете размер полезных данных без учета заголовков протоколов IP и ICMP (то есть 28 байт не учитываются, но они есть), то есть если в Windows написать ping -l 1500, то на самом деле размер полезных данных в Ethernet кадре будет равен 1528 байт (так как для Ethernet кадра полезными данными является IP-пакет со всем его содержимым), а этом уже больше, чем разрешает нам провайдер. Давайте в этом убедимся.

Первый раз я использовал команду ping -l 1500 8.8.8.8, то есть я задал размер 1500 байт, но почему-то, вопреки моим словам сказанным ранее, пинг до удаленного узла прошел, всё дело в том, что утилита Ping в Windows по умолчанию выполняет фрагментацию данных, то есть, если пакеты слишком большие и их невозможно пропихнуть в канал связи, то они разбиваются на более мелкие пакеты и только потом отправляются. В этом можно убедиться, если воспользоваться вот такой командной: ping -l 1500 -f 8.8.8.8. Параметр -f запрещает команде ping выполнять фрагментацию пакетов.

Я уже говорил, что в моем случае максимально возможный размер пакета равен 1472 байта, так получается из-за особенностей работы утилиты пинг в Windows, которая не учитывает размер ICMP и IP заголовков, плюс провайдер мне поставил ограничение MTU равное 1500 байт.

Как видим, при использовании команды ping -l 1472 -f 8.8.8.8, пакеты доходят до конечного узла, но стоит немного увеличить размер пакета и они уже не уйдут дальше моего компьютера, это видно по результатам работы команды ping -l 1473 -f 8.8.8.8. Стоит отметить, что команда Ping может принимать сразу несколько параметров, главное, чтобы эти параметры не противоречили друг другу. Например, мы можем пропинговать удаленный узел, задав нужно количество пакетов и их размер, а также запретив фрагментацию пакетов.

Задаем количество пакетов и их размер для команды Ping в Windows

Вот такие особенности есть у команды Ping в Windows при использование параметров -l и -f, учитывайте их, когда будете применять.

Как узнать маршрут до удаленного узла при помощи утилиты Ping

Вообще, маршрут до удаленного узла лучше узнавать с помощь специальных предназначенных для этого утилит: tracert, traceroute, pathping, mtr, winmtr. Но и команда Ping имеет полезный параметр для этих целей, параметр -r, но есть одно ограничение: параметр -r не может принимать значение больше 9.

Определяем маршрут до удаленного узла при помощи утилиты Ping

Здесь вместе с параметром -r я использовал параметр -n, чтобы отправить только один пакет и получил девять переходов (посчитайте количество IP-адресов в трассе), давайте сравним полученный результат с тем, что выдаст нам команда tracert, ее вывод показан на рисунке ниже.

Пользуемся утилитой tracert для того, чтобы узнать маршрут до удаленного узла

Как видим, результаты очень сильно отличаются! Во-первых, я немного обманул, сказав, что утилита Ping позволяет узнать маршрут до удаленного узла, на самом деле она показывает переходы между узлами, а во-вторых, обратите внимание на то, что промежуточные IP-адреса, полученные командой Ping, отличаются от тех, что мы получили при помощи tracert, пока я вам предлагаю найти ответ в Гугле, почитайте про ICMP протокол и как с ним работают сетевые маршрутизаторы, я же отвечу на этот вопрос в другой публикации.

Также замечу, что есть еще параметр -s, который не работает вместе -r, этот параметр также позволяет отображать переходы при пинге, но в добавок к этому, он показывает еще и метку времени, максимальное значение для этого параметра равно четырем.

Другие полезные параметры утилиты Ping

Стоит упомянуть о еще трех параметрах утилиты Ping в Windows: -w, -S и -i. Этими параметрами вы будете пользоваться не так часто, но вероятность их использования есть, поэтому стоит вкратце о них рассказать. Начнем с параметра -w, который позволяет задать время ожидания ответа от удаленного узла (ваш компьютер не до бесконечности ждет ответа), по умолчанию команда Ping в Windows использует значение 4000 мс или 4 секунды, в нормальной ситуации этого достаточно, но если канал связи очень плохой, то можно попробовать увеличить это значение, чтобы убедиться, что на том конце есть кто-то живой. Значение параметра -w задается в миллисекундах: ping -w 6000 8.8.8.8, в данном случае компьютер будет ждать ответа 6 секунд.

Второй параметр -i позволяет задать TTL (time to live) или количество узлов, которое может пройти пакет, перед тем как он будет уничтожен, то есть, если между вашим ПК и удаленным компьютером находится больше 54 маршрутизатора, то запрос от вас не дойдет до адресата, он будет уничтожен. TTL – это специальное поле в заголовке IP-пакета, которое используется для борьбы с петлей маршрутизации (ситуации, когда маршрутизаторы сконфигурированы не верно и IP-пакет бегает между ними кругами, чтобы не нарезать круги бесконечно, пакету задается значение TTL, максимальное значение TTL равно 255). Допустим ваш компьютер сформировал IP-пакет и присвоил ему значение TTL равное 30, когда пакет попадет с вашего компьютера на домашний роутер, он его обработает и прежде чем отправить пакет дальше, он вычтет из значения TTL единицу, дальше пакет попадет на роутер провайдера с TTL равным 29, этот роутер тоже вычтет единицу и пошлет пакет дальше.

Команда ping в Windows по умолчанию задает пакетам значение TTL равное 55, этого более чем достаточно в обычной ситуации, но если вы хотите изменить TTL при пинге, воспользуйтесь такой командной: ping -i 200 8.8.8.8, теперь в поле TTL будет указано значение 200.

Третий параметр утилиты Ping -S, в данном случае регистр символов имеет значение: -s позволяет увидеть метку времени, а -S позволяет задать IP-адрес источника, эта бывает полезно в тех ситуациях, когда на вашем узле прописано сразу несколько IP-адресов, параметр -S позволяет задать IP-адрес, с которого будет пинговаться удаленный узел, когда мы говорили про команду tracert, я упоминал, что маршрут «туда» может отличаться от маршрута «обратно», IP-адрес источника при пингах и трассировках не влияет на маршрут «туда», но зато он может повлиять на маршрут обратно, поэтому время прохождения пакетов по сети с разных IP-адресов на одном устройстве может быть различным, вот пример использования параметра -S: ping -S 34.48.99.200 google.com. Здесь мы пингуем сервер Гугла с IP-адреса 34.48.99.200.

Как диагностировать домашнюю локальную сеть и интернет при помощи команды Ping

При помощи утилиты Ping можно легко диагностировать домашнюю сеть. Во-первых, перед использованием команды Ping, вам нужно будет использовать команду ipconfig, с помощью которой можно узнать IP-адрес вашего компьютера и IP-адрес основного шлюза, то есть локальный IP-адрес роутера (на домашнем роутере обычно используется два IP-адреса: один IP-адрес для взаимодействия с устройствами локальной сети, для этих устройств этот IP-адрес является адресом основного шлюза или шлюза по умолчанию, а второй IP-адрес используется для соединения с провайдерским роутером, его можно найти в разделе настроек WAN в роутере).

Вернемся к команде ipconfig, напишите ее в командной строке и нажмите Enter, вы получите большой вывод, который я не буду демонстрировать на скриншоте, а покажу лишь тот фрагмент, который нам нужен для диагностики домашней сети и сетевого интерфейса моего ПК.

Здесь мы видим IP-адрес моего компьютера: 192.168.0.101, маску подсети, в которой находится мой компьютер: 255.255.255.0, а также адрес основного шлюза, то есть IP-адрес интерфейса роутера, который «смотрит» в мою локальную сеть: 192.168.0.1, воспользовавшись этим IP-адресом, можно зайти в web-интерфейс роутера при помощи браузера, чтобы изменить его настройки.

Как нам это поможет при диагностике домашней сети? Всё очень просто! Мы будем пинговать эти адреса и смотреть на потери.
Если у вас появились какие-то проблемы с выходом в Интернет, не спешите звонить в тех. поддержку своего провайдера (решение проблемы от этого может только затянуться), с большей долей вероятности проблема в вашей локальной сети, решение такой проблемы через провайдера — долгое занятие, если тех. поддержка не увидит у себя на сети никаких проблем, то просто пришлет к вам своего специалиста с ноутбуком, он подключится к вашему интернету, покажет, что всё работает и вам всё равно придется решать свою проблему самому, провайдер не отвечает за работоспособность вашей домашней сети.

Как проверить сетевые программные компоненты компьютера при помощи утилиты Ping

Давайте теперь посмотрим чем нам может помочь команда Ping. Для начала вам нужно проверить правильность работы сетевых библиотек и других сетевых программных компонентов вашего ПК. Для этого можно воспользоваться loopback ip-адресом или петлевым сетевым интерфейсом 127.0.0.1, такой адрес должен пинговаться всегда без потерь даже без подключения к Интернету, так как пингуя этот IP-адрес, вы пингуете сами себя, поэтому это называется петлевой интерфейс.

Петлевой интерфейс должен пинговаться быстро и без потерь, так как в данном случае нет никаких внешних линий связи, для его диагностики рекомендую использовать вот такую вариацию команды ping: ping -w 2 -l 1500 -n 1000 -f 127.0.0.1. Таким образом мы пингуем сами себя пакетами, размер которых равен максимально допустимому в сети провайдера (мы запретили фрагментацию), время ожидания мы задали 2 мс, хотя это уже много, в идеале время ответа удаленного узла в данной ситуации должно быть меньше 1 мс (в данном случае удаленный узел вовсе никакой не удаленный, а ваш собственный).

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

Проверяем программные сетевые компоненты компьютера при помощи команды Ping

Командой ping 127.0.0.1 мы проверяем связь внутри компьютера, но эта команда не проверяет корректность физических интерфейсов вашего ПК.

Проверяем работу роутера и физических интерфейсов компьютера при помощи команды Ping

Что понимается под словосочетанием физический интерфейс? Под ним понимается сетевая карта и ее порт, а также Wi-Fi модуль вашего компьютера. Вероятно, ваш компьютер подключен к роутеру, подключение компьютера к роутеру может быть как по Wi-Fi, так и по витой паре, один конец которой включен в ваш ПК, а другой в роутер. Проблемы могут быть и на этом участке, и их можно обнаружить командой ping. Ранее мы узнали локальный IP-адрес моего ПК и IP-адрес роутера, который «смотрит» в мою локальную сеть. Чтобы проверить работоспособность сетевых компонентов, участвующих в организации связи между ваши ПК и роутер, можно пропинговать IP-адрес роутера вот такой командной: ping -w 2 -l 1472-n 1000 -f 192.168.0.1. В данном случае мы поменяли только IP-адрес и размер пакетов (в моем роутере задан MTU 1500 байт, куда делись 28 байт вы должны помнить, писал выше), так как задержки в вашей маленькой локальной сети (в пределах квартиры или малого офиса) должны быть минимальны, если есть потери, это уже плохо, потерь быть не должно. Для начала попробуйте увеличить значение параметра -w до 20-30 мс, если наблюдается разброс по времени, то это тоже плохо, это означает, что есть проблема на участке между вашим ПК и домашним роутером. Если проблем нет, то в результате вы должны увидеть примерно такую картину.

Выявить проблему не трудно: если ваш компьютер связан с роутером по Wi-Fi, не забывайте о своих соседях, они тоже используют Wi-Fi и вы можете мешать друг другу. Поэтому первым делом зайдите в настройки Wi-Fi вашего роутера и попробуйте изменить используемый Wi-Fi канал и ширину канала, это может помочь, рисунок ниже демонстрирует где находятся эти настройки в роутерах TP-Link.

Настройки Wi-Fi в роутере TP-Link

Если не помогло, то не стоит паниковать, сейчас многие домашние роутеры и компьютеры могут работать в двух диапазонах: 2.4 и 5 ГГц, если вы используете диапазон 2.4 ГГц, то перейдите на режим 5 ГГц и наоборот. Если и это не помогло, то попробуйте перезагрузить ваш роутер по питанию и снова проверить (сделать reboot). Не помогло? Тогда делаем reset или сброс роутера к заводским настройкам. Когда вы купили и поставили роутер на нем были заводские настройки, затем вы его настроили или вам его кто-то настроил, reset возвращает роутер к тем конфигурациям, которые у него были прямо из коробки, то есть роутер нужно будет настроить заново. Обычно сброс роутера к заводским настройкам можно сделать при помощи вдавленной в корпус кнопки на задней панели, для этого нужно взять иголку или спичку и зажать эту кнопку на 5-10 секунд, если все сделано правильно, роутер начнет мигать своими лампочками как сумасшедший.

Если процедура перезагрузки или сброса роутера к заводским настройкам помогает на какое-то время, а потом снова все становится плохо, то это повод задуматься о замене домашнего маршрутизатора, это выйдет дешевле, чем нести его в ремонт, особенно, если гарантийный срок истек. Если все вышеописанные действия не помогают, то попробуйте проверить связь по Wi-Fi с роутером другим устройством и оцените результат.

Если после всех процедур вы убедились, что связь по Wi-Fi всё равно плохая, попробуйте подключить компьютер к роутеру при помощи провода и не беда, если у вас нет обжимного инструмента, в любом компьютерном магазине продаются соединительные UTP патч-корды.

В общем, соедините свой ПК с маршрутизатором при помощи провода и снова проверьте связь при помощи команды Ping. Если провода помогли, то у вас какие-то проблемы с Wi-Fi каналом (может быть сама среда распространения забита, может это модуль вашего ПК, а может и роутер).

Если же ваш компьютер изначально был подключен к маршрутизатору проводом, то не спешите переключаться на Wi-Fi, для начала попробуйте перезагрузить сетевую карту ПК и маршрутизатор, это может помочь. Проблема сохранилась? Тогда посмотрите на заднюю панель роутера, в простых домашних роутерах там есть один WAN-порт, в который включен кабель провайдера и несколько LAN-портов для подключения устройств локальной сети (домашний роутер — это на самом деле три очень урезанных устройства: Wi-Fi антенна, роутер и сетевой коммутатор, иногда это еще и устройство физического уровня, которое называется модем, например, если провайдер предоставляет вам связь по ADSL, про разницу между хабами, коммутаторами и роутерами можно прочитать здесь). На рисунке ниже показана задняя панель моего маршрутизатора.

Домашний Wi-Fi маршрутизатор TP-Link Archer C20

Синий порт — это WAN, желтые порты — LAN. Для начала просто попробуйте включить-выключить кабель из портов своего роутера и компьютера, а затем повторите пинг, если не помогло, то со стороны роутера попробуйте переключиться в другой порт, например, ваш ПК был включен в первый порт роутера, попробуйте переключить его во второй, если не поможет, то продолжаем диагностику.

Нам нужно проверять линию (будем считать, что у нас дома нет инструментов для монтажа и диагностики медных линий): для начала осмотрите провод на наличие физических повреждений, сильных изгибов и сжатий. Например, мой кот, когда был маленьким, очень любил грызть провайдерский кабель, дома все мои устройства были подключены по Wi-Fi, поэтому не было никаких проблем в том, чтобы отрезать поврежденный кусок провода и перенести роутер, правда таким образом он переехал из зала в прихожую.

Видимых повреждений нет, но при пинге от ПК до роутера есть потери, попробуйте подключить компьютер другим проводом, купить медный патч-корд нужной длины — не проблема. Проблема сохранилась — поробуйте подключиться другим устройством и пропинговать роутер. Если все равно всё плохо, то, вероятно, проблема с роутером. Более точно мы это сможем выяснить, при помощи нашего провайдера.

Проверяем интернет канал, который предоставляет нам провайдер при помощи утилиты Ping

Когда мы подключаемся к интернет-провайдеру, он нам сообщает сетевые настройки, либо говорит: настраивайте свое устройство на динамическое получение IP-адреса. В любом случае обычно мы получаем от провайдера следующие сетевые настройки:

  1. IP-адрес для нашего устройства, которое будет включено в сеть провайдера.
  2. Маску подсети.
  3. Основной шлюз. Основной шлюз, который нам дает провайдер — это IP-адрес провайдерского маршрутизатора, через этот маршрутизатор провайдер нас выпускает в Интернет.
  4. Два DNS-сервера — основной и запасной.

IP-адрес основного шлюза, выданный провайдером, поможет нам диагностировать не только интернет-канал, предоставляемый провайдером, но и домашние сетевые устройства. Для начала давайте посмотрим как мы можем проверить канал, предоставляемый провайдером, по которому мы выходим в Интернет, при помощи команды ping, открываем командую строку и пишем: ping -w 20 -l 1472 -n 100 -f 188.44.112.129. В моем случае IP-адрес 188.44.112.129 — это IP-адрес основного шлюза, который выдал провайдер, 100 пакетов будет более чем достаточно, ну а время ожидания удаленного узла 20 мс взято с запасом. По среднему времени ответа от основного шлюза трудно сказать конкретно, всё дело в том, что между провайдерским роутером и вашим устройством может быть несколько десятков коммутаторов, но в любом случае это время должно быть порядка нескольких миллисекунд, вот так это выглядит в моем случае:

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

Вернемся к нашей схеме, где есть домашний роутер, который подключен к провайдеру и компьютер, который подключен к роутеру. Сначала попробуйте пропинговать основной шлюз с роутера (сейчас многие домашние роутеры имею встроенный набор утилит для диагностики), вот так это выглядит у меня.

Пингуем основной шлюз провайдера с домашнего роутера

Если при пинге с роутера потерь нет и нет проблем с временем ответа сервера, то вам нужно проверять свою локальную сеть и выяснять с чем там проблемы, проблемы могут быть: с сетевым программным обсечением вашего ПК, с каналом связи между ваши роутером и ПК, а также физическими интерфейсами, образующими этот канал (LAN-порт роутера, сетевая карта ПК и ее драйвера, медная линия, соединяющая роутер и ПК, и наконец проблема с Wi-Fi).

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

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

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

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

Сейчас мы не будем говорить про использование утилиты Ping для проверки отдельных ресурсов и серверов в сети Интернет, во-первых, по этому поводу будет отдельная публикация, во-вторых, команда Ping – не лучшее для этих целей средство, как минимум, есть такие утилиты как tracert, traceroute, tracetcp, mtr и WinMTR, pathping, но это из простого, есть и более сложные вещи.

Простые советы и рекомендации по использованию утилиты Ping при сетевой диагностики

Мы близки к завершению и тут следует дать несколько советов и рекомендаций по использованию утилиты Ping для диагностики компьютерной сети. Откровенно говоря, команда пинг — не самое лучше средство сетевой диагностики, её можно использовать для быстрой проверки доступности сетевых ресурсов. Например, вы является сетевым администратором точек сети быстрого питания, у вас 15 точек, на каждой точке есть Интернет, тогда вы можете написать простой скрипт или воспользоваться уже готовым, этот скрипт будет пинговать удаленные точки и оповещать вас, если пинг прервется, тем самым у вас максимально оперативно будет информация о том, что на одной из точек пропал интернет. Для более глубокого анализа есть другие программы.

Теперь, собственно, о самих советах. Во-первых, не забывайте, что не всегда удаленный узел будет отвечать на ваши ICMP-запросы, всё зависит от уровня паранойи администратора удаленного узла, поэтому если у вас не пингуется сайт в интернете, это еще не значит, что сайт не работает, возможна ситуация, при которой удаленный узел просто не отвечает на ICMP, проверьте сайта браузером, если он не открылся, воспользуйтесь каким-нибудь онлайн сервисом по проверки ресурсов в сети Интернет, если он отвечает, что сайт недоступен, то вам нужно обратиться к владельцам сайта.

Бывают обратные ситуации, когда пинг до сайта проходит, но зайти вы на него не можете, во-первых, изучите коды ответов HTTP сервера, проблем не обнаружили, а браузер вам сообщает, что истекло время ожидания? Тогда воспользуйтесь утилитой tracetcp, сделайте трассировку по протоколу TCP с указанием 80 порта в том случае, если сайт работает по протоколу http, если же сайт работает по https, то делайте трассировку по 443 порту. Есть большая доля вероятности, что такая трассировка прервется на вашем же ПК или роутере, если она прошла дальше, то сравните трассировку сделанную по tracetcp и tracert/traceroute, если разница только в последнем хопе (нескольких последних хопах), то надо обращаться в владельцам сайта/сервера/сервиса.

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

Также утилиту Ping можно с большой осторожностью использовать для оценки потерь и задержек до удаленного узла, хотя для этих целей лучше использовать другие средства, но сейчас мы говорим про Ping. Во-первых, отмечу следующее: если глядя на результат работы команды Ping вам кажется, что всё плохо, а по факту все работает хорошо, то, вероятно, вы просто не знаете о том, как настроен удаленный узел на работу с ICMP, скорее всего, все действительно хорошо.

Во-вторых, если при пинге удаленного узла вы наблюдаете потери, а в тех случаях, когда ответ приходит, время ответа очень сильно разнится, например, первый ответ получен с временем ожидания 20 мс, второй ответ получен с временем 70мс, третий потерялся, четвертый тоже, пятый пришел через 40мс, а шестой через 100 мс, то это повод в первую очередь воспользоваться более информативными утилитами.

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

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

  1. Маршрут, который проделывает пакет в сторону удаленного узла при каждом пинге может быть разным, так как в этом самом интернете есть дорогие маршрутизаторы, которые каждую секунду пропускают через себя десятки/сотни гигабит трафика, на этих маршрутизаторах может работать балансировка, благодаря которой первый ваш пакет пойдет налево, а второй направо, но в итоге они все равно доберутся до конечного узла, правда немного разными путями. Будем называть маршрут от нашего ПК до удаленного узла маршрутом «Туда».
  2. А маршрут пакета от удаленного узла до нашего мы будем называть маршрут «обратно». Очень часто маршрут «туда» и маршрут «обратно» не совпадают, соответственно, различно и время, которое тратится на то, чтобы добраться «туда», а потом прийти «обратно», но в результатах работы команды Ping мы видим только суммарное время: «туда» + «обратно», к тому же мы не знаем есть ли где-то балансировка и как вообще идет пакет.

Относитесь к результатам диагностике при помощи команды Ping с осторожностью и всегда проверяйте эти результаты более сложными утилитами, хотя лучше всего Ping использовать лишь для проверки доступности хорошо известных вам узлов, как это было описано в самом начале данного раздела.

Выводы

Какие выводы можно сделать о команде Ping в общем и ее реализации в операционных системах семейства Windows в частности. Давайте в начале по Windows. Если сравнивать реализацию пинга в Windows с реализацией команды ping в Linux, то виндовая реализация однозначно проигрывает по своему функционалу, пожалуй, это всё, что нужно отметить. Если же говорить о команде ping в общем, то стоит понимать ее назначение — эта утилита предназначена для проверки доступности удаленных узлов/серверов, а также для проверки потерь пакетов и задержек, то есть для косвенной оценки качества работы сети передачи данных. Для более глубокой диагностики потребуется более специализированный софт.

Чтобы правильно интерпертировать результаты работы команды ping нужно не только знать как работает эта утилита, но и понимать как работают компьютерные сети в целом и в частности некоторые протоколы и сетевые устройства, а это уже немного сложнее, чем писать слово ping в командной строке.

Как проверить пинг через командную строку?

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

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

Так вот ping – это время, за которое происходит обмен пакетными данными. Чем он меньше, тем лучше. А если он отсутствует, то соединения по сети тоже нет.

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

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

  • в Виндовс XP жмем «Win+R» и вводим «cmd»;
  • в Windows 7 или 8 вызываем контекстное меню (правой кнопочкой мышки) кнопки «Пуск» и выбираем «Командная строка (администратор);
  • в Windows 10 таким же способом вызывается «Power Shell (от имени администратора)» аналог cmd;
  • ну и просто в поисковике системы забиваем «Командная строка;

Использовать мы будем по сути одну команду, которая и называется и пишется «ping». Но к ней добавляется идентификатор сетевого объекта и дополнительные функции, которые мы рассмотрим позже.

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

Подтверждаем «Enter» и получаем результат, в деталях которого я предлагаю разобраться. Чтобы получить объективную оценку ваш компьютер отправляет четыре запроса (это стандартный формат данной команды), поэтому в 4-х похожих строках вы увидите:

  • IP-адрес;
  • количество отправляемых байт (обычно 32);
  • время прохождения сигнала в миллисекундах (приёма-передачи) — это и есть пинг;
  • TTL (Time to live) время жизни сигнала, но фактически, это количество скачков между промежуточными точками, которыми могут выступать ваш роутер, коммутатор провайдера, сервера маршрутизации;

Данные по ping усредняются и выдаются в виде итоговой цифры. Можно поэкспериментировать с разными сайтами и сравнить результаты. У таких матерых компаний как Google сайты будут обеспечивать лучший пинг, а у самодельных сайтов расположенных на общем диске одного сервера данный показатель может оказаться критически большим.

Если и в том и в другом случае результаты одинаково неудовлетворительные, или вообще отсутствуют – очевидны проблемы в самой сети.

IP-адрес – универсальный идентификатор для определения пинга

При запросе по web-адресу в выданной вам информации будет указан и IP объекта. По этому адресу так же можно проводить «пингование», введя следующую команду:

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

«ping 192.168.0.1» (или «ping tplinkwifi.net»);

Таким способом можно проверить скорость обмена данными со всеми устройствами, находящимися в вашей домашней или офисной сети. Это может быть смарт-телевизор, принтер, внешний медиа-сервер или другой ПК.

Особо актуальным является проверка ping для геймеров, ведь от данного параметра во многом зависит степень удовольствия, получаемого от игрового процесса. В зависимости от типа сети вам здесь потребуется IP адрес игрового сервера или другого ПК, если вы играете по локалке вдвоем.

Дополнительные возможности функции «ping»

Теперь я хочу рассказать о некоторых секретах. Дело в том, что команда «ping» может использоваться с различными дополнительными параметрами, которые представлены на рисунке.

Как их использовать? Да очень просто. Например, при использовании команды

Количество запросов будет отсылаться неограниченное количество раз, до тех пор, пока вы не нажмете «Ctrl+C». С остальными опциями пинингования вы так же можете смело поэкспериментировать без опасения сделать что-то неудачное.

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

На этом прощаюсь с вами, мои дорогие читатели и искренне желаю всем удачи.

Знакомимся с командой Ping

С помощью отправки сообщений с эхо-запросом по протоколу ICMP проверяет соединение на уровне протокола IP с другим компьютером, поддерживающим TCP/IP. После каждой передачи выводится соответствующее сообщение с эхо-ответом. Ping — это основная TCP/IP-команда, используемая для устранения неполадки в соединении, проверки возможности доступа и разрешения имен. Команда ping, запущенная без параметров, выводит справку.

Синтаксис

Параметры

Примечания

  • Команда ping позволяет проверить имя и IP-адрес компьютера. Если проверка IP-адреса успешная, и проверка имени нет, то имеет место проблема разрешения имен. В этом случае с помощью запросов DNS (Domain Name System) или с помощью методов разрешения имен NetBIOS проверьте, чтобы имя задаваемого компьютера было разрешено в локальном файле Hosts.
  • Эта команда доступна только если в свойствах сетевого адаптера в объекте Сетевые подключения в качестве компонента установлен протокол Интернета (TCP/IP).

Примеры

Приведенный ниже пример содержит результаты работы команды ping:

Pinging example.microsoft.com [192.168.239.132] with 32 bytes of data:

Reply from 192.168.239.132: bytes=32 time=101ms TTL=124

Reply from 192.168.239.132: bytes=32 time=100ms TTL=124

Reply from 192.168.239.132: bytes=32 time=101ms TTL=124

Reply from 192.168.239.132: bytes=32 time=101ms TTL=124

Для отправки сообщения точке назначения 10.0.99.221 и сопоставления с ее узловым именем введите:

ping -a 10.0.99.221

Для отправки точке назначения 10.0.99.221 десяти собщений с эхо-запросом, каждое из которых имеет поле данных из 1000 байт, введите:

ping -n 10 -l 1000 10.0.99.221

Для отправки сообщения точке назначения 10.0.99.221 и записи маршрута для 4 переходов введите:

ping -r 4 10.0.99.221

Для отправки сообщения точке назначения 10.0.99.221 и задания свободной маршрутизации для точек назначения 10.12.0.1-10.29.3.1-10.1.44.1 введите:

ping -j 10.12.0.1 10.29.3.1 10.1.44.1 10.0.99.221

Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать раздел форума этого сайта (требуется регистрация).

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