Как в linux остановить выполнение ping. Обрыв соединения с сервером. Трассировка и пинг. Синтаксис команды Ping

«Ааа, помогите, все пропало!» – если ваш внутренний голос реагирует на обрыв соединения с сервером примерно так, этот материал точно для вас. :) Безусловно, со своей стороны мы каждый день делаем все возможное, чтобы ничто не мешало вашей работе в облаке , но случись форс-мажор – будем разбираться. А чтобы быстрее сориентироваться в ситуации и понять, на чьей стороне ошибка, вот вам задача-минимум – во время обрыва первым делом выполните трассировку маршрута и пинг промежуточных узлов. Как все это сделать, сейчас расскажем.

Трассировка маршрута

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

1. Запустите команду cmd: Win+R > пропишите cmd > ОК .

tracert Х.Х.Х.Х (где Х.Х.Х.Х – это IP-адрес сервера или домен) и нажмите Enter .

В примере мы сделали трассировку для google.com.

tracert google.com

Получилось так:

1 2 1 ms 1 ms 1 ms 193.151.89.254
3 5 ms 4 5 1 ms 6 1 ms 7 1 ms 3 ms 1 ms bearline-ic-324086-ffm-b4.c.telia.net
8 1 ms 1 ms 1 ms 108.170.251.129
9 13 ms 13 ms 15 ms 66.249.94.135
10 13 ms 13 ms 13 ms fra15s12-in-f46.1e100.net

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

* * * Превышен интервал ожидания для запроса.

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

Пинг промежуточных узлов

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

В ОС Windows по умолчанию передается только четыре пакета, чего недостаточно, если проблема проявляется кратковременно. Поэтому нужно снять это ограничение параметром -t (чтобы потом остановить обмен пакетами, нажать CTRL+C ).

Теперь по порядку.

1. Запустите команду cmd: Win+R > пропишите cmd > ОК .

2. В открывшейся командной строке введите ping -t Х.Х.Х.Х (где Х.Х.Х.Х – это адрес одного из промежуточных узлов, которые мы узнали при трассировке) и нажмите Enter .

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

Полезно!
Если вам нужно постоянно отслеживать качество соединения, для Windows можно воспользоваться удобной программой PingPlotter.

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

ping -t 10.1.1.1
ping -t 193.151.89.254
ping -t 85.195.75.129
ping -t 213.248.79.29
ping -t 62.115.139.50
ping -t 62.115.120.8
ping -t 62.115.153.215
ping -t 108.170.251.129
ping -t 66.249.94.135
ping -t 216.58.208.46

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

На чьей стороне ошибка?

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

Кто виноват – ясно, теперь нужно понять, что делать в конкретных ситуациях.

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

…а после обрыва начал показывать «Превышен интервал ожидания», обрыв происходит на вашем сервере.

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

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

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

Бонус!

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

Для ОС семейства Windows такую оптимизацию проводит утилита Winmtr . Она не нуждается в установке и готова к использованию сразу после распаковки из архива.

В поле Host укажите конечный сервер, с которым будет проверяться соединение, и нажмите Start :

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

Собственно, в этом и заключается главное преимущество утилиты – ее вывод постоянно обновляется, это позволяет собирать статистику, отслеживать средние показатели, тенденции и какие-либо изменения качества сети.

Раз мы проверяем соединение с сервером, нас интересуют столбцы Sent (отправлено пакетов) и Recv (получено пакетов). Если значения в этих столбцах не совпадают, значит, качество связи с узлом ухудшилось. Что делать? Обратиться в соответствующую техподдержку.

Столбец Loss поможет просмотреть динамику потерь в процентном соотношении.

Также утилита позволяет копировать текст в удобных форматах (.txt и .html ) в буфер обмена (Copy to clipboard ) или в отдельный файл (Export ).

Двойной щелчок по промежуточному узлу позволит получить дополнительную информацию о нем.

Важно знать!

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

  1. Interval (sec) – время обновления данных в секундах.
  2. Max host in LRU list максимальное количество хостов (или IP-адресов, если не активна опция Resolve names ) до конечной точки.
  3. Ping size (bytes) – размер ICMP-пакета.
  4. Resolve names – возможность преобразовать IP-адрес в имя хоста.

А что же линуксоиды?

Для ОС семейства Linux утилита называется просто MTR. Если ее нет в вашей операционной системе, установить ее можно одним из следующих способов:

Debian/Ubuntu/Mint:

