Команда ping
- это сетевой инструмент для проверки работоспособности удаленной системы. Другими словами, команда определяет, доступен ли определенный IP-адрес или хост. Ping использует протокол сетевого уровня, называемый Internet Control Message Protocol (ICMP), и доступен во всех операционных системах.
С другой стороны, номера портов принадлежат протоколам транспортного уровня, таким как TCP и UDP. Номера портов помогают определить, куда пересылается Интернет или другое сетевое сообщение, когда оно приходит.
В этом руководстве вы узнаете, как проверить связь с портом в Windows и Linux с помощью различных инструментов.
Можно ли пропинговать конкретный порт?
Сетевые устройства используют протокол ICMP для отправки сообщений об ошибках и информации о том, успешна ли связь с IP-адресом. ICMP отличается от транспортных протоколов, поскольку ICMP не используется для обмена данными между системами.
Ping использует пакеты ICMP, а ICMP не использует номера портов, что означает, что порт не может быть опрошен. Однако мы можем использовать ping с аналогичным намерением - чтобы проверить, открыт порт или нет.
Некоторые сетевые инструменты и утилиты могут имитировать попытку установить соединение с определенным портом и ждать ответа от целевого хоста. Если есть ответ, целевой порт открыт. В противном случае целевой порт закрывается или хост не может принять соединение, потому что нет службы, настроенной для прослушивания подключений на этом порту.
Как пропинговать определенный порт в Linux?
Вы можете использовать три инструмента для проверки связи порта в Linux:
- Telnet
- Netcat (NC)
- Network Mapper (nmap)
Пинг определенного порта с помощью Telnet
Telnet - это протокол, используемый для интерактивной связи с целевым хостом через соединение виртуального терминала.
1. Чтобы проверить, установлен ли уже telnet
, откройте окно терминала и введите:
telnet
2. Если telnet
не установлен, установите его с помощью следующей команды
- Для CentOS/Fedora:
yum -y install telnet
- Для Ubuntu:
sudo apt install telnet
3. Чтобы пропинговать порт с помощью telnet
, введите в терминале следующую команду:
telnet [address] [port_number]
Где [address]
- это домен или IP-адрес хоста, а [port_number]
- это порт, который вы хотите проверить.
telnet google.com 443
Если порт открыт, 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 не установлен, выполните в терминале следующую команду:
sudo apt install netcat
3. Чтобы пропинговать порт с помощью netcat
, введите следующее:
nc -vz [address] [port_number]
Выходные данные информируют пользователя об успешном подключении к указанному порту. В случае успеха - порт открыт.
Пинг определенного порта с помощью 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 в системе используйте следующую команду для проверки связи определенного порта:
nmap -p [port_number] [address]
Выходные данные информируют пользователя о состоянии порта и типе службы, задержке и времени, прошедшем до завершения задачи.
4. Чтобы проверить связь с более чем одним портом, введите nmap -p [number-range] [address]
.
Синтаксис [number-range]
- это диапазон номеров портов, которые вы хотите пропинговать, разделенные дефисом. Например:
nmap -p 88-93 google.com
Как пропинговать определенный порт в Windows?
Проверить связь с портом в Windows можно двумя способами:
- Telnet
- PowerShell
Пинг определенного порта с помощью Telnet
Перед использованием telnet убедитесь, что он активирован:
- Откройте панель управления.
- Щелкните «Программы», а затем «Программы и компоненты».
- Выберите «Включение или отключение компонентов Windows».
- Найдите клиент Telnet и установите флажок. Щелкните ОК.
Готово! Вы активировали клиент Telnet в системе.
После завершения активации можно пропинговать порт с помощью telnet. Для этого:
1. Введите cmd
в поиске в меню «Пуск». Щелкните на приложение Командная строка.
2. В окне командной строки введите
telnet [address] [port_number]
Где [address]
- это домен или IP-адрес хоста, а [port_number]
- это порт, который вы хотите проверить.
Выходные данные позволяют узнать, открыт ли порт и доступен ли он, иначе отображается сообщение об ошибке подключения.
Пинг определенного порта с помощью PowerShell
PowerShell - это текстовая оболочка, которая по умолчанию поставляется с Windows.Чтобы проверить связь с портом с помощью PowerShell, выполните следующие действия:
1. Введите PowerShell
в поиске в меню «Пуск». Щелкните приложение Windows PowerShell.
2. В окне командной строке PowerShell введите:
Test-NetConnection [address] -p [port_number]
Если порт открыт и соединение прошло успешно, проверка TCP прошла успешно. В противном случае появится предупреждающее сообщение о том, что TCP-соединение не удалось.
Заключение
Теперь вы знаете, как выполнить эхо-запрос и проверить, открыт ли порт, с помощью нескольких сетевых инструментов и утилит в Linux и Windows.