Check Port – проверка открытости портов на сервере
Для проверки доступности порта на удаленном хосте можно использовать различные инструменты и программы. Вот некоторые из них:
1. Nmap
Nmap – это мощный инструмент для анализа сети, который также может использоваться для проверки доступности порта. Ниже приведен пример команды для проверки порта 80 на удаленном хосте:
bash
nmap -p 80
2. Telnet
Telnet – это протокол, с помощью которого можно установить соединение с удаленным хостом по TCP. Примером кода для проверки порта 22 на удаленном хосте с использованием Telnet является:
bash
telnet 22
3. Python
С использованием языка программирования Python также можно проверять доступность порта на удаленном хосте. Ниже приведен пример кода:
python
import socket
ip_address = ""
port = <порт>
timeout = <таймаут_подключения>
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(timeout)
result = sock.connect_ex((ip_address, port))
if result == 0:
print("Порт доступен")
else:
print("Порт недоступен")
sock.close()
Этот код создает объект сокета и затем пытается установить соединение с удаленной машиной по указанному адресу и порту. Результат выполняемого подключения проверяется, и выводится соответствующее сообщение.
4. PowerShell
Если вы работаете в среде Windows, можно использовать PowerShell для проверки портов на удаленном хосте. Пример кода:
powershell
$ipAddress = ""
$port = <порт>
$socket = New-Object System.Net.Sockets.Socket -ArgumentList @( [System.Net.Sockets.AddressFamily]::InterNetwork, [System.Net.Sockets.SocketType]::Stream, [System.Net.Sockets.ProtocolType]::Tcp )
$timeout = New-Object System.TimeSpan -ArgumentList @(0, 0, 10) # 10 секунд тайм-аут
$result = $socket.BeginConnect($ipAddress, $port, $null, $null)
$success = $result.AsyncWaitHandle.WaitOne($timeout, $false)
if($success) {
Write-Host "Порт доступен"
} else {
Write-Host "Порт недоступен"
}
$socket.Close()
Этот код использует класс System.Net.Sockets.Socket для установки соединения с удаленным хостом по указанному адресу и порту. Таймаут подключения также задается для ограничения времени ожидания.
Надеюсь, эти примеры кода помогут вам в проверке доступности порта на удаленном хосте.