$ apt-get install mtr

CentOS/RedHat/Fedora:

$ yum install mtr

У MTR такой же функционал, как у Winmtr, а также схожий графический интерфейс. Запустить утилиту можно командой:

где X.X.X.X – это IP-адрес конечного сервера или имя хоста.

В данном случае интересуют следующие столбцы:

  • Loss % – процент потерянных пакетов между компьютером-отправителем и промежуточными узлами.
  • SNT – общее количество отправленных пакетов.

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

Отдельно отметим возможность запуска утилиты в текстовом (консольном) режиме. Для этого достаточно добавить опцию -t или --curses:

mtr --curses сайт

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

R или --report

Запускает режим отчета, в котором MTR обработает заданное количество циклов (определенных опцией -c), а затем отобразит статистику и автоматически завершит работу. Этот режим полезен для сбора статистики о качестве сети.

C COUNT или --report-cycles COUNT

Позволяет задать количество циклов, после которых MTR завершит работу.

P BYTES или --psize BYTES

Устанавливает размер пакетов в байтах.

I SECONDS или --interval SECONDS

Задает интервал между отправляемыми пакетами.

N или --no-dns

Разрешает не использовать DNS, отображает IP-адреса узлов.

A X.X.X.X или --address X.X.X.X

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

Итого

Разумеется, команды в консоли дают более точный результат, поскольку фиксируют даже единичные потери пакетов (короткие обрывы), но Winmtr и MTR компактные и более удобны в использовании. А на чем остановить свой выбор, решать только вам. :)

Вот, собственно, и все, кто виноват – выяснили, что делать – тоже. :) Надеемся, материал был вам полезен, а если у вас остались дополнительные околооблачные вопросы, обращайтесь к нам за грамотной .

Всем знакомы ситуации, когда интернет на компьютере неожиданно разрывается, такое поведение можно наблюдать при использовании 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 -c 3 8.8.8.8

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

ping -f сайт

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

ping -i 0.2 сайт

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

ping -D сайт

Выводы

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

