Junior — Middle
Como é que se pode verificar se uma porta específica numa máquina remota está acessível para conexão?
sobes.tech IA
Resposta da 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-соединение с указанным адресом и портом.