Работа с диагностическими утилитами протокола tcpIP
Задание 3. Изучение утилиты ipconfig.
Задание 4. Тестирование связи с помощью утилиты ping.
1. Проверьте правильность установки и конфигурирования TCP/IP на
локальном компьютере.
2. Проверьте функционирование основного шлюза. Проверьте
возможность установления соединения с удаленным хостом.
3. С помощью команды ping проверьте адреса (взять из списка на
последнем листе) и для каждого из них отметьте время отклика.
Задание 5. Определение пути IP-пакета.
Задание 6: Просмотр ARP-кэша.
Задание 7: Просмотр локальной таблицы маршрутизации.
Задание 8. Получение информации о текущих сетевых соединениях и
протоколах стека TCP/IP.
- Раскрыть термины: хост, шлюз, хоп, время жизни пакета, маршрут, маска сети, авторитетный/неавторитетный (компетентный) DNS-сервер, порт TCP, петля обратной связи, время отклика.
Хост— любое устройство, предоставляющее сервисы формата «клиент-сервер» в режиме сервера по каким-либо интерфейсам и уникально определённое на этих интерфейсах.
Шлюзом называется любое сетевое устройство, которое одновременно подключено к нескольким сетям при помощи нескольких сетевых интерфейсов, имеет в каждой сети свой адрес сетевого уровня и занимается продвижением пакетов между этими сетями. Шлюзы также позволяют объединять разнородные (гетерогенные) сети.
Хоп-количество переходов из одной подсети в другую
Время жизни пакета-определяет, сколько промежуточных узлов интернета может пройти пакет, прежде чем будет считаться «пропавшим»
Маска подсети или маска сети — битовая маска, определяющая, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети (это определение подсети IP-адресов).
DNS-сервер — приложение, предназначенное для ответов на DNS-запросы по соответствующему протоколу. Также DNS-сервером могут называть хост, на котором запущено приложение.
В протоколах TCP и UDP (семейства TCP/IP) порт — идентифицируемый номером системный ресурс, выделяемый приложению, выполняемому на некотором сетевом хосте, для связи с приложениями, выполняемыми на других сетевых хостах
Как утилита ping разрешает имена узлов в ip-адреса (и наоборот)?
Ping можно использовать для тестирования как имени хоста (DNS или NetBIOS), так и его IP-адреса. Если ping с IP-адресом выполнилась успешно, а с именем – неудачно, это значит, что проблема заключается в распознавании соответствия адреса и имени, а не в сетевом соединении.
Утилита ping используется следующими способами:
1) Для проверки того, что TCP/IP установлен и правильно сконфигурирован на локальном компьютере, в команде ping задается адрес петли обратной связи (loopback address): ping 127.0.0.1
Если тест успешно пройден, то вы получите следующий ответ:
Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
2) Чтобы убедиться в том, что компьютер правильно добавлен в сеть и IP-адрес не дублируется, используется IP-адрес локального компьютера:
3) Чтобы проверить, что шлюз по умолчанию функционирует и что можно установить соединение с любым локальным хостом в локальной сети, задается IP-адрес шлюза по умолчанию:
4) Для проверки возможности установления соединения через маршрутизатор в команде ping задается IP-адрес удаленного хоста:
ping IP-адрес_удаленного хоста
ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [ [-j host-list] |
[-k host-list] ] [-w timeout] destination-list
Какие могут быть причины неудачного завершения ping и tracert? (превышен интервал ожидания для запроса, сеть недоступна, превышен срок жизни при передаче пакета).
Всегда ли можно узнать символьное имя узла по его ip-адресу?
Зависит от настроек, но чаще всего да
Какой тип записи запрашивает у dns-сервера простейшая форма nslookup?
Утилита nslookup предназначена для диагностики службы DNS, в простейшем случае — для выполнения запросов к DNS-серверам на разрешение имен в IP-адреса. В общем случае утилита позволяет просмотреть любые записи DNS-сервера:
A – каноническое имя узла, устанавливает соответствие доменного имени ip-адресу.
SOA – начало полномочий, начальная запись, единственная для зоны;
MX – почтовые серверы (хосты, принимающие почту для заданного домена);
NS – серверы имен (содержит авторитетные DNS-серверы для зоны);
PTR – указатель (служит для обратного преобразования ip-адреса в символьное имя хоста)
Утилита nslookup достаточно сложна и содержит свой собственный командный интерпретатор.
В простейшем случае (без входа в командный режим) утилита nslookup имеет следующий
Cинтаксис: nslookup хост [сервер]
Хост DNS-имя хоста, которое должно быть преобразовано в IP-адрес.
Сервер Адрес DNS-сервера, который будет использоваться для разрешения имени. Если этот параметр опущен, то будут последовательно использованы адреса DNS-серверов из параметров настройки протокола TCP/IP.
15 примеров команды PING для диагностики сети
Благодаря Linux, у нас есть очень много инструментов облегчающих администрирование и диагностику сети. В этом плане команда PING является одним из самых полезных инструментов для системных и сетевых администраторов.
Сама базовая возможность этой утилиты – определить доступен ли тот или иной хост. Тем не менее в этом материале мы приведем примеры расширенных возможностей этой команды в системе Linux.
Про Linux за 5 минут | Что это или как финский студент перевернул мир?
Для чего используется команда PING?
Команда ping один из базовых инструментов для работы с сетью. Наряду с проверкой доступности удаленного хоста, эта команда даёт возможность выполнять и другие диагностические задачи в том числе:
- измерение времени за которое общаются два хоста;
- выявление IP адреса конкретного хоста, как в локальной сети, так и в глобальной
- она может быть частью bash скрипта для автоматической проверки сетевого устройства
- проверка связи с конкретным устройством.
Как видно, эта команда очень необходима для администрирования сети и серверов.
Как работает команда PING?
Принцип работы команды Ping прост: она посылает серию пакетов маленького размера на указанное устройство.
Для тестирования устройства может быть использован либо IP-адрес, либо имя хоста. После отправки пакета, утилита проверяет и измеряет время ответа целевого устройства.
Как вы могли предположить, время ответа зависит от нескольких условий в том числе географическое расположение или устройств, расположенных между источником и целевым устройством.
Например, в локальной проводной сети команда вернет лучший результат по времени, чем в сети с несколькими маршрутизаторами и сетевыми мостами.
Однако, на основе полученной информации утилита будет судить о состоянии целевого устройства.
Синтаксис команды следующий:
Ниже приведены некоторые полезные и часто используемые ключи для этой команды:
- -c: Позволяет указать количество пакетов для отправки.
- -s: Позволяет изменять размер пакета по умолчанию.
- -v: Отображает текущее состояние выполнения команды.
- -w: Указывает в секундах время завершения команды.
- -i: Позволяет указать интерфейс, с которого будут идти запросы.
Можно ли использовать PING с прокси-сервером?
Прокси – это сервер или приложение играющее роль посредника для соединения двух хостов в сети. Это своего рода «человек посередине», который отправляет запросы прямо к хосту.
Проблема в том, что команда PING требует прямого соединения между устройствами. Таким образом, команда Ping не может функционировать если перед ним стоит прокси-сервер.
Как вариант, можно воспользоваться сайтами, которые предлагают команду Ping как услугу. С другой стороны, для решения некоторых задач с командой Ping, можно использовать команду curl . Также можно прибегнуть к помощи VPN, который спрячет ваш реальный IP.
Ping IPv6 адресов
По умолчанию, когда запускаем команду PING, мы используем IP версии 4. Однако, с появлением протокола IPv6, все чаще стали встречаться адреса такого формата.
Ядро Linux поддерживает IPv6 начиная с версии 2.2, так что все дистрибутивы Linux поддерживают этот протокол.
Базовый синтаксис таков:
В старых версиях была команда ping6 . В новых дистрибутивах её нет и весь функционал объединен с ping .
Как и при работе с IPv4, ключом –c можем указать число пакетов, для отправки, а ключ –i – определяет интерфейс для исходящих запросов.
Ping конкретного порта
Иногда приходится проверят доступен ли тот или иной порт на проверяемом хосте. К сожалению, команда Ping не имеет такой возможности, но это можно сделать с помощью telnet , который по умолчанию установлен на Linux.
Чтобы проверить доступность порта просто введите следующую команду:
Ping с выводом времени
Хотя команда ping дает много полезной информации, но этого может быть недостаточно. Тем не менее, есть возможность настроить команду так, чтобы она показала дату и время отправки пакета. Это может сделать вывод приятней и полезней для скриптов и логирования.
Для этого достаточно прописать указанную ниже команду. Но вам придется установить пакет ccze .
Как видно из скриншота, команда показывает дату и время отправки каждого пакета.
Ping всех устройств в указанной подсети
Командой Ping можно посылать сигнал всем хостам в сети или подсети. Для этого нужно запустить ping с ключом –b на широковещательный адрес, который заканчивается на 255. Например:
Итак, если хост назначения недоступен, значит либо там блокируются ICMP пакеты, либо есть проблемы с сетью или таблицей маршрутизации.
Как завершить команду PING?
По умолчанию, в системе Linux команда Ping непрерывно посылает пакета на хост. Но если нужная информация получена, то необходимо как-то прервать выполнение команды. Для этого просто нужно нажать комбинацию клавиш CTRL+C .
После этого команда немедленно остановится.
Завершение работы команды по счетчику
Вы можете ограничить число посылаемых пакетов. Например, если поставить число пакетов равным 10, то после отправки указанного числа пакетов выполнение команды прекратится.
Где расположена утилита PING?
В Unix-подобных системах таких, как Linux бинарные файлы обычно располагаются по пути
В этой папке можно найти все множество бинарных файлов, которые мы используем как команды в терминале. В других ОС семейства Linux, они могут быть расположены в:
Проверить это можем командой ls :
На скриншоте видно, что команда ping находится в папке
Другой метод, которым можно найти место расположения команд это which :
На выводе она даст следующую информацию:
Проверка задержки командой PING
Одна из возможностей, предоставляемых командой PING, является возможность измерения времени отклика сети. По-другому это называется задержка или время ожидания.
Чтобы измерить задержку введи указанную команду и обратите внимание на ввыод:
Как вы могли заметить, каждый пакет был отправлен с конкретным временем ответа. В конце же есть строка, которая начинается на:
Второе значение после знака равенства – это время задержки. В нашем случае он равен 6,798.
С помощью этого показателя мы можем определить хосты, связь с которыми хуже и приять соответствующие меры.
Поиск идеального значения MTU
MTU (Maximum Transmission Unit) это максимальный размер пакета, который может быть передан по сети.
Сегодня, в целях безопасности, в сетях создаются препятствия для работы MTU. Но большинство локальных сетей на основе Ethernet использует MTU размером 1500 байт.
Если нужно найти самый подходящий размер MTU с помощью команды Ping, следует определить начальное значение и уменьшать его до тех пор, пока прекратятся ошибки. Если значение большое, мы получим следующую ошибку:
Чтобы сделать это запустите следующую команду:
В нашем случае, значение размера пакета слишком большое. Поэтому уменьшаем его до 1472 байтов.
Если получите другое сообщение, начальное значение должно быть уменьшено по единице до тех пор, пока не получите требуемый результат.
Если значение MTU известно, оно может быть использовано для улучшения сети. Особенное если сеть большая вплоть до городских сетей.
Ping на 2-ом уровне OSI (использование arping)
С помощью команды ping диагностика проводится на основе IP-адреса конкретного узла в сети. Это связано с тем, что команда ping работает на третьем сетевом уровне модели OSI.
С другой стороны, можно использовать другую встроенную в Linux команду – arping . Эта утилита работает так же, как ping, но на втором – канальном уровне модели OSI.
Синтаксис команды следующий:
В результате получите что-то подобное:
Вывод команды показывает размер отправленного пакета, затем MAC адрес узла назначения, а также время ответа.
Отметим, что эта команда не предустановлена на системе Debian и производных.
Ping по имени узла
По умолчанию, команда ping посылает пакеты на узел назначения используя IP адрес или имя узла назначения. Также нужно отметить, что большинство реализаций утилиты ping на Linux не разрешают DNS в обратном направлении.
Например, если мы запустим команду ping, указав IP адрес, он вернёт только IP узла. И наоборот, если параметром передадим имя узла, то команда вернет его IP адрес. Посмотрите вывод введя команду ниже:
Ping маршрута (traceroute)
Сама по себе команда ping не показывает пути от источника к узлу назначения. Но это было бы очень кстати в том случае, когда узел назначения не отвечает, чтобы определить где именно теряется связь.
Команда tracert (Windows) или traceroute работают аналогично ping. Преимуществом этой команды является то, что он показывает весь путь следования пакета от источника до узла назначения.
В принципе traceroute посылает тот же ICMP пакет, что и Ping. Но в случае traceroute, в отличии от ping начально значение TTL пакета выставляется равным единице. Пакет доходит до первого узла по пути к узлу назначения. Устройство уменьшает TTL на одну единицу и если получается нуль, то возвращает сообщение об ошибке истечения времени пакета. В сообщение так же содержится IP адрес и имя хоста. Отправитель получает данное сообщение. Если оно не от узла назначения, то посылает второй пакет с TTL на один больше предыдущего. И так до тех пор, пока не получит ответ от узла назначения. Для получения пути нужно ввести команду:
Запустить команду если ping вернул ошибку
Представьте, что вам нужно получить оповещение если узел назначения перестал отвечать на запросы команды ping. Для этого нужно включить команду ping в bash скрипт и прописать нужные команды. Например, скрипт ниже позволяет вам проверить отвечает ли узел на запросы ping:
Установление размера пакета ping
По умолчанию, размер пакетов ICMP равен 56 байтам. Это позволяет не влиять на работу сети во время проверки. Но при необходимости можно изменять это значение. Для этого достаточно запустить команду ping с ключом –s и требуемым размером. Например:
Если нужно установить значение пакета равным 100 байтам, нужно прописать команду ниже:
Отключение команды ping
Если вы обслуживаете сеть, то вам может быть необходимо отключить ответ на ping запросы в любое время. Это можно сделать как временно, так и постоянно, в зависимости от ваших нужд. Для временного отключения команды ping нужно ввести команду ниже от имени root-а:
Она выключить возможно ответа на ICMP запросы до перезагрузки системы. Но если нужно навсегда отключить эту возможность, то придется отредактировать файл
и добавить следующую строку:
Сохраните файл и, для применения изменений введите команду:
Заключение
В этом материале мы рассмотрели, как команда ping работает в системе Linux. Ping одна из самых легких команд. Она позволяет лицам, ответственным в обеспечении нормально работы сети, выявлять проблемы и устранять их.
Как утилита ping разрешает имена узлов в ip адреса и наоборот
Всем привет сегодня хочу начать цикл статей посвященных сетевым утилитам, которые помогают найти причину и проблему в сетевом взаимодействии, большинство утилит, о которых я затрону речь в своих статьях — это бесплатные и встроенные программы. Сегодня в первую очередь я расскажу, о утилите ping или, как проверить доступность хоста. Это должен быть один из первых инструментов в арсенале сетевого инженера.
Ранее я уже рассказывал о внешних сервисах которые помогают про диагностировать ваши ресурсы со вне и проверить видит ли их ваш клиент или сотрудник компании. (В помощь сетевику — Ping.eu. Внешние сетевые утилиты системного администратора 1 часть).
Назначение команды ping
Утилита Ping — В Windows есть утилита для проверки соединений в сетях на основе TCP/IP, а также обиходное наименование самого запроса. С помощью данной утилиты вы посылаете пакеты на нужный вам адрес или хост и смотрите есть ли ответ или нет, если его нет и нет запрещающих правил блокировать ICMP пакеты, то можно сделать вывод что хост не доступен. Данная программка есть как в Windows так и в Linux системах, и пишется везде одинаково, единственное могут быть разные дополнительные ключи.
Откройте командную строку в Windows и введите ping, а Linux системах в консоли команда та же. Перед вами откроется описание утилиты со всеми ключами.
Утилита ping или как проверить доступность хоста. Сетевые утилиты 1 часть-02
Ключи и параметры PING
Использование: ping [-t] [-a] [-n <число>] [-l <размер>] [-f] [-i <TTL>]
[-v <TOS>] [-r <число>] [-s <число>]
[[-j <список_узлов>] | [-k <список_узлов>]]
[-w <время_ожидания>] [-R] [-S <адрес_источника>]
[-c секция] [-p] [-4] [-6] конечный_узел
- -t — Проверяет связь с указанным узлом до прекращения. Для отображения статистики и продолжения проверки нажмите клавиши CTRL+BREAK, для прекращения нажмите CTRL+C. Данный ключ очень часто используют, когда нужно в течении долгого времени тестировать доступность хоста. Например можно запустить ping на сутки и в самом конце посмотреть статистику по качеству вашего сетевого соединения, количество потерянных пакетов, это удобно и бесплатно, есть сразу под капотом Windows.
- -a Разрешает адреса в имена узлов.
- -n <число> Число отправляемых запросов проверки связи.
- -l <размер> Размер буфера отправки.
- -f Устанавливает флаг, запрещающий фрагментацию, в пакете (только IPv4).
- -i <TTL> Срок жизни пакетов.
- -v <TOS> Тип службы (только IPv4; этот параметр использовать не рекомендуется, и он не влияет на поле TOS в заголовке IP).
- -r <число> Записывает маршрут для указанного числа прыжков (только IPv4).
- -s <число> Задает метку времени для указанного числа прыжков (только IPv4).
- -j <список_узлов> Задает свободный выбор маршрута по списку узлов (только IPv4).
- -k <список_узлов> Задает жесткий выбор маршрута по списку узлов (только IPv4).
- -w <время_ожидания> Задает время ожидания каждого ответа (в миллисекундах).
- -R Использует заголовок маршрута для проверки и обратного маршрута (только IPv6). В соответствии с RFC 5095, использование этого заголовка маршрута не рекомендуется. В некоторых системах запросы проверки связи могут быть сброшены, если используется этот заголовок.
- -S <адрес_источника> Задает адрес источника.
- -c секция Идентификатор секции маршрутизации.
- -p Проверяет связь с сетевым адресом поставщика виртуализации Hyper-V.
- -4 Задает принудительное использование протокола IPv4.
- -6 Задает принудительное использование протокола IPv6.
Какой ping считается нормальным?
Давайте разберемся какой PING является нормальным. Прежде чем мы ответим на этот вопрос нужно понимать, что от типа соединения очень сильно зависит разброс и норма данного показателя, так для локальной сети цифры приемлемые для обычного интернет соединения будут казаться отвратительными, еще очень важным критерием является ваше нахождение и месторасположение сервера к которому вы обращаетесь, логично предположить, что если вы живете в Сибири, а обращаетесь к серверу в северной Америке, то там задержки будут куда выше, ежели вы бы делали обращение из Ирландии.
- Ping в локальной сети — если у вас с локальной сетью все в порядке на физическом уровне и на уровне топологии и настроек на сетевом оборудовании, то ваш ping не должен превышать 5 мс, для меня нормальным является пинг в локальной сети в 1 мс. Допустимые диапазоны от 1-20 мс, это считается низким пингом.
- Широкополосное интернет соединение — тут нормальным пингом является от 25-100 мс это считается средним показателем, например у меня из Москвы до Яндекса ping составляет от 13-15 мс, до Google 21-25 мс.
- Мобильный интернет — тут так же нормальным можно считать от 30-120 мс.
Все эти временные задержки могут быть критичными для ряда сервисов или игр, например если ping превышает определенный предел в кластере из серверов, то могут быть проблемы с их согласованностью, в играх так же могут быть проблемы с соединением. Например, низкий пинг в играх-шутерах от первого лица (FPS), стратегиях в реальном времени, гоночных играх и многопользовательских играх означает более высокую скорость передачи данных и получение ответа сервера в игре — и, в конечном итоге, более плавный игровой процесс. Те, у кого высокий ping, скорее всего, будут испытывать задержки (или лаги) в игре, что в конечном итоге повлияет на результат игры. Фактически, при еще более высоких значениях серверы многих игр FPS автоматически отключают этих игроков. Во многих онлайн-играх отображается ваше время пинга, а также пинг других игроков или серверов.
Что такое задержка?
Также важно знать, что задержка относится к качеству, но не к скорости вашего сетевого подключения. Скорость сетевого подключения состоит из двух элементов. Первый — это пропускная способность (или количество данных, которые могут быть переданы в течение определенного периода времени); а второй — задержка, то есть время прохождения данного объема данных. Ping часто используется как синоним термина «задержка». Поэтому, когда вы слышите, как геймеры используют термины «низкая задержка» и «высокая задержка«, они часто являются синонимами «низкий ping» и «высокий ping». Но это не совсем так.
Запросы в команде PING
Давайте проверим доступность Яндекса вводим
Видим, что мы получили от него 4 пакета, по умолчанию утилита ping отправляет 4 пакета по 32 байта
Утилита ping или как проверить доступность хоста. Сетевые утилиты 1 часть-03
Если поставить ключик -t то пинг будет постоянным, это полезно когда например вы длительное время смотрите связь с нужным вам хостом, тут можно посмотреть количество потерянных пакетов и доставленных, на основании чего можно посмотреть качество канала, еще чем меньше время ответа тем лучше, в локальной сети у вас пинг не должен быть больше 1-2 мл секунд между компьютерами домена.
Утилита ping или как проверить доступность хоста. Сетевые утилиты 1 часть-04
Иногда бывает ситуация, что какие то пакеты бегают до цели а какие то нет, полезно посмотреть например проходят ли пакеты размером побольше и нет ли на железном роутере или коммутаторе каких ограничений на размер пакета. Вводим команду с ключом -l? ult 4096 это число байт.
Утилита ping или как проверить доступность хоста. Сетевые утилиты 1 часть-05
Почему не отвечает сервер на пакет PING?
Хотя ping является быстрым средством проверить доступность узла в сети, он же может создавать огромные проблемы и области сетевых атак, поэтому многие публичные сайты просто отключают его прохождение на свои серверы, например компания Microsoft, которая так же запрещает Ping до своего сайта, но это не означает, что он не работает.