Mac os кто слушает порт
Узнайте больше о портах TCP и UDP, используемых продуктами Apple, такими как macOS, macOS Server, Apple Remote Desktop и iCloud. Многие из этих портов являются распространенными стандартными портами.
Администраторы сети могут использовать эти сведения для организации доступа компьютеров Mac и других устройств Apple к таким службам, как магазин App Store и серверы обновлений Apple.
Порты, используемые продуктами Apple
Здесь приведен не полный перечень портов, а краткое справочное руководство с самыми распространенными примерами. Это руководство периодически обновляется информацией, доступной на момент публикации.
Некоторое ПО может использовать другие порты и службы, поэтому при настройке брандмауэра и похожих систем управления доступом могут понадобиться программы для наблюдения за портами.
Некоторые службы могут использовать более одного из этих портов. Например, служба VPN может использовать до четырех различных портов. После нахождения продукта в списке выполните поиск (Command-F) в браузере по этому имени, а затем повторите поиск (Command-G), чтобы найти все упоминания данного продукта.
Некоторые брандмауэры позволяют выборочно настраивать порты UDP или TCP с одинаковым номером, поэтому важно знать тип настраиваемого порта. Например, NFS может использовать TCP 2049, UDP 2049 или оба этих порта. Если в брандмауэре не предусмотрено указание типа порта, вероятнее всего, изменение одного порта может повлиять на другой.
«Почта» (отправка почты); «Почта iCloud» (отправка почты)
Podcast Capture/CLI подкаста
Podcast Capture/CLI подкаста
2. Количество документов RFC (Request For Comment), описывающих службу или протокол. Документы RFC утверждаются компанией RFC Editor.
3. В результатах выполнения команд в программе «Терминал» номера портов могут заменяться названием службы, взятым из списка /etc/services.
Технология FaceTime доступна не во всех странах и регионах.
Дополнительная информация
Брандмауэр для программ в macOS не является брандмауэром на основе портов. Он управляет доступом отдельных программ, а не доступом к портам.
Информация о продуктах, произведенных не компанией Apple, или о независимых веб-сайтах, неподконтрольных и не тестируемых компанией Apple, не носит рекомендательного или одобрительного характера. Компания Apple не несет никакой ответственности за выбор, функциональность и использование веб-сайтов или продукции сторонних производителей. Компания Apple также не несет ответственности за точность или достоверность данных, размещенных на веб-сайтах сторонних производителей. Обратитесь к поставщику за дополнительной информацией.
Запуск Netstat
Команда netstat доступна на Mac по умолчанию. Это не должно быть загружено или установлено.
Чтобы запустить netstat, откройте окно терминала. Если вы не знакомы с терминалом, его можно найти по адресу /Applications/Utilities/Terminal.app. Введите netstat и нажмите Enter , чтобы выполнить команду.
Вы заметите, что огромное количество загадочного текста начнет прокручиваться на вашем экране. Это нормально и ожидаемо. Без каких-либо дополнительных опций netstat сообщит обо всех активных сетевых подключениях на вашем Mac. Учитывая количество функций, которые выполняет современное сетевое устройство, вы можете ожидать, что список будет длинным. Стандартный отчет netstat может содержать более 1000 строк.
Фильтрация вывода netstat необходима для понимания того, что происходит на активных портах Mac. Вы можете фильтровать вывод netstat с помощью встроенных флагов. Эти флаги позволяют вам устанавливать параметры, ограничивая область действия и вывод netstat.
Флаги и опции Netstat
Чтобы увидеть все доступные параметры netstat, введите в командной строке man netstat. Это покажет справочную страницу netstat. Вы также можете просмотреть онлайн-версию справочной страницы netstat.
Netstat в macOS не работает так же, как netstat в Windows или netstat в Linux. Использование флагов или синтаксиса из этих реализаций netstat может не привести к ожидаемому поведению.
Если приведенное выше сокращение выглядит совершенно непонятным, научитесь читать синтаксис команды.
-r отображает таблицу маршрутизации, показывающую, как пакеты маршрутизируются по сети.
-p протокол перечисляет трафик, связанный с конкретным сетевым протоколом. Хотя полный список протоколов можно найти в/etc/protocol, наиболее важными из них являются udp и tcp.
-v увеличивает детализацию, в частности, добавляя столбец, показывающий идентификатор процесса (PID), связанный с каждым открытым портом.
-I интерфейс предоставляет пакетные данные для указанного интерфейса. Все доступные интерфейсы можно просматривать с флагом -i, но en0 обычно является исходящим сетевым интерфейсом по умолчанию. Обратите внимание на строчную букву.
-g отображает информацию, связанную с многоадресными подключениями.
-s показывает статистику сети для всех протоколов, независимо от того, активны они или нет.
-n подавляет пометку удаленных адресов именами. Это значительно ускоряет вывод netstat, жертвуя только ограниченной информацией.
-a включает порты сервера в вывод netstat, которые не включены в вывод по умолчанию.
Netstat Примеры
Чтобы применить наше понимание на практике, давайте рассмотрим некоторые примеры netstat.
Эта команда вернет только TCP-соединения на вашем Mac, включая открытые и активные порты. Он также будет использовать подробный вывод с перечислением PID, связанных с каждым соединением.
Доступ к netstat через сетевую утилиту
В дополнение к полнофункциональному использованию через интерфейс командной строки терминала, некоторые функции netstat также доступны через приложение Network Utility. Это встроенное приложение macOS можно найти по адресу/Applications/Utilities/Network Utility.app. Откройте приложение и нажмите вкладку Netstat , чтобы получить доступ к графическому интерфейсу netstat.
Параметры в Network Utility явно гораздо более ограничены, чем те, которые доступны через командную строку. Четыре переключателя выбора просто запускают предустановленную команду netstat и отображают вывод на экране ниже.
Команды netstat для каждого переключателя следующие:
- Показать информацию о таблице маршрутизации запускает netstat -r
- Показать исчерпывающую статистику сети для каждого протокола : запустите netstat -s.
- Показать информацию о многоадресной рассылке запускает netstat -g
- Показать состояние всех текущих соединений с сокетами запускает netstat
Дополнение netstat с помощью lsof
Дело в том, что реализация netstat в macOS не включает в себя большую часть функций, ожидаемых и нужных пользователям. Несмотря на то, что он имеет свои применения, netstat не так полезен в macOS, как в Windows. Другая команда, lsof, может заменить большую часть отсутствующей функциональности.
Отображение каждого открытого файла или подключения к Интернету часто является многословным. Вот почему в lsof есть несколько флагов для ограничения результатов по определенным критериям. Есть много полезных флагов, которые расширяют утилиту команды. Самые важные из них приведены ниже. Для дополнительного чтения, включая дополнительные флаги и технические пояснения по реализации каждого флага, обратитесь к справочной странице lsof или запустите man lsof в командной строке терминала.
флаги и опции
-i отображает все открытые сетевые подключения и имя процесса, который использует подключение. Добавление 4, как в -i4 , приведет к отображению только подключений IPv4. Если вместо этого добавить 6 ( -i6 ), будут отображаться только соединения IPv6.
Флаг -i также может быть расширен для уточнения деталей. -iTCP или -iUDP будут возвращать только соединения TCP и UDP. -iTCP: 25 будет возвращать только TCP-соединения через порт 25. Диапазон портов может быть указан с дефисом, как это -iTCP: 25-50.
Использование [email protected] вернет только подключения к IPv4-адресу 1.2.3.4. IPv6-адреса могут быть указаны таким же образом. Прекурсор @ также можно использовать для одинакового указания имен хостов, но нельзя использовать одновременно удаленные IP-адреса и имена хостов.
-s обычно заставляет lsof отображать размер файла. Но в сочетании с флагом -i , -s работает по-другому. Вместо этого он позволяет пользователю указать протокол и статус для команды, которую необходимо вернуть.
-p ограничивает lsof определенным идентификатором процесса (PID). Несколько идентификаторов PID могут быть установлены с помощью общих, таких как -p 123 456 789. Идентификаторы процесса также могут быть исключены с помощью ^, как в 123, ^ 456, что, в частности, исключает PID 456.
-P отключает преобразование номеров портов в имена портов, ускоряя вывод.
-n отключает преобразование сетевых номеров в имена хостов. При использовании с -P выше, это может значительно ускорить вывод lsof.
Примеры
Как и netstat, просмотр некоторых примеров из lsof поможет отработать наше понимание.
Эта сложная команда выводит список всех TCP-соединений с именем хоста lsof.itap и портом 513. Он также будет запускать lsof без подключения имен к IP-адресам и портам, что значительно ускоряет выполнение команды.
Это вернет каждое TCP-соединение со статусом LISTEN . Это показывает все открытые порты TCP на вашем Mac. В нем также перечислены процессы, связанные с этими открытыми портами. Это значительное обновление по сравнению с netstat, в котором перечислены не более PID.
Возвращает все соединения not , принадлежащие текущему вошедшему в систему пользователю. Эта команда немного отличается от других, поэтому мы разберем ее подробно.
Каретка ^ используется для отрицания. Все, что соответствует тексту после каретки, будет удалено из результатов. Мы получаем имя текущего пользователя, выполнив команду whoami внутри команды lsof, в окружении $ () , чтобы lsof мог получить доступ к своим выводам в виде текста. Запуск с помощью sudo позволяет увидеть задачи, которые не принадлежат вам. Выполнение этой команды без sudo вернет пустой список.
Другие сетевые команды
Другие сетевые команды терминала, которые могут представлять интерес для проверки вашей сети, включают arp, ping и ipconfig.
В Linux я могу использовать netstat -pntl | grep $PORT или fuser -n tcp $PORT , чтобы узнать, какой процесс (PID) прослушивает указанный TCP-порт. Как получить ту же информацию о Mac OS X?
ОТВЕТЫ
Ответ 1
В macOS High Sierra используйте эту команду:
В старых версиях используйте одну из следующих форм:
Замените $PORT номером порта или разделенным запятыми списком номеров портов.
Флаг -n предназначен для отображения IP-адресов вместо имен хостов. Это заставляет команду выполняться намного быстрее, потому что поиск DNS для получения имен хостов может быть медленным (несколько секунд или минут для многих хостов).
Смотрите комментарии для получения дополнительной информации.
Ответ 2
Вы также можете использовать:
Это работает в Mavericks.
Ответ 3
Начиная с Yosemite (10.10), вплоть до Mojave (10.14), каждая версия macOS поддерживает это:
Ответ 4
Обновление января 2016 года
Неудивительно, что никто не предложил:
чтобы получить необходимую базовую информацию. Например, проверка порта 1337:
Другие варианты, в зависимости от обстоятельств:
Вы можете легко построить это, чтобы извлечь сам PID. Например:
который также эквивалентен (в результате) этой команде:
Для полноты, потому что часто используются вместе:
Чтобы убить PID:
или как один вкладыш:
Ответ 5
Это работает в Mavericks (OSX 10.9.2).
Ответ 6
в OS X вы можете использовать опцию -v для netstat, чтобы дать связанный pid.
вывод будет выглядеть следующим образом:
PID - это номер перед последним столбцом, 3105 для этого случая
Ответ 7
В macOS простой способ получить ID процесса, который прослушивает определенный порт с помощью netstat. Этот пример ищет процесс, обслуживающий контент через порт 80:
образец вывода
Второй из последнего столбца - это PID. Вверху это 715.
опции
-a - показать все порты, в том числе используемые серверами.
-n - показывать числа, не искать имена. Это делает команду намного быстрее
-v - подробный вывод, чтобы получить идентификаторы процесса
-w - поиск слов. В противном случае команда вернет информацию для портов 8000 и 8001, а не только "80"
LISTEN - предоставлять информацию только для портов в режиме LISTEN, т.е. серверов
Ответ 8
В последней версии macOS вы можете использовать эту команду:
Если вам трудно запомнить, то, возможно, вам следует создать функцию bash и экспортировать ее с более дружелюбным именем, например
а затем добавьте следующие строки в этот файл и сохраните его.
Теперь вы можете набрать listening_on 80 в вашем терминале и посмотреть, какой процесс прослушивает порт 80 .
Ответ 9
В Snow Leopard (OS X 10.6.8) работает "man lsof":
(фактическая запись вручную - 'lsof -i 4 -a -p 1234')
Предыдущие ответы не работали на Snow Leopard, но я пытался использовать "netstat -nlp", пока не увидел использование "lsof" в ответе pts.
Ответ 10
Я парень Linux. В Linux это очень легко с помощью netstat -ltpn или любой комбинации этих букв. Но в Mac OS X netstat -an | grep LISTEN самый гуманный. Другие очень уродливы и очень трудно запомнить при поиске и устранении неисправностей.
Ответ 11
Это показывает, кто что делает. Удалите -n, чтобы увидеть имена хостов (немного медленнее).
Ответ 12
Для LISTEN, УСТАНОВЛЕННЫХ и ЗАКРЫТЫХ портов
Только для портов LISTEN
Для определенного порта LISTEN, например: порт 80
Или, если вы просто хотите получить краткую сводку [сервис/приложения не описаны], зайдите в NETSTAT. Хорошая сторона здесь, не нужно sudo
Объясняя используемые предметы:
-n подавить имя хоста
-i для протоколов IPv4 и IPv6
-P опустить имена портов
-a [over netstat] для всех сокетов
-n [по netstat] не разрешать имена
Протестировано на Высокой Сьерре 10.13.3
Кстати, последний синтаксис netstat работает и на Linux
Ответ 13
Это сделало то, что мне нужно.
Ответ 14
Я сделал небольшой script, чтобы видеть не только того, кто слушает, но и отображает установленные соединения и в какие страны. Работает на OSX Siera
Это может быть полезно проверить, подключены ли вы к северу-корее!; -)
Ответ 15
Это хороший способ для MacOS High Sierra:
Ответ 16
Вдохновленный пользователем Brent Self:
lsof -i 4 -a | grep LISTEN
Ответ 17
Для macOS я использую две команды вместе, чтобы показать информацию о процессах, слушающих на машине, и процессах, подключающихся к удаленным серверам. Другими словами, чтобы проверить порты прослушивания и текущие (TCP) соединения на хосте, вы можете использовать две следующие команды вместе
Думаю, я добавлю свой вклад, надеюсь, это может в конечном итоге помочь кому-то.
2. Введите IP-адрес устройства для поиска: нижеприведенное поле покажет ситуацию сканирования порта, как показано на белом фоне выше.
Способ 2. Проверьте состояние порта с помощью команд терминала
1. Проверьте, какая программа занята портом
sudo lsof -i tcp:port
Например: sudo lsof -i tcp: 8082
2. Посмотрите PID процесса, вы можете убить процесс.
sudo kill -9 PID
Например: sudo kill -9 3210
Интеллектуальная рекомендация
WECHAT MILLY WAY POINT CAMENT CARD - СОВРЕМЕННЫЕ СТРАНИЦЫ ПРОГЛЯЮТНОЕ ЗНАЧЕНИЕ (Запрос)
WECHAT Small Pass Pass Value и значение приобретения: 1. Установите способ настройки идентификатора идентифицирует значение параметра, передаваемое после прыжка; 2, используя метод Data-XXXX для идент.
Текущая задача Узел больше экземпляров
[Linux] Программирование сетевых сокетов UDP
Что такое протокол UDP Протокол UDP называетсяПротокол пользовательских датаграмм UDP - протокол транспортного уровня Без установления соединения, ненадежная передача, ориентированная на дейтаграмму П.
Основная идея обработки больших данных - разделяй и властвуй
Разделяй и властвуй - «разделяй и властвуй» Как мы все знаем, компьютеры очень быстрые и используются людьми. Однако независимо от того, насколько быстрым является компьютер, способность о.
К вашим сетевым настройкам можно получить доступ с помощью некоторых общих команд терминала, которые, по большей части, требуют очень небольшой настройки для использования. Мы по-прежнему рекомендуем вам использовать приложение «Системные настройки» для настройки (если вы не довольны использованием терминала), но определить настройки сети терминала Mac просто.
Использование сети
Средство настройки сети предлагает огромное количество информации о текущей конфигурации сети Mac. Вы можете использовать его, чтобы найти имя вашего компьютера, IP-адрес, текущую сеть WiFi и многое другое. Как следует из названия, вы также можете использовать его для изменения настроек, но мы все равно рекомендуем использовать Системные настройки для этого.
Вы можете просмотреть полный список потенциальных сетевых команд терминала Mac с помощью инструмента networksetup, набрав на терминале networksetup -help. Появится список справки с различными примерами использования инструмента для просмотра и изменения различных настроек сети.
Примеры команд настройки сети, которые вы можете использовать для просмотра информации о сети:
- Для просмотра имени вашего компьютера Mac: networksetup -getcomputername.
- Для просмотра списка всех сетевых подключений Mac: networksetup -listallhardwareports
- Чтобы отобразить текущую подключенную сеть WiFi: networksetup -getairportname deviceid. Замените deviceid на идентификатор устройства из команды networksetup -listallhardwareportsports.
Использование ipconfig
Средство ipconfig является общим для компьютеров под управлением Windows и macOS, но, в отличие от версии для Windows, это не самый полезный инструмент для изменения настроек сети. Однако, где это может быть полезно, перечисляет информацию о вашей текущей конфигурации сети.
Набрав ipconfig в терминале, вы получите список всех доступных команд, но они включают:
- Для просмотра текущего IP-адреса сети: ipconfig getifaddr deviceid. Замените deviceid на правильный идентификатор сетевого устройства (например, en0). Введите networksetup -listallhardwareports, если вы этого не знаете.
- Чтобы просмотреть текущий сетевой DNS-сервер: ipconfig getoption deviceid имя_домена_сервера (заменив deviceid на идентификатор вашего сетевого устройства).
Использование ifconfig
Однако вам нужно всего лишь набрать на терминале ifconfig, чтобы просмотреть подробный список информации обо всех сетевых устройствах, подключенных или встроенных в ваш Mac. Это включает в себя IP и MAC-адреса, текущее состояние устройства и многое другое.
Вы можете просмотреть конкретную информацию, указав вместо этого идентификатор устройства (например, ifconfig en0).
Используя пинг
Хотя вы не можете использовать ее для просмотра любой информации о сети, вы можете использовать команду ping, чтобы проверить, можете ли вы установить связь с другим сетевым устройством. Это может быть устройство в вашей сети (например, сетевой маршрутизатор) или домен веб-сайта или IP-адрес для проверки вашего интернет-соединения.
Вы захотите использовать ping в качестве средства устранения неполадок, когда на вашем устройстве возникают проблемы с подключением к другому устройству в вашей локальной сети или к устройству или веб-сайту в Интернете. Он покажет время, необходимое для отправки и возврата информации, и будет работать непрерывно, пока вы не решите прекратить ее.
Аналогично, ping 192.168.1.1 проверит IP-адрес для многих локальных сетевых маршрутизаторов (192.168.1.1).
Использование netstat
Средство netstat выводит информацию о ваших текущих входящих и исходящих сетевых подключениях. Любые подключения к вашему Mac могут быть перечислены с помощью этого инструмента. Компьютеры на базе Windows и Linux также используют netstat, но есть некоторые различия, с различными доступными флагами для пользователей Mac.
Есть несколько способов использовать netstat для просмотра текущих сетевых настроек или подключений. К ним относятся:
- Текущий список всех активных подключений к Интернету: netstat
- Чтобы просмотреть данные соединения для интерфейса: netstat -l deviceid, заменив deviceid на имя вашего сетевого интерфейса (например, netstat -l en0).
- Чтобы просмотреть таблицу IP-маршрутизации: netstat -nr или netstat -r
- Чтобы показать всю статистику сети: netstat -s и netstat -i
Для получения дополнительной информации о том, как использовать команду netstat и чтобы помочь расшифровать некоторые сложные технические термины, введите man netstat, чтобы просмотреть и прочитать включенную справочную страницу netstat.
Использование lsof
Вы можете использовать команду lsof как способ просмотра любых запущенных процессов на вашем Mac, которые имеют активные сетевые подключения. Это заменяет аналогичные функции, которые вы найдете с помощью команды netstat на ПК с Windows или Linux.
Есть несколько способов использовать команду терминала lsof Mac для просмотра сетевых данных. К ним относятся:
- Для просмотра всех открытых сетевых подключений: lsof -i
- Чтобы посмотреть, какое программное обеспечение использует какие порты: lsof -n -i4TCP
Для получения дополнительной информации введите man lsof, чтобы просмотреть страницу руководства для команды lsof.
Используя arp
Если вы хотите просмотреть список всех активных устройств в локальной сети, вы можете использовать инструмент arp. Это перечислит IP и MAC-адреса для любых устройств, которые ваш Mac обнаружил в вашей сети, на основе ARP (Address Resolution Protocol) трансляций, которые эти устройства сделали.
Набрав в терминале arp -a, вы получите список этих устройств.
Затем вы можете объединить информацию, найденную здесь, с другими командами, такими как ping, чтобы определить, являются ли эти устройства все еще активными и могут ли быть переданы с вашего Mac.
Настройка параметров сети Mac
С помощью этих инструментов вы сможете увидеть настройки сети вашего терминала Mac, чтобы определить, какие настройки вы можете (или нужно) изменить. Например, вам может понадобиться подделать MAC-адрес на вашем Mac, чтобы обойти фильтрацию MAC-адресов в гостевой сети WiFi.
Это также может помочь вам выявить проблемы, особенно если ваш Mac регулярно теряет соединение WiFi. Если на вашем Mac возникают проблемы, такие приложения, как OnyX для Mac, могут помочь вам быстро вернуться к работе.
Читайте также: