Как использовать netstat, чтобы показать, какой процесс прослушивает порт

Я на OS X ноутбук пума и есть пара бродячих коробки на нем. Я пытаюсь выяснить, какой процесс слушает порт 8080. Мои варианты производят как сто строк, но ни с конкретным номером порта. Я предполагаю что-то вроде:

netstat -XXX | grep 8080
20
задан Nathan
18.05.2023 22:22 Количество просмотров материала 3269
Распечатать страницу

7 ответов

к сожалению, на OSX вы застряли с BSD netstat , который не покажет вам идентификатор процесса, подключенного к данному порту. Вместо этого вам нужно использовать lsof. Синтаксис, который необходимо использовать:

lsof -i :8080

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

lsof -i :53237
COMMAND   PID  USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
GoogleTal 927 guest   29u  IPv4 0x2c3f7f95244855c3      0t0  TCP localhost:53237 (LISTEN)

это говорит мне, что порт 53237 используется процессом ID 927. При чтении командное поле имейте в виду, что эти выходные данные усечены, на самом деле полное имя двоичного файла GoogleTalkPlugin.

46
отвечен Scott Pack 2023-05-20 06:10

Это то, что мне нравится использовать при поиске PID порта прослушивания. Для использования в Linux: netstat -tunlp

  • сеть N
  • л прослушивающие порты
  • процесс P
  • t tcp
  • u udp

дополнительную информацию можно найти на справочных страницах.

7
отвечен CDSU 2023-05-20 08:27

Я был в процессе изменения netstat на OS X для обеспечения этой функции и наткнулся на то, что -v даст вам pid, связанный с сокетом.

5
отвечен Sean Hamilton 2023-05-20 10:44

чтобы узнать конкретный порт, используйте команду netstat

  netstat -an | grep ':8080'
2
отвечен 2023-05-20 13:01

для меня следующие две строки лучше всего работают, чтобы показать, какие приложения имеют открытые порты прослушивания и туннель:

netstat -Watn | grep LISTEN
lsof -Pnl +M -i -cmd | grep LISTEN
2
отвечен Tomachi 2023-05-20 15:18

от man netstat

-п --программа Показать PID и имя программы, которой принадлежит каждый сокет.

Я обычно просто делаю это: netstat-antup | grep 8080

1
отвечен Hermes Conrad 2023-05-20 17:35

ниже команда показывает подключение:

netstat -antop | grep :8080

для просмотра полного потока в режиме реального времени вы можете использовать watch:

watch -d -t -n 1 'lsof -n -i :8080'
0
отвечен suhas 2023-05-20 19:52

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх