Как узнать чем занят порт mac os

Как узнать, какие процессы имеют открытые порты TCP / IP в Mac OS X?

Как узнать, какие процессы имеют открытые порты TCP / IP в Mac OS X ?

Одной из альтернатив является использование lsof утилиты; в частности, lsof -i 4tcp будут перечислены все процессы с открытыми сетевыми сокетами TCP IPv4. Страница man lsof предоставит вам подробную информацию о том, как использовать утилиту и как интерпретировать вывод.

Если вас интересует конкретный порт, вы можете использовать этот пример:

Если вы хотите получить только идентификатор процесса, вы можете запустить это:

Я использую приведенную ниже команду, когда хочу увидеть все, что находится на определенном порте для TCP или UDP. Этот -n параметр отключает попытки преобразования IP-адресов в доменные имена, а также -P отключает попытки выяснить имя определенного порта. Кроме того, выполнение as root покажет вам больше процессов, чем обычного пользователя.

sudo lsof -iTCP:53 -iUDP:53 -n -P

В следующем примере кода перечислены все запущенные TCP-серверы на вашем локальном компьютере с OSX:

LISTEN показывает только сокеты, прослушивающие соединения. То есть серверы.

Первая строка показывает сервер , привязанные к localhost , он же 127.0.0.1 , порт 2022 . Он будет отвечать на локальные запросы, но не на интернет-запросы.

Вторая строка — это сервер, связанный со всеми адресами, т. Е. * Порт 3141 . Он будет отвечать на запросы Интернет.

Чтобы вывести список портов, используемых клиентами и серверами, используйте следующее:

Это должно быть возможно в окне терминала с помощью команды Netstat .

И если вам больше нравится GUI:

В Mac OS X 10.5 папка / Applications / Utilities содержит сетевую утилиту под названием: Network Utility, см. На вкладке Netstat эти статистические данные, представленные в приложении графического интерфейса, а также Ping, Lookup, Traceroute, Whois, Finger и Port Scan.

Источник

Как использовать сканер портов в сетевой утилите Mac OS X

Mac OS X поставляется со встроенным сканером портов, просто одним из множества функций, заправленных в когда-либо полезное приложение Network Utility. Это означает, что вам не нужно беспокоиться о командной строке или устанавливать более сложные инструменты, такие как nmap, для быстрого сканирования открытых портов в заданном IP или домене, вместо этого вы можете сделать это через дружественный графический интерфейс. Несмотря на то, что это довольно продвинутая утилита, на самом деле она очень проста в использовании.

Быстрое оповещение: помните, что более новые версии OS X переместили Network Utility для захоронения в системной папке, это не значит, что ее нельзя использовать, это просто означает, что вам нужно либо сделать псевдоним, либо запустить его из Spotlight, или получить от него информацию о системе. В целях этого пошагового руководства мы будем использовать Spotlight для запуска Network Utility и запуска сканирования, поскольку это самый простой и быстрый маршрут, хотя, если вы планируете часто использовать инструмент, вы, вероятно, захотите сделать псевдоним самостоятельно. Хорошо, давайте перейдем к сканирующим портам.

Читайте также:  Windows не удалось завершить настройку системы при установке

Сканировать порты по IP или домену из Mac OS X

Вы можете выбрать любой локальный или удаленный IP-адрес для сканирования, если вы одиноки в сети (или даже воздушно-gapped) и все еще хотите попробовать это самостоятельно, используйте в качестве цели IP-адрес «127.0.0.1»:

  1. Hit Command + Spacebar для вызова Spotlight и введите «Network Utility», а затем ключ возврата для запуска приложения Network Utility
  2. Выберите вкладку «Сканирование портов»
  3. Введите IP-адрес или доменное имя, которое вы хотите отсканировать для открытых портов, и выберите «scan»
  4. Необязательно, но не обязательно рекомендуется, вы можете установить диапазон портов для сканирования между ними, если вы просто хотите найти определенный набор активных служб

