TCP подключение
Этот сервис дает возможность протестировать TCP подключение к любому порту любого IP адреса или веб-сайта из различных мест и стран. Проверьте состояния портов на сервере легким способом.
Например Вы можете проверить новый порт для SSH у вашего сервера на доступность из различных точек земного шара. Мониторинг веб-сайта или мониторинг любого другого сервиса с помощью этого инструмента может сэкономить значительное время системному администратору.
Примеры:
Устранение неполадок с подключением TCP/IP
Попробуйте наш виртуальный агент . Он поможет вам быстро определить и устранить распространенные проблемы с репликацией Active Directory.
Применимо к: Windows 10
Вы можете столкнуться с ошибками подключения в конце приложения или с ошибками времени ожидания. Ниже приведены наиболее распространенные сценарии.
- Подключение приложений к серверу базы данных
- Ошибки времени ожидания SQL
- Ошибки времени ожидания приложения BizTalk
- Сбои протокола удаленного рабочего стола (RDP)
- Сбои доступа к общей папке
- Общая возможность подключения
Если вы подозреваете, что проблема связана с сетью, вы собираете трассировку сети. Затем трассировка сети будет фильтроваться. Во время устранения ошибок подключения вы можете столкнуться со сбросом TCP в сетевом захвате, который может указывать на проблему с сетью.
- Протокол TCP определяется как надежный протокол, ориентированный на подключение. Одним из способов обеспечения надежности TCP является процесс подтверждения. Создание сеанса TCP начинается с трехстороннего подтверждения, затем передачи данных, а затем четырехстороннего закрытия. Четырехсторонняя закрытие, при которой и отправитель, и получатель соглашаются о закрытии сеанса, называется корректной закрытием. После четырехсторонного закрытия сервер предоставит 4 минуты времени (по умолчанию), в течение которого будут обрабатываться все ожидающие пакеты в сети. Этот период является TIME_WAIT состоянием. После завершения TIME_WAIT состояния все ресурсы, выделенные для этого подключения, освобождаются.
- Сброс TCP — это внезапное закрытие сеанса; это приводит к немедленному освобождению ресурсов, выделенных для подключения, и все остальные сведения о подключении удаляются.
- Сброс TCP определяется флагом RESET в заголовке TCP, который имеет значение 1.
Трассировка сети в источнике и назначении помогает определить поток трафика и увидеть, в какой момент наблюдается сбой.
В следующих разделах описаны некоторые сценарии, когда вы увидите RESET.
Удаление пакетов
Когда один одноранговый узел TCP отправляет TCP-пакеты, для которых не получен ответ с другого конца, одноранговый узел TCP в конечном итоге перенаправляет данные, а если ответа не получено, он завершит сеанс, отправив ACK RESET (этот ACK RESET означает, что приложение подтверждает, какие данные обмениваются до сих пор. но из-за удаления пакетов подключение закрывается).
Одновременная трассировка сети в источнике и назначении поможет проверить это поведение, когда на стороне источника вы увидите пакеты, передаваемые повторно, а в месте назначения ни один из этих пакетов не отображается. Этот сценарий означает, что сетевое устройство между источником и назначением удаляет пакеты.
Если начальное подтверждение TCP завершается сбоем из-за удаления пакетов, то вы увидите, что пакет TCP SYN повторно передается только три раза.
Подключение на стороне источника через порт 445:

Конечная сторона: при применении того же фильтра пакеты не отображаются.

Для остальных данных TCP передаст пакеты пять раз.
Исходная трассировка 192.168.1.62:

