- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Как сделать пинг порта в Linux и Windows
- Можно ли пропинговать конкретный порт?
- Как пропинговать определенный порт в Linux?
- Пинг определенного порта с помощью Telnet
- Пинг определенного порта с помощью Netcat
- Пинг определенного порта с помощью Nmap
- Как пропинговать определенный порт в Windows?
- Пинг определенного порта с помощью Telnet
- Пинг определенного порта с помощью PowerShell
- Заключение
- Команда Ping в Linux
- Как использовать команду Ping
- Укажите количество пакетов
- Укажите исходный интерфейс
- Укажите Интернет-протокол
- Выводы
- Мониторинг сети в Linux (ping, traceroute, mtr)
- Утилита ping
- Утилита traceroute
- Утилита MTR
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Как сделать пинг порта в Linux и Windows
Проверяем доступность порта
Команда ping — это сетевой инструмент для проверки работоспособности удаленной системы. Другими словами, команда определяет, доступен ли определенный IP-адрес или хост. Ping использует протокол сетевого уровня, называемый Internet Control Message Protocol (ICMP), и доступен во всех операционных системах.
С другой стороны, номера портов принадлежат протоколам транспортного уровня, таким как TCP и UDP. Номера портов помогают определить, куда пересылается Интернет или другое сетевое сообщение, когда оно приходит.
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
В этом руководстве вы узнаете, как проверить связь с портом в Windows и Linux с помощью различных инструментов.
Можно ли пропинговать конкретный порт?
Сетевые устройства используют протокол ICMP для отправки сообщений об ошибках и информации о том, успешна ли связь с IP-адресом. ICMP отличается от транспортных протоколов, поскольку ICMP не используется для обмена данными между системами.
Ping использует пакеты ICMP, а ICMP не использует номера портов, что означает, что порт не может быть опрошен. Однако мы можем использовать ping с аналогичным намерением — чтобы проверить, открыт порт или нет.
Некоторые сетевые инструменты и утилиты могут имитировать попытку установить соединение с определенным портом и ждать ответа от целевого хоста. Если есть ответ, целевой порт открыт. В противном случае целевой порт закрывается или хост не может принять соединение, потому что нет службы, настроенной для прослушивания подключений на этом порту.
Как пропинговать определенный порт в Linux?
Вы можете использовать три инструмента для проверки связи порта в Linux:
Пинг определенного порта с помощью Telnet
Telnet — это протокол, используемый для интерактивной связи с целевым хостом через соединение виртуального терминала.
1. Чтобы проверить, установлен ли уже telnet , откройте окно терминала и введите:
2. Если telnet не установлен, установите его с помощью следующей команды
- Для CentOS/Fedora: yum -y install telnet
- Для Ubuntu: sudo apt install telnet
3. Чтобы пропинговать порт с помощью telnet , введите в терминале следующую команду:
Где [address] — это домен или IP-адрес хоста, а [port_number] — это порт, который вы хотите проверить.
Если порт открыт, telnet устанавливает соединение. В противном случае он указывает на сбой.
4. Чтобы выйти из telnet , нажмите Ctrl +] и введите q .
Пинг определенного порта с помощью Netcat
Netcat (nc) позволяет устанавливать соединения TCP и UDP, принимать оттуда данные и передавать их. Этот инструмент командной строки может выполнять множество сетевых операций.
1. Чтобы проверить, установлен ли netcat :
- Для Debian, Ubuntu и Mint: введите netcat -h
- Для Fedora, Red Hat Enterprise Linux и CentOS: ncat -h
2. Если netcat не установлен, выполните в терминале следующую команду:
3. Чтобы пропинговать порт с помощью netcat , введите следующее:
Выходные данные информируют пользователя об успешном подключении к указанному порту. В случае успеха — порт открыт.
Пинг определенного порта с помощью Nmap
Nmap — это сетевой инструмент, используемый для сканирования уязвимостей и обнаружения сети. Утилита также полезна для поиска открытых портов и обнаружения угроз безопасности.
1. Убедитесь, что у вас установлен Nmap, введя nmap -version в терминал.
Если Nmap установлен, вывод информирует пользователя о версии приложения и платформе, на которой он работает.
2. Если в вашей системе нет Nmap, введите следующую команду:
- Для CentOS или RHEL Linux: sudo yum install nmap
- Для Ubuntu или Debian Linux: sudo apt install nmap
3. После установки Nmap в системе используйте следующую команду для проверки связи определенного порта:
Выходные данные информируют пользователя о состоянии порта и типе службы, задержке и времени, прошедшем до завершения задачи.
4. Чтобы проверить связь с более чем одним портом, введите nmap -p [number-range] [address] .
Синтаксис [number-range] — это диапазон номеров портов, которые вы хотите пропинговать, разделенные дефисом. Например:
Как пропинговать определенный порт в Windows?
Проверить связь с портом в Windows можно двумя способами:
Пинг определенного порта с помощью Telnet
Перед использованием telnet убедитесь, что он активирован:
- Откройте панель управления.
- Щелкните «Программы», а затем «Программы и компоненты».
- Выберите «Включение или отключение компонентов Windows».
- Найдите клиент Telnet и установите флажок. Щелкните ОК.
Готово! Вы активировали клиент Telnet в системе.
После завершения активации можно пропинговать порт с помощью telnet. Для этого:
1. Введите cmd в поиске в меню «Пуск». Щелкните на приложение Командная строка.
2. В окне командной строки введите
Где [address] — это домен или IP-адрес хоста, а [port_number] — это порт, который вы хотите проверить.
Выходные данные позволяют узнать, открыт ли порт и доступен ли он, иначе отображается сообщение об ошибке подключения.
Пинг определенного порта с помощью PowerShell
Чтобы проверить связь с портом с помощью PowerShell, выполните следующие действия:
1. Введите PowerShell в поиске в меню «Пуск». Щелкните приложение Windows PowerShell.
2. В окне командной строке PowerShell введите:
Если порт открыт и соединение прошло успешно, проверка TCP прошла успешно. В противном случае появится предупреждающее сообщение о том, что TCP-соединение не удалось.
Заключение
Теперь вы знаете, как выполнить эхо-запрос и проверить, открыт ли порт, с помощью нескольких сетевых инструментов и утилит в Linux и Windows.
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Источник
Команда Ping в Linux
Команда ping — один из наиболее часто используемых инструментов для устранения неполадок, тестирования и диагностики проблем с сетевым подключением.
Ping работает путем отправки одного или нескольких пакетов эхо-запроса ICMP (протокол управляющих сообщений Интернета) на указанный IP-адрес назначения в сети и ожидает ответа. Когда пункт назначения получает пакет, он отвечает эхо-ответом ICMP.
С помощью команды ping вы можете определить, активен или неактивен удаленный IP-адрес назначения. Вы также можете найти задержку двустороннего обмена при обмене данными с адресатом и проверить, есть ли потеря пакетов.
ping является частью пакета iputils (или iputils-ping ), который предустановлен почти во всех дистрибутивах Linux. Он также доступен в Windows, macOS и FreeBSD.
Как использовать команду Ping
Синтаксис команды ping следующий:
Чтобы лучше проиллюстрировать, как работает команда ping, давайте пингуем google.com :
Результат будет выглядеть примерно так:
Команда ping преобразует доменное имя в IP-адрес и начинает отправку пакетов ICMP на IP-адрес назначения. Если IP-адрес назначения доступен, он ответит, и команда ping напечатает строку, содержащую следующие поля:
- Количество байтов данных. По умолчанию 56, что переводится в 64 байта данных ICMP — 64 bytes .
- IP-адрес назначения — from muc11s01-in-f14.1e100.net (172.217.22.206) .
- Порядковый номер ICMP для каждого пакета. icmp_seq=1 .
- Время жить. — ttl=53 — Как работает TTL? .
- Время проверки связи, измеряемое в миллисекундах, которое представляет собой время прохождения пакета туда и обратно до хоста и время ответа для возврата отправителю. — time=41.4 ms .
По умолчанию интервал между отправкой нового пакета составляет одну секунду.
Команда ping будет продолжать отправлять пакеты ICMP на IP-адрес назначения, пока не получит прерывание. Чтобы остановить команду, просто нажмите Ctrl+C
После остановки команды отображается статистика, включая процент потери пакетов. Потеря пакета означает, что данные были потеряны где-то в сети, что указывает на проблему в сети. В случае потери пакета вы можете использовать команду traceroute чтобы определить место потери пакета.
Если ping не возвращает ответа, это означает, что сетевое соединение не установлено. Когда это происходит, это не всегда означает, что IP-адрес назначения неактивен. Некоторые хосты могут иметь брандмауэр, который блокирует трафик ICMP или не отвечает на запросы ping.
В случае успеха команда ping завершается с кодом 0 . В противном случае он выйдет с кодом 1 или 2 . Это может быть полезно при использовании утилиты ping в сценарии оболочки.
В следующих разделах мы рассмотрим наиболее часто используемые параметры команды ping .
Укажите количество пакетов
Как уже упоминалось, по умолчанию ping будет продолжать отправлять пакеты ICMP, пока не получит сигнал прерывания. Чтобы указать количество пакетов Echo Request, которые должны быть отправлены, после чего ping завершится, используйте параметр -c за которым следует количество пакетов:
Например, чтобы пинговать linuxize.com только один раз, вы должны использовать:
Укажите исходный интерфейс
По умолчанию команда ping отправляет пакеты ICMP по маршруту по умолчанию. Если у вас есть несколько интерфейсов на вашем компьютере, вы можете указать исходный интерфейс с параметром -I :
Следующая команда будет пинговать linuxize.com используя em2 в качестве исходного интерфейса:
Укажите Интернет-протокол
Когда вы запускаете команду ping , она будет использовать IPv4 или IPv6, в зависимости от настроек DNS вашего компьютера.
Чтобы заставить ping использовать IPv4, передайте параметр -4 или используйте его псевдоним ping4 :
Для IPv6 передайте опцию -6 или используйте ping6 :
Выводы
ping — это сетевая утилита командной строки, которая позволяет вам проверить возможность подключения на уровне IP определенного хоста в сети.
Чтобы просмотреть все доступные параметры команды ping , введите в терминале man ping .
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Источник
Мониторинг сети в Linux (ping, traceroute, mtr)
Существует несколько хороших утилит, позволяющих искать неисправности в сети на уровне TCP/IP. Большинство из них выдает низкоуровневую информацию, поэтому для того чтобы пользоваться ими, нужно хорошо понимать принципы работы протоколов TCP/IP и маршрутизации. В этой статье мы рассмотрим основные инструменты поиска неисправностей в сети: утилитами ping, traceroute и mtr.
Утилита ping
Проверка доступности компьютера
Утилита ping предназначена для того, чтобы при помощи отправки ICMP пакетов убедиться в работоспособности хоста. Команда ping посылает запрос (ICMP ECHO_REQUEST) конкретному компьютеру и фиксирует поступающие ответы (ICMP ECHO_RESPONSE). Её можно применять для работоспособности отдельных компьютеров и сегментов сети. В обработке ее запроса участвуют таблицы маршрутизации, физические компоненты сетей и сетевые шлюзы, поэтому для достижения успешного результата сеть должна быть в более или менее рабочем состоянии. Если команда не работает, можно быть совершенно уверенным в том, что более сложные средства тем более не функционируют. Однако это правило неприменимо в сетях, где брандмауэры блокируют эхо-запросы ICMP. Убедитесь в том, что брандмауэр не препятствует работе команды ping, прежде чем подозревать, что зондируемый компьютер игнорирует эту команду. В конце концов, отключите на короткое время брандмауэр для проверки работоспособности сети.
Если не задан аргумент «число пакетов», команда ping работает в бесконечном цикле. Чтобы прервать работу команды, нужно нажать специальную клавиатурную комбинацию .
Например, пропингуем neoserver.ru (это имя хоста):
Информация о компьютере neoserver.ru включает его IP-адрес, порядковый номер ответного ICMP-пакета и полное время прохождения пакета. Полученные результаты свидетельствуют о том, что компьютер neoserer.ru работает и подключен к сети.
Min — минимальное время ответа хоста, кторому был отправлен запрос.
Avg — среднее время ответа хоста, кторому был отправлен запрос
Max — максимальное время ответа хоста, кторому был отправлен запрос.
Ещё вы увидите TTL — определяет максимальное количество хопов (то есть прыжок, участок между маршрутизаторами), которые пакет может пройти. Наличие этого параметра не позволяет пакету бесконечно ходить по сети.
В ОС Linux, как уже было сказано выше, команда ping без дополнительных параметров будет пинговать заданный хост бесконечно. Чтобы отправить, например, 10 запросов, необходимо добавить ключ -с:
В итоге, мы видим, что было отпралено 10 запросов и выведен результат.
Другие примеры задействования разын ключей:
Не резолвить имена адресов, выводить только ip-адреса
Завершение работы ping по заданному времени (тут 5 секунд)
Установить размер отправляемых пакетов в 1000 байт
Увеличить интервал времени пинга на 3 секунды
Утилита traceroute
Каждый пакет проходит на своем пути определенное количество узлов, пока достигнет своей цели. И, как мы уже знаем, каждый пакет имеет свое время жизни. Это количество узлов, которые может пройти пакет перед тем, как он будет уничтожен. Этот параметр записывается в заголовке TTL, каждый маршрутизатор, через который будет проходить пакет уменьшает его на единицу. При TTL=0 пакет уничтожается, а отправителю отсылается сообщение Time Exceeded.
Команда traceroute linux использует UDP пакеты. Она отправляет пакет с TTL=1 и смотрит адрес ответившего узла, дальше TTL=2, TTL=3 и так пока не достигнет цели. Каждый раз отправляется по три пакета и для каждого из них измеряется время прохождения. Пакет отправляется на случайный порт, который, скорее всего, не занят. Когда утилита traceroute получает сообщение от целевого узла о том, что порт недоступен трассировка считается завершенной.
Синтаксис утилиты не сложный:
Адресом узла может служить как IP адрес, так и доменное имя. Основные опции:
Для примера, выпоним трасировку к ресурсу yandex.ru:
В итоге, пакет прошел через 6 узлов перед тем, как дойти до указанного хоста. На каждый узел отправлялось по три пакета и для каждого из них было засечено время прохождения. И если на одном из узлов возникнет проблема, теперь вы будете знать на каком.
Иногда, вместо одного узла вы можете видеть звездочки. Это значит, что шлюзы либо не высылают нам ICMP с сообщением «time exceeded», либо у их сообщений слишком маленький TTL и оно нас не достигает. В точности нельзя сказать, что происходит на самом деле, но ясно, что по какой-то причине хост не захотел нам отвечать:
Бывает, что трассировка с помощью UDP не работает, это может произойти потому, что фаервол блокирует все лишние пакеты. Можно воспользоваться ICMP с помощью опции -I:
Рассмотреных выше простых примеров, вполне достаточно для первичной диагностики сети как для обычныз пользователей, так и для начинающих администраторов.
Утилита MTR
MTR – это альтернатива программе traceroute. Объединяя функции ping и traceroute, mtr позволяет постоянно опрашивать удаленный сервер и отслеживать изменения задержки и производительности с течением времени.
Синтаксис утилиты также несложный:
Вывод похож на traceroute, но mtr имеет существенное преимущество – ее вывод постоянно обновляется. Это позволяет собирать средние показатели, а также отслеживать тенденции и изменения производительности сети. Как и с утилитой ping, mtr будет работать бесконечно. Чтобы прервать работу команды, нужно нажать специальную клавиатурную комбинацию .
Источник