127.0.0.1 или «localhost» будет просто проверять локальный Mac для открытых портов, если вы новичок в сканировании портов, что может быть предпочтительным способом, поскольку наиболее разумно хорошо защищенные удаленные домены отклоняют входящие запросы или не реагируют на них ,

Пусть запущен инструмент сканирования портов, и вы быстро начнете видеть любые открытые порты TCP и их традиционно идентифицированное использование. Например, вы можете увидеть что-то вроде этого, если вы сканируете localhost (127.0.0.1):

Началось сканирование портов …
Хост порта сканирования: 127.0.0.1
Открыть TCP-порт: 22 ssh
Открыть TCP-порт: 80 http
Открытый TCP-порт: 88 kerberos
Открыть TCP-порт: 445 microsoft-ds
Открытый TCP-порт: 548 afpovertcp
Открыть TCP-порт: 631 ipp
Открыть TCP-порт: 3689

Видимые порты будут отличаться для каждой машины в зависимости от того, какие сервисы и серверы доступны, но если вы сканируете Mac и ПК, вы обычно найдете веб-серверы, SMB-порт для совместного использования Windows 445, AFP Apple File Sharing на порту 548, возможно, активный видимый SSH-сервер на 22, UDP-серверах и, возможно, множество других. Сканирование порта будет довольно высоким, поскольку оно сканирует, поэтому просто отпустите его, если вы хотите увидеть все.

Если вы видите абсолютно ничего, но вы знаете, что IP активен с открытыми службами, либо машина не транслируется, машина-получатель отклоняет все запросы, либо может быть настроен сильный брандмауэр. Это делает портативный сканер Network Utility отличным способом быстро проверить безопасность и проверить потенциальные уязвимости или активные службы на соседних компьютерах Mac, iOS, Windows, Linux-машинах и других компьютерах.

Сетевая утилита, очевидно, ограничена Mac, и, хотя на стороне iOS нет встроенных инструментов, можно выполнить сканирование портов с iPhone и iPad с помощью приложения для пальцев — бесплатный инструмент, который очень удобно дополняет расширенный набор инструментов для пользователей iOS.

Источник

Как мне узнать, какое приложение использует какой порт?

Я смотрел на вывод netstat на MacBook. Я заметил, что некоторые приложения позволяют вам указать, какой порт он использует. Например, utorrent позволяет вам сделать это. Я выбрал порт 55743, затем запустил netstat | grep 55743 и вывод был следующий.

Читайте также:  Ошибка при установки драйвера nvidia этот графический драйвер несовместим с данной версией windows

Когда я utorrent порт освобождается. Но, если я не знал номер порта, то как я могу узнать, какое приложение использует какой порт? И возможно ли, чтобы некоторые приложения тайно использовали порты для связи с устройствами внешних серверов?

2 ответа 2

Как отметил Дэвид Хоуд, lsof -i — ваш друг, дает вам снимок текущих соединений / операций с сокетами . К сожалению, в OS X netstat не поддерживает эту функцию.

Другие варианты включают в себя:

Activity Monitor.app позволяет просматривать файлы и порты, открытые приложением. Это можно сделать, дважды щелкнув по процессу и открыв вкладку «Открыть файлы и порты».

Dtrace — проверьте скрипт soconnect, который дает вам непрерывную информацию о сетевых операциях, пока вы не выйдете (control+c). Пример вывода:

Одно приложение, которое мне лично очень нравится, это немного стукач, но это коммерческое программное обеспечение. Хотя это программное обеспечение брандмауэра для настольных компьютеров, у него есть ряд функций, которые могут быть вам интересны:

  • сетевой монитор, который сообщает, какие приложения куда подключаются (аналогично выходу soconnect.d)
  • захватывать сетевой трафик для каждого приложения (т. е. аналогично wireshark, вы можете наблюдать за сетевым трафиком, но ограничивать его только конкретным приложением)

