Sobes.tech
Back to questions
Junior — Middle
79

Каким образом можно убедиться, что определённый порт на удалённой машине доступен для соединения?

Companies where asked
ЯндексЯндекс

Answer from AI

sobes.tech AI

Чтобы проверить доступность определённого порта на удалённой машине, можно использовать несколько способов:

  1. Команда telnet
telnet <ip-адрес> <порт>

Если соединение установлено, значит порт открыт.

  1. Команда nc (netcat)
nc -zv <ip-адрес> <порт>

Опция -z проверяет только открытие порта без передачи данных, -v — выводит подробности.

  1. Использование утилиты nmap
nmap -p <порт> <ip-адрес>

Показывает статус порта (открыт, закрыт, фильтруется).

  1. Программно (например, на Python)
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(3)  # таймаут 3 секунды
result = sock.connect_ex(('ip-адрес', порт))
if result == 0:
    print('Порт открыт')
else:
    print('Порт закрыт или недоступен')
sock.close()

Таким образом, проверка порта сводится к попытке установить TCP-соединение с указанным адресом и портом.