Junior — Middle
¿Cómo se puede verificar que un puerto específico en una máquina remota está accesible para la conexión?
sobes.tech AI
Respuesta de la IA
Чтобы проверить доступность определённого порта на удалённой машине, можно использовать несколько способов:
- Команда telnet
telnet <ip-адрес> <порт>
Если соединение установлено, значит порт открыт.
- Команда nc (netcat)
nc -zv <ip-адрес> <порт>
Опция -z проверяет только открытие порта без передачи данных, -v — выводит подробности.
- Использование утилиты nmap
nmap -p <порт> <ip-адрес>
Показывает статус порта (открыт, закрыт, фильтруется).
- Программно (например, на 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-соединение с указанным адресом и портом.