Чтобы ответить на ваш второй вопрос — да, в традиционных операционных системах (например, OS X, Windows) приложения имеют возможность подключаться к сторонним системам различными способами и отправлять что угодно. Ряд брандмауэров настольных компьютеров пытаются решить эту проблему, позволяя указать, к чему может подключаться каждое приложение, создавая своего рода белый список. Как и все остальное в сфере безопасности, этот подход не лишен недостатков.

пс. У меня нет связи с поставщиками брандмауэров для настольных компьютеров 🙂

Источник

Как узнать, какие процессы имеют открытые порты TCP/IP в Mac OS X?

Как узнать, какие процессы имеют открытые порты TCP/IP в Mac OS X?

5 ответов 5

Одной из альтернатив является использование утилиты lsof ; в частности, lsof -i 4tcp выведет список всех процессов с открытыми сетевыми сокетами TCP IPv4. Man- страница lsof предоставит вам подробную информацию о том, как использовать утилиту и как интерпретировать вывод.

Если вас интересует конкретный порт, вы можете использовать этот пример:

Если вы хотите получить только идентификатор процесса, вы можете запустить это:

Я использую приведенную ниже команду, когда хочу увидеть все, что находится на определенном порте для TCP или UDP. Опция -n отключает попытку преобразования IP-адресов в доменные имена, а -P отключает попытки выяснить имя определенного порта. Кроме того, запуск от имени пользователя root покажет вам больше процессов, чем от имени обычного пользователя.

sudo lsof -iTCP:53 -iUDP:53 -n -P

В следующем примере кода перечислены все запущенные TCP-серверы на вашем локальном компьютере с OSX:

LISTEN показывает только сокеты, прослушивающие соединения. То есть серверы.

Первая строка показывает сервер, связанный с localhost , он же 127.0.0.1 , порт 2022 . Он будет отвечать на локальные запросы, но не на интернет-запросы.

Вторая строка — это сервер, связанный со всеми адресами, т.е. * , порт 3141 . Он будет отвечать на запросы Интернет.

Читайте также:  Other windows web browsers

Для просмотра списка портов, используемых клиентами и серверами, используйте следующее:

Источник

Find the Process Listening to Port on Mac OS X

Step-by-Step

To find the process that is listening to a port on Mac OS X, we’ll use the lsof command to find the process ID (PID), and the ps command to show the name.

Find the Process ID (PID)

There are two different ways we can use to find the process that is listening to a port on Mac OS X.

Find the Process ID (PID) Using lsof

Using the lsof command we can find the process ID (PID) for a specific port that is in a LISTEN state. In a terminal type the following and replace the “

” with our port number.

This generates output that looks like this:

In the output above the PID (process ID) is the second value, in this example output the process ID (PID) is “63851”. This command will also print out the port number, which is 9999 in the above output example.

Find the Process ID (PID) Using netstat

Using the nestat command we can find the process ID (PID) for a specific port. In a terminal type the following and replace the “

” with our port number.

This generates output that looks like this:

In the output above the PID (process ID) is the ninth value (the fourth value from the end), in this example output the process ID (PID) is “63851”. This command will also print out the port number, which is 9999 in the above output example.

Find the Process Name

We can now use the process status command ps to display the process name for the process ID (PID).

This generates output that looks like this:

In the output above the process name is the last value “the-process.” Now we know the name of the process that is listening to the port. The reason as to why the grep command is listed twice is to avoid displaying the process ID (PID) for the grep command itself.

Other Useful Commands

How to Kill or Stop the Process by PID

You can kill the process by process ID (PID) using the kill command. Replace “

” with the process ID from lsof or netstat.

The lsof Command

The lsof command lists open files. Network sockets count as files, so each open network socket, either listening or actively in use is listed by lsof. In addtion you can run the man lsof command to display all the different options for lsof.

lsof can take a very long time to execute, so I suggest that you use -n (inhibits the conversion of network numbers to host names for network files) and -P (inhibits the conversion of port numbers to port names for network files) to speed it up.

Источник

Оцените статью