Командная строка 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 это, пожалуй, самая используемая сетевая утилита командной строки. 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 будет равно 0

    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.

    Команда ping используются, чтобы убедиться, что компьютер может взаимодействовать с Сетью и ресурсами внутри нее. Ping работает за счёт отправки echo request сообщений по протоколу ICMP (Internet Control Message Protocol ) и ожидания ответа. Она позволяет узнать, сколько ответов получено, и сколько времени на это ушло:

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

    ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [-w timeout] [-R] [-S srcaddr] [-p] [-4] [-6] target

    T = эта опция будет пинговать целевое устройство до тех пор, пока вы принудительно не остановите запрос с помощью сочетания клавиш Ctrl+C .

    A = запросит имя хоста по целевому IP-адресу .

    N число = задаёт количество ICMP сообщений, которое должно быть отправлено. Если выполнить команду ping без указания этого параметра, то по умолчанию будет отправлено 4 запроса.

    L размер = задает размер пакета echo-запросов (от 32 до 65,527 ). Без указания этой опции ping отправляет echo-запросы размером в 32 байта.

    F = предотвращает фрагментацию echo-запросов маршрутизаторами, находящимися в цепочке между вами и целевым устройством. Опцию -f часто используют для отладки проблем, связанных с PMTU (Path Maximum Transmission Unit ).

    I TTL = задаёт длительность TTL (Time to Live ), максимальное значение которой составляет 255 .

    V TOS = устанавливает значение TOS (Type of Service ). Параметр не работает в Windows 7 и выше.

    R число = эту опцию для команды ping нужно использовать для указания количества переходов между вашим и целевым компьютером, которое вы хотите записать и вывести. Максимальное значение 9 , так что, если вам интересно узнать точное количество звеньев между двумя устройствами, то лучше использовать tracert .

    S число = время в формате Internet Timestamp , за которое получается и отправляется каждый echo-запрос . Максимальное значение здесь 4 , а это значит, что можно зафиксировать лишь первых 4 перехода.

    W timeout = значения тайм-аута в миллисекундах, в течение которого ping будет ожидать каждого ответа. Если не использовать опцию -w, то тайм-аут по умолчанию будет составлять 4000 миллисекунд (4 секунды ).

    R = использование заголовка для проверки также и обратного маршрута.

    S srcaddr = используемый адрес источника.

    P = используется для проверки состояния адреса Hyper-V Network Virtualization .

    4 = проверка состояния подключения только по протоколу IPv4 . Это требуется, когда цель имеет только имя хоста и неизвестен IP-адрес .

    6 = принудительная проверка состояния подключения по протоколу IPv6 . Это необходимо, когда известно только имя хоста.

    target (цель ) = удаленное устройство, состояние которого нужно проверить. Это может быть как IP , так и имя хоста.

    /? = вывод справки обо всех доступных параметрах команды ping .

    Примечание: -f , -v , -r , -s , -j и -k работают только при проверке состояния IPv4-адресов . Опции -R и -S работают только с протоколом IPv6 .

    В команде ping описание есть и менее популярные параметры: [-j host-list] , [-k host-list] и [-c compartment] . Чтобы получить дополнительную информацию о них, воспользуйтесь командой /? .

    Примеры команды Ping

    ping -n 5 -l 1500 www.google.com

    В этом примере команда ping используется для проверки состояния хоста www.google.com . Опция -n указывает команде ping на необходимость отправить пять echo-запросов ICMP вместо стандартных четырех, а опция —l задаёт размер пакета для каждого запроса в 1500 байт вместо 32 байт по умолчанию. При таком запросе вы получите следующий результат:

    Pinging www.google.com with 1500 bytes of data: Reply from 74.125.224.82: bytes=1500 time=68ms TTL=52 Reply from 74.125.224.82: bytes=1500 time=68ms TTL=52 Reply from 74.125.224.82: bytes=1500 time=65ms TTL=52 Reply from 74.125.224.82: bytes=1500 time=66ms TTL=52 Reply from 74.125.224.82: bytes=1500 time=70ms TTL=52 Ping statistics for 74.125.224.82: Packets: Sent = 5, Received = 5, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 65ms, Maximum = 70ms, Average = 67ms

    Пункт 0% loss в статистике проверки состояния 74.125.224.82 говорит о том, что все посланные к www.google.com echo-запросы были возвращены. Это значит, что до тех пор, пока сеть активна, можно взаимодействовать с сайтом Google без каких-либо проблем.

    В этом примере использования команды ping в cmd проверяется состояние 127.0.0.1 , который также известен как IP-адрес localhost в протоколе IPv4 .

    Ping 127.0.0.1 – отличный способ проверить работоспособность всех функций Windows . Но с помощью этого запроса не получится узнать о состоянии своего или удаленного компьютера. Существует и IPv6-версия этой проверки — ping::1 .

    ping -a 192.168.1.22

    В этом примере мы пытаемся узнать имя хоста, привязанное к IP-адресу 192.168.1.22 . При этом проверка должна быть проведена в штатном режиме, даже если имя хоста выяснить не удастся.

    Pinging J3RTY22 with 32 bytes of data: Reply from 192.168.1.22: bytes=32 time<1ms TTL=64 Reply from 192.168.1.22: bytes=32 time<1ms TTL=64 Reply from 192.168.1.22: bytes=32 time=1ms TTL=64 Reply from 192.168.1.22: bytes=32 time<1ms TTL=64 Ping statistics for 192.168.1.22: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 1ms, Average = 0ms

    Как видно из приведенного выше примера, команда ping в Windows 7 определила проверяемый IP-адрес как имя хоста J3RTY22 , после чего осуществила проверку состояния при стандартных настройках.

    ping -t -6 SERVER

    В этом примере мы, при помощи опции -6 , включаем принудительное использование протокола IPv6 , а затем приступаем к бесконечной проверке состояния SERVER (при помощи опции -t ).

    Pinging SERVER with 32 bytes of data: Reply from fe80::fd1a:3327:2937:7df3%10: time=1ms Reply from fe80::fd1a:3327:2937:7df3%10: time<1ms Reply from fe80::fd1a:3327:2937:7df3%10: time<1ms Reply from fe80::fd1a:3327:2937:7df3%10: time<1ms Reply from fe80::fd1a:3327:2937:7df3%10: time<1ms Reply from fe80::fd1a:3327:2937:7df3%10: time<1ms Reply from fe80::fd1a:3327:2937:7df3%10: time<1ms Ping statistics for fe80::fd1a:3327:2937:7df3%10: Packets: Sent = 7, Received = 7, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 1ms, Average = 0ms Control-C ^C

    После семи полученных ответов мы намеренно прервали проверку состояния. Вспоминаем, как остановить команду ping ? При помощи Ctrl+C . Также -6 привела к использованию адресов по протоколу IPv6 .