Целевая трассировка 192.168.1.2:
Вы не увидите ни одного из указанных выше пакетов. Обратитесь к сетевой команде, чтобы изучить различные прыжки и узнать, может ли какой-либо из них вызвать падение сети.
Если вы видите, что пакеты SYN достигают назначения, но назначение по-прежнему не отвечает, убедитесь, что порт, к которому вы пытаетесь подключиться, находится в состоянии прослушивания. (Выходные данные Netstat помогут). Если порт прослушивает и по-прежнему нет ответа, то может быть падение мппы.
Неправильный параметр в заголовке TCP
Такое поведение возникает, когда пакеты изменяются в сети устройствами среднего уровня, а TCP на принимающем конце не может принять пакет, например изменяемый порядковый номер или пакеты, воспроизводимые средним устройством путем изменения порядкового номера. Опять же, одновременная трассировка сети в источнике и назначении сможет определить, будут ли изменены какие-либо заголовки TCP. Начните с сравнения трассировки источника и целевой трассировки. Вы сможете заметить, есть ли изменения в самих пакетах или какие-либо новые пакеты достигают назначения от имени источника.
В этом случае вам снова потребуется помощь от команды сети, чтобы определить любое устройство, которое изменяет пакеты или отправляет пакеты в место назначения. Наиболее распространенными из них являются устройства RiverBed или акселераторы глобальной сети.
Сброс на стороне приложения
Если вы определили, что сбросы не связаны с повторной отправкой или неправильным параметром или пакетами, изменяемыми с помощью трассировки сети, вы сузили его до сброса на уровне приложения.
Сбросы приложения — это те, где вы видите флаг подтверждения, равный 1, а также флаг сброса. Этот параметр означает, что сервер подтверждает получение пакета, но по какой-то причине не принимает подключение. На этом этапе приложению, получившей пакет, не понравилось то, что оно получило.
На снимках экрана ниже вы увидите, что пакеты, отображаемые в источнике и назначении, одинаковы без каких-либо изменений или удалений, но вы увидите явный сброс, отправленный назначением в источник.
На стороне источника

Трассировка на стороне назначения

Вы также увидите пакет флага ACK+RST в случае отправки пакета создания TCP SYN. Пакет TCP SYN отправляется, когда клиент хочет подключиться к определенному порту, но если назначение или сервер по какой-либо причине не хочет принимать пакет, он отправляет пакет ACK+RST.

Приложение, которое вызывает сброс (определяется номерами портов), должно быть изучено, чтобы понять, что заставляет его сбрасывать подключение.
Приведенные выше сведения о сбросах с точки зрения TCP, а не UDP. UDP — это протокол без подключения, и пакеты отправляются ненадежно. Вы не увидите повторную передачу или сброс при использовании UDP в качестве транспортного протокола. Однако UDP использует ICMP в качестве протокола отчетности об ошибках. Если пакет UDP отправлен на порт, а порт назначения не указан, сразу после пакета UDP вы увидите сообщение о том, что узел назначения ICMP недоступен: Порт недоступен .
10.10.10.1 10.10.10.2 UDP UDP:SrcPort=49875,DstPort=3343 10.10.10.2 10.10.10.1 ICMP ICMP:Destination Unreachable Message, Port Unreachable,10.10.10.2:3343
Во время устранения неполадок с подключением вы также можете увидеть в трассировке сети, что компьютер получает пакеты, но не отвечает. В таких случаях может произойти падение на уровне сервера. Чтобы понять, сбрасывает ли локальный брандмауэр пакет, включите аудит брандмауэра на компьютере.
auditpol /set /subcategory:"Filtering Platform Packet Drop" /success:enable /failure:enable
Затем можно просмотреть журналы событий безопасности, чтобы узнать, как удалить пакет на определенный IP-адрес порта и связанный с ним идентификатор фильтра.

Теперь выполните команду netsh wfp show state , при этом при выполнении будет создан файлwfpstate.xml . После открытия этого файла и фильтрации по идентификатору, который вы найдете в приведенном выше событии (2944008), вы увидите имя правила брандмауэра, связанное с этим идентификатором, которое блокирует подключение.

