Открыть порт на прослушивание для проверки

  • Михаил
  • 10 мин. на прочтение
  • 264
  • 25 Aug 2023
  • 25 Aug 2023

В работе системного администратора иногда возникает необходимость предварительной настройки и проверки оборудования. На сервере ещё нет службы, которая бы слушала определённый порт, но нужно настроить оборудование и проверить, что доступ к нему открыт. Убедиться, что правильно настроен firewall, сетевое оборудование и т.д.. Или бывает так, что служба есть, но не понятно, то ли доступ к порту закрыт, то ли служба не работает.

Для решения этой задачи, нужен какой-то способ, какой-то инструмент, которую можно запустить и сказать ей слушать определённый порт. Чтобы проверить тем же telnet-ом, что порт открыт.

telnet 31.31.198.246 22

Будем использовать для наших целей Powershell.

Создаем скрипт openPort.ps1 в Powershell ISE не работает ожидание нажатия клавиши.

# Сначала мы создаём слушателя (listener) и указываем, какой порт будем слушать.
# В данном случае мы указали 9443-й порт.
$Listener = [System.Net.Sockets.TcpListener]9443;

# Затем запускаем его.
# Он будет слушать порт и мы сможем подключиться к нему через telnet.
$Listener.Start();

# Ждем нажатия клавиши, перед закрытием порта
Write-Host "Press any key to continue … or Ctrl+C to abort"

$host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")

# Чтобы закрыть порт останавливаем listener
$Listener.Stop();

Запускаем, проверяем.