Комплексное руководство по проверке прослушиваемых портов на сервере

Мониторинг прослушиваемых портов на сервере имеет решающее значение для сетевых администраторов и системных операторов, поскольку позволяет обеспечить безопасность и устранить проблемы с подключением. В этой статье мы рассмотрим различные методы проверки прослушиваемых портов на сервере, а также примеры кода. В результате у вас будет набор инструментов, которые помогут вам эффективно управлять сетевым подключением вашего сервера и обеспечивать его безопасность.

Метод 1: команда Netstat:
Netstat — это утилита командной строки, доступная в большинстве операционных систем. Он предоставляет подробную информацию о сетевых подключениях, включая порты прослушивания. Вот пример использования netstat:

$ netstat -tuln

Метод 2: сканер портов Nmap:
Nmap — мощный инструмент с открытым исходным кодом для исследования сети и аудита безопасности. Он может сканировать и обнаруживать открытые порты на сервере. Установите Nmap (если он еще не установлен) и выполните следующую команду:

$ nmap -p 1-65535 <server_ip>

Метод 3: Команда PowerShell:
Для серверов Windows PowerShell предлагает удобный способ проверки прослушиваемых портов. Используйте следующую команду:

PS C:\> Get-NetTCPConnection -State Listen

Метод 4. Использование Telnet:
Telnet — это популярный сетевой протокол, который можно использовать для установления соединения с определенным портом. Если соединение успешное, это означает, что порт открыт и прослушивается. Выполните следующую команду:

$ telnet <server_ip> <port_number>

Метод 5. Использование модуля сокетов Python.
Модуль сокетов Python обеспечивает независимый от платформы способ взаимодействия с сетевыми сокетами. Вот пример фрагмента кода, позволяющий проверить, прослушивается ли порт:

import socket
def check_port(ip, port):
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    result = sock.connect_ex((ip, port))
    if result == 0:
        print("Port {} is open and listening.".format(port))
    else:
        print("Port {} is closed.".format(port))
    sock.close()
# Usage
check_port("<server_ip>", <port_number>)