Обратная связь
Были ли сведения на этой странице полезными?
Что такое TCP/IP
TCP/IP (Transmission Control Protocol/Internet Protocol) – это модель передачи цифровых данных. Протокол передачи TCP/IP описывает правила передачи данных, стандарты связи между компьютерами, а также содержит соглашения о маршрутизации и межсетевом взаимодействии.
Что такое протокол и для чего он нужен? Протокол – это набор правил, благодаря которым устройства обмениваются данными через интернет. Эти правила сообщают устройствам о том:
- Как начинать общение и приветствовать другую сторону.
- Как договориться с другим устройством о параметрах передачи данных.
- Что делать при ошибках.
- Как узнать, что передача данных закончена.
Сетевые протоколы TCP/IP обеспечивает связь между устройствами, работающими через интернет. Обычно эти устройства называют хостами. Хотя существуют и другие протоколы передачи данных, TCP/IP выделяется тем, что при его работе обеспечивается аппаратная независимость.
Это значит, что работа протокола не зависит от особенностей аппаратного обеспечения, он позволяет организовать обмен данными между любыми устройствами с различной технологией передачи данных. Кроме этого, сетевая модель TCP/IP определяет стандарты для множества различных служб связи конечных пользователей.
Благодаря TCP/IP возможны такие действия:
- Передача данных в другую систему.
- Вход в удаленную систему.
- Управление сетью.
- Отправка сообщений удаленным пользователям.
- Выполнение удаленных команд.
- Печать файлов из удаленной системы.
Как работает TCP/IP
TCP и IP два отдельных протокола, работающие вместе. Они образуют стек протоколов надежной передачи данных. Стек протоколов TCP/IP различают два типа сокетов TCP (потоковые) и UDP (датаграммные). Подробнее о сокетах расскажем далее.
UDP – простой протокол с минимальной дополнительной нагрузкой, он подходит для отправки небольших сообщений, когда не важна надежность при передаче данных. Протокол TCP – выполняет проверку доставки всех файлов адресату и проверяет не было ли ошибки при передаче информации. TCP может повторно запросить данные, если они были потеряны и регулировать загрузку сети.
Стек протоколов TCP/IP позволяет обеспечивать доставку информации в необходимое место назначения. IP определяет адрес доставки, а TCP отвечает за процесс передачи и доставки данных. Для более наглядного примера предположим, что IP – это адрес электронной почты, а TCP — это почтовый клиент, с помощью которого происходит отправка сообщений.
Протоколы используются вместе, чтобы информация имела место назначения, а сам процесс происходил безопасно.
Для работы протоколов необходима установка TCP/IP – специального программного обеспечение. Обычно, оно устанавливается с операционной системой и не требует скачивания дополнительных программ.
Как настроить TCP/IP
Настройка TCP/IP происходит в разделе основных настроек компьютера.
Windows
- В меню Пуск выберите Сеть и интернет.
- Далее перейдите в раздел Ethernet.
- В открывшемся окне найдите пункт Настройка параметров адаптера.
- Затем снова выберите пункт Ethernet, нажав на него правой кнопкой мыши, и выберите раздел свойства.
- В открывшемся окне двойным щелчком по левой кнопке мыши выберите пункт IP версии 4 (TCP/IPv4).
- В новом окне отметьте точками: Получить IP-адрес автоматически и Получить адрес DNS-сервера автоматически.
- На вкладке Альтернативная конфигурация отметьте точку Автоматический частный IP-адрес.
- Нажмите ОК, чтобы сохранить настройки.
MacOS
- Выберите меню Apple и перейдите в Системные настройки.
- Зайдите в раздел Сеть.
- Слева выберите сетевую службу, которую используете.
- Далее нажмите Подробнее.
- Выберите раздел TCP/IP.
- Для адреса IPv4, кликните всплывающее меню «Конфигурация IPv4».
- Выберите здесь один из вариантов, потом введите адрес IPv4, маску подсети и адрес маршрутизатора.
- Для адреса IPv6, кликните всплывающее меню «Конфигурация IPv6»
- Выберите один из вариантов, потом введите адрес маршрутизатора, адрес IPv6 и длину префикса.
- Если у вас есть ID клиента DHCP, укажите его.
- Нажмите ОК.
Что такое сокеты
Сокет — это программный механизм, который обеспечивает сетевое взаимодействие, помогает осуществлять передачу информации от одного компьютера к другому. Он представляет собой конструкцию, состоящую из IP-адреса и номера порта.
Сокет был придуман для того, чтобы облегчить программистам процесс написания кодов. При работе с сокетами программистам не надо разбираться с IP и портами, при программировании он указывает, что хочет создать сокет и обозначает для него IP-адрес. Программа, в которой работает специалист, создает сокет. Далее информация отправляется и принимается в сокете, а программа отвечает за ее передачу.
Основное назначение сокетов – передача данных через сеть и обеспечение связи между различными приложениями.
При настроенных сокетах в двух разных приложениях можно осуществлять передачу данных без дополнительных программ. Например, чтобы получить информацию из мобильного приложения, сервер запускает сокет для связи с этим приложением. Само приложение также открывает сокет, чтобы связаться с сервером. После этого происходит обмен данными между сервером и приложением.
Чтобы к серверу можно было одновременно подключиться нескольким приложениям, сервер делает копии сокетов.
Для чего нужны порты
Сетевые порты представляют собой 16-ти битное число от 1 до 65535, которое определяет назначение пакетов данных в пределах одного хоста. Они необходимы, чтобы осуществлять передачу информации определенного вида. Все хосты передают данные при помощи IP-адресов, когда происходит подключение к сети, порты определяют к какой программе относятся передаваемые файлы. Основные программы это:
- Web-сервер, для трансляции с веб-сайтов.
- Почтовый сервер, для обмена электронными письмами.
- FTP-сервер, для передачи информации.
Например, пользователь на своем ноутбуке открывает браузер и вбивает поисковый запрос, веб-сервер при этом автоматически отправляет данные по протоколу TCP/IP в порт 80.
При работе с почтовым клиентом Outlook используется два стандартизированных порта: порт 110 – для получения электронных сообщений и порт 25 – для отправки писем к адресату.
Важно знать, что порты обеспечивают доступ в интернет не только полезным программам, но и вирусам, которые могут открывать порты без согласия пользователя и считывать данные на его компьютере.
Что можно делать с портом
- Открыть. Чтобы знать куда направлять данные, которые пришли по адресу порта.
- Закрыть. Чтобы прекратить передачу данных.
- Пробросить. Если запрос пришел на порт 1020, отправить его на порт 2020.
- Просканировать. То есть проверить числа от 0 до 65535 на предмет ответа от кого-то из них. Если ответ найден, то это будет означать, что на этом порту работает какая-то программа. Это поможет найти уязвимости и вредоносные программы.
- Заблокировать. Например, для того, чтобы не допустить посторонних к открытому порту.
- Задать. Если для работы программы требуется порт, который у вас заблокирован, ей можно создать другой порт и проводить обмен данными через него.
Уровни протоколов TCP/IP
Одной из основных и первых моделей передачи данных была OSI (The Open Systems Interconnection model). В соответствии с ней происходит работа сетевых протоколов, так как она устанавливает основные требования и правила. Модель OSI состоит из семи уровней, каждый из них определяет нормы сотрудничества систем между собой:
- Прикладной уровень
- Сеансовый уровень
- Уровень представления
- Транспортный уровень
- Сетевой уровень
- Канальный уровень
- Физический уровень

