Методы получения используемых портов в macOS: примеры командной строки и Python

Чтобы получить список используемых портов в системе macOS, вы можете использовать различные методы. Вот несколько подходов с примерами кода:

Метод 1. Использование утилиты командной строки lsof

lsof -i | grep LISTEN

Эта команда выводит список всех открытых файлов (включая сетевые подключения) и фильтрует вывод, чтобы отображались только прослушиваемые порты.

Метод 2: использование инструмента командной строки netstat

netstat -an | grep LISTEN

Эта команда отображает сетевые подключения, включая прослушиваемые порты, и фильтрует выходные данные, чтобы отображались только прослушиваемые сокеты.

Метод 3. Использование библиотеки Python psutil

import psutil
for conn in psutil.net_connections():
    if conn.status == psutil.CONN_LISTEN:
        print(f"Port: {conn.laddr.port}")

Этот код Python использует библиотеку psutilдля получения сетевых подключений и фильтрует выходные данные для отображения только прослушиваемых портов.

Метод 4. Использование библиотеки Python lsock

from lsock import LSock
lsock = LSock()
for conn in lsock.connections(kind='inet', state='LISTEN'):
    print(f"Port: {conn.laddr.port}")

Библиотека lsockпредоставляет интерфейс для получения информации об открытых сокетах. Этот код получает прослушиваемые порты с помощью библиотеки lsock.