Показать статистику
0 голосов
от (4.6тыс. баллов)

Как можно проверить открыт ли опредленный порт на заданном IP адресе? 

То есть мне нужно что то вроде:

ping ip_address port_number

Кто подскажет?

23.6тыс. просмотров 3 ответов

3 Ответы

+1 голос
от (17.4тыс. баллов)

Порт нельзя проверить утилитой ping. Пинг использует протокол ICMP, там портов нет. Согласно сетевой модели OSI, ICMP находится на третьем (сетевом уровне). Порты начинаются со следующего, транспортного уровня модели OSI. То есть там, где находятся протоколы UDP и TCP.

Ответ на ваш вопрос - использование утилиты nmap. Это сетевой сканер с множеством опций. Для вашей конкретной задачи можно выполнить нечто вроде:

nmap -p 443 mydomain.com
0 голосов
от (2.4тыс. баллов)

Можно использовать telnet. Вот пример:

telnet ya.ru 80
Trying 87.250.250.242...
Connected to ya.ru.
Escape character is '^]'.

Как понятно из сообщения выше, если указанный порт открыт, то будет написано "Connected to ..."

Что бы завершить сессию, нажмите Ctrl + ]

Можно также использовать netcat (nc):

nc -vz ya.ru 80
found 0 associations
found 1 connections:
     1:flags=82<CONNECTED,PREFERRED>
outif en0
src 10.214.53.46 port 65467
dst 87.250.250.242 port 80
rank info not available
TCP aux info available

Connection to ya.ru port 80 [tcp/http] succeeded!
0 голосов
от (4.5тыс. баллов)

Для проверки открыт ли определенный порт на заданном IP-адресе в Linux, вы можете использовать утилиту nc (netcat) или nmap. Вот как это сделать с помощью каждой из этих утилит:

  1. Используя nc (netcat): 
    nc -zv ip_address port_number

    Здесь флаг -z указывает на то, что netcat должен работать в режиме "сканирования" (т.е. без установления соединения), а флаг -v включает подробный вывод.

    Например, если вы хотите проверить, открыт ли порт 80 на IP-адресе 192.168.1.1, введите: 

    nc -zv 192.168.1.1 80
    
  2. Используя nmap
    nmap -p port_number ip_address
    

    Например, чтобы проверить, открыт ли порт 80 на IP-адресе 192.168.1.1, введите: 

    nmap -p 80 192.168.1.1
    

    Обратите внимание, что nmap - это мощный инструмент для сканирования сети и может потребовать установки, если он еще не установлен на вашей системе. Вы можете установить его с помощью пакетного менеджера вашего дистрибутива (например, apt, yum или pacman).

...