Несколько протоколов, работающих по определенным уровням, называют стеком протоколов. Современный интернет работает на стеке протоколов TCP/IP. Различают следующие уровни стека TCP/IP:
Регулирует работу сетевых приложений, например, браузеры, программы для загрузки файлов по ftp , почтовые клиенты, SSH . Эти программы могут использовать свои протоколы обмена данными.
На прикладном уровне передача информации осуществляется путем передачи пакета с данными от одного сетевого узла к другому. Пересылка данных от хоста-отправителя к хосту-получателю осуществляется при помощи протокола IP, который сообщает адрес получателя и указывает номер порта. Благодаря IP сеть определяет откуда пришел пакет данных и куда его следуют отправить.
Комбинация IP-адреса и номера порта передачи данных называется сокетом. Определенные порты используют для упрощения стандартов, каждый порт соответствует функциональному назначению приложения (Например, почтовый SMTP-сервер использует 25 порт).
Работу этого уровня определяют протоколы TCP (Transmission Control Protocol) и UDP (User Datagram Protocol). Протокол TCP анализирует переданные пакеты информации и, в случае ошибки, повторно запрашивает пакеты. Также он следит за верной последовательностью переданных пакетов. UDP – протокол без установки соединения, он выполняет небольшую проверку и считается ненадежным. Отправка информации с помощью UDP выполняется быстрее по сравнению с TCP.
Передача данных начинается с установки соединения: хост-клиент отправляет фрагмент данных с номером последовательности и флагом SYN (служит для обозначения начала установки соединения). Сервер выделяет память для обработки задачи и назад отправляет фрагмент с номером последовательности и флагами SYN и ACK (служит для обозначения получения подтверждения).
Получив флаг SYN, хост-клиент отправляет сегмент с флагом ACK, в том случае, когда этот флаг узел уже получил, включается режим ESTABLISHED ( или активное соединение). Если, повторив свой запрос, хост не получает ответа, то через некоторое время включается режим CLOSED (или завершение сеанса связи):
- Хост-получатель шлет хосту-отправителю флаг FIN (конец передачи данных).
- Узел возвращает флаги ответа ACK, FIN о завершении связи.
- Хост-клиент устанавливает соединение, и шлет хосту сигнал о завершении сессии в виде флага ACK (получение подтверждения).
- Межсетевой или сетевой уровень TCP/IP
Так как глобальная сеть объединяет в себе множество локальных сетей, то сетевой уровень нужен для регламентирования передачи данных и взаимодействия локальных сетей.
Основные функции межсетевого уровня: доставка пакетов с информацией между сетями, выбор оптимального пути перемещения данных, согласование разных технологий передачи информации, фильтрация трафика, предотвращение перегрузок при передаче.
IP (Internet Protocol) – основной протокол межсетевого уровня. Он отвечает за перемещение пакетов между подсетями — от одного пограничного маршрутизатора до другого, пока данные не достигнут сети назначения.
При передаче информации от одного хоста к другому все данные делятся на пакеты, которые передаются по нужным каналам связи. Канальный уровень определяет физические свойства обмена информацией: максимальное расстояние передачи пакетов, частота сигнала, возможное время задержки ответа от хоста.
Чаще всего на этом уровне используют протокол Ethernet, он определяет проводные соединения и электросигналы на физическом уровне. Когда хост собирается передать пакет информации, он проверяет свободен ли канал в этот момент (по наличию несущей частоты в кабеле). Если частота не найдена, то начинается передача данных. Передача информации ограничивается по времени, она не может превышать, а также быть меньше заданной величины. Это необходимо для предотвращения единоличного использования сети одним компьютером и доступом к сети другим пользователям.
Зачем нужны уровни сетевой модели TCP/IP? Передача файлов между двумя хостами напрямую невозможна. Сначала пакеты данных попадают на сетевой уровень, чтобы получить IP-адрес. На транспортном уровне, с помощью протокола TCP, отдельные части данных передаются хосту. На каждом уровне к передаваемым файлов добавляется служебная информация: например, указание порта, чтобы распознать приложение. Кроме того, информацию могут добавлять протоколы Ethernet, IP, TCP и другие.
Такое наслоение правил и дополнительной информации называется стеком. Таким образом, стек – набор сетевых протоколов с иерархической структурой. Главная задача стека – достаточный набор правил, который обеспечивает взаимодействие устройств в интернете.
Чтобы все протоколы могли работать одновременно и не конфликтовали между собой, были выделены уровни стека протоколов TCP/IP. Каждый уровень решает свою определенную задачу, что снижает возникновение сбоев и незавершенных операций.
Заключение
Протокол интернета TCP/IP популярен своей возможностью реализовать широкий набор функций: совместное использование файлов, принтеров, удаленный доступ к системам и серверам. Стек TCP/IP – надежный набор протоколов, благодаря которым легко налаживаться работа приложений, а управление маршрутизацией удобно настраивается.
Немогу подключиться к TCP/IP серверу
Запустил сервер но почему-то не могу к нему подключиться Вот сервер :
// SocketServer.cs using System; using System.Text; using System.Net; using System.Net.Sockets; namespace SocketServer < class Program < static void Main(string[] args) < // Устанавливаем для сокета локальную конечную точку IPHostEntry ipHost = Dns.GetHostEntry("localhost"); IPAddress ipAddr = ipHost.AddressList[0]; IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, 11000); // Создаем сокет Tcp/Ip Socket sListener = new Socket(ipAddr.AddressFamily, SocketType.Stream, ProtocolType.Tcp); // Назначаем сокет локальной конечной точке и слушаем входящие сокеты try < sListener.Bind(ipEndPoint); sListener.Listen(10); // Начинаем слушать соединения while (true) < Console.WriteLine("Ожидаем соединение через порт ", ipEndPoint); // Программа приостанавливается, ожидая входящее соединение Socket handler = sListener.Accept(); string data = null; // Мы дождались клиента, пытающегося с нами соединиться byte[] bytes = new byte[1024]; int bytesRec = handler.Receive(bytes); data += Encoding.UTF8.GetString(bytes, 0, bytesRec); // Показываем данные на консоли Console.Write("Полученный текст: " + data + "\n\n"); // Отправляем ответ клиенту\ string reply = "Спасибо за запрос в " + data.Length.ToString() + " символов"; byte[] msg = Encoding.UTF8.GetBytes(reply); handler.Send(msg); if (data.IndexOf("") > -1) < Console.WriteLine("Сервер завершил соединение с клиентом."); break; >handler.Shutdown(SocketShutdown.Both); handler.Close(); > > catch (Exception ex) < Console.WriteLine(ex.ToString()); >finally < Console.ReadLine(); >> > >
Вот клиент :
#include #include #include /* hton, ntoh и проч. */ #include #include #include int main(int argc, char * argv[]) < /*объявляем сокет*/ int s = socket( AF_INET, SOCK_STREAM, 0 ); if(s < 0) < perror( "Error calling socket" ); return 0; >/*соединяемся по определённому порту с хостом*/ struct sockaddr_in peer; peer.sin_family = AF_INET; peer.sin_port = htons( 11000 ); peer.sin_addr.s_addr = inet_addr( "127.0.0.1" ); int result = connect( s, ( struct sockaddr * )&peer, sizeof( peer ) ); if( result ) < perror( "Error calling connect" ); return 0; >/*посылаем данные * * Если быть точным, данные не посланы, а записаны где-то в стеке, когда и как они будут * отправлены реализации стека TCP/IP виднее. Зато мы сразу получаем управление, не * дожидаясь у моря погоды.*/ char buf[] = "Hello, world!"; result = send( s, "Hello, world!", 13, 0); if( result /* закрываем соединения для посылки данных */ if( shutdown(s, 1) < 0) < perror("Error calling shutdown"); return 0; >/* читаем ответ сервера */ fd_set readmask; fd_set allreads; FD_ZERO( &allreads ); FD_SET( 0, &allreads ); FD_SET( s, &allreads ); for(;;) < readmask = allreads; if( select(s + 1, &readmask, NULL, NULL, NULL ) if( FD_ISSET( s, &readmask ) ) < char buffer[20]; memset(buffer, 0, 20*sizeof(char)); int result = recv( s, buffer, sizeof(buffer) - 1, 0 ); if( result < 0 ) < perror("Error calling recv"); return 0; >if( result == 0 ) < perror("Server disconnected"); return 0; >if(strncmp(buffer, "Hi, dear!", 9) == 0) printf("Got answer. Success.\n"); else perror("Wrong answer!"); > if( FD_ISSET( 0, &readmask ) ) < printf( "No server response" ); return 0; >> return 0; >
А вот что он мне даёт на выходе:
сервер и клиент подключены к одному и тому же «разветвителю». Почему то не подключается, увы так и не понял почему. SocketServer.cs
// Устанавливаем для сокета локальную конечную точку IPHostEntry ipHost = Dns.GetHostEntry("localhost"); //несработало "172.16.8.169" // IPAddress ipAddr = ipHost.AddressList[0]; IPAddress ipAddr = (Dns.Resolve(IPAddress.Any.ToString())).AddressList[0]; IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, 11000);
client.c добавил:
peer.sin_port = htons( 11000 ); peer.sin_addr.s_addr = inet_addr( "172.16.8.169" ); int result = connect( s, ( struct sockaddr * )&peer, sizeof( peer ) );
Почемуто не сработало вот вызов ifconfig : На сервере
На клиенте
пинг пингуеться :
comp@comp0:~/Qt_project/TCP_CP$ ping 172.16.8.169:11000 ping: 172.16.8.169:11000: Неизвестное имя или служба comp@comp0:~/Qt_project/TCP_CP$ ping 172.16.8.169 PING 172.16.8.169 (172.16.8.169) 56(84) bytes of data. 64 bytes from 172.16.8.169: icmp_seq=1 ttl=64 time=1.39 ms 64 bytes from 172.16.8.169: icmp_seq=2 ttl=64 time=1.31 ms 64 bytes from 172.16.8.169: icmp_seq=3 ttl=64 time=1.23 ms 64 bytes from 172.16.8.169: icmp_seq=4 ttl=64 time=1.36 ms 64 bytes from 172.16.8.169: icmp_seq=5 ttl=64 time=1.32 ms 64 bytes from 172.16.8.169: icmp_seq=6 ttl=64 time=1.30 ms ^C --- 172.16.8.169 ping statistics --- 6 packets transmitted, 6 received, 0% packet loss, time 5006ms rtt min/avg/max/mdev = 1.237/1.322/1.394/0.056 ms
Вроде бы по ответу @Геннадия П всё верно и логически всё представлено верно но, почему то как то «не звучит цветомузыка».