Я ищу список всех портов, которые в настоящее время прослушивает PID.
Как бы вы посоветовали мне получить такие данные о процессе?
ip
monitoring
port-forwarding
iproute
ThorSummoner
источник
источник
ss
фильтрация по PID отсутствует, за исключением сокетов netlink.Ответы:
Вы можете использовать
ss
из пакета iproute2 (который похож наnetstat
):или (для более старой версии iproute2):
Замените 1234 на PID программы.
источник
-u
или-t
для UDB или TCP только. : +1: И все они могут быть сложены следующим образом:,ss -tlnp
И чтобы исключить вывод ширины заливки, что, как я нахожу, раздражает, вы можетеss -tlnp | cat
ss -nlp | cat
, это примерно, покажи мне процессы прослушивания (-l), их номера портов (-n) и информацию о своих процессах (-p), и не пытайтесь приспособить вывод к моей оболочке| cat
( или меньше или что угодно). Мне потребовалось два года, чтобы привыкнуть к этому: DЯ не знаю, как использовать
iproute2
инструменты. Но как обходной путь, вы можете попробовать это.должен дать вам информацию, которую вы ищете.
Выход
Я получил эту команду отсюда, но не уверен в точной ссылке, так как все они записаны в записной книжке. Но вы также можете проверить оттуда.
источник
Вы можете использовать
netstat
для этого, чтобы выяснить pid каждого процесса прослушивания.netstat - печать сетевых подключений, таблиц маршрутизации, статистики интерфейса, маскарадных подключений и многоадресного членства
-a, --all Показать сокеты как для прослушивания, так и для не прослушивания (для TCP это означает установленные соединения). С опцией --interfaces показывать интерфейсы, которые не помечены
--numeric, -n Показывать числовые адреса вместо попыток определить символические имена хоста, порта или пользователя.
-p, --program Показать PID и имя программы, которой принадлежит каждый сокет.
Вот пример:
источник
netstat
это устарело с помощью инструментов iproute2, и я стараюсь этого избежать.Ответ @ jofel показывает вам подходящий инструмент,
ss
вот замены для других сетевых инструментов в iproute2.Устаревшие команды и их эквиваленты iproute2 следующие:
Основной список также здесь, в Википедии: http://en.wikipedia.org/wiki/Iproute2 .
Рекомендации
источник
Другой способ,
lsof
если вы не знаете PID, а просто название программы:источник
lsof
4.89 на Ubuntu 16.04pgrep <program name>
затем выберите PID, который вам нужен для вышеуказанной команды. замена$(pgrep [programName])
на PID #Вы пробовали, это также делает